From 480985c585d5f63c9215581456e3dddcccddacc1 Mon Sep 17 00:00:00 2001 From: Clay Loveless Date: Tue, 24 Mar 2026 23:03:41 -0400 Subject: [PATCH] feat!: rename bito-lint to bito, adopt ah-ah-ah for token counting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BREAKING CHANGE: Binary, crate names, and env vars all changed. - Rename crates: bito-lint → bito, bito-lint-core → bito-core - Binary: bito-lint → bito - Env vars: BITO_LINT_* → BITO_* (LOG_PATH, LOG_DIR, TOKENIZER, DIALECT, ENV) - Version: 0.3.0 → 1.0.0 - License: MIT → Apache-2.0 OR MIT - Repo URL: github.com/claylo/bito-lint → github.com/claylo/bito - Replace inline token counting with ah-ah-ah dependency - Remove claude_vocab.json (38k lines), aho-corasick, bpe-openai deps - Resolve claylo-rs template 1.0.0 update (rmcp 1.2, observability to core) - Config discovery still finds .bito-lint.* files for backward compat --- .cargo/config.toml | 5 +- .claude/CLAUDE.md | 8 - .claude/commands/clippy.md | 12 - .claude/commands/handoff.md | 11 - .claude/commands/pickup.md | 9 - .claude/commands/pr.md | 42 - .claude/commands/report.md | 24 - .claude/plans/.gitkeep | 0 .claude/settings.json | 94 +- .claude/skills/adding-commands/SKILL.md | 393 - .../capturing-decisions/ADR_TEMPLATE.md | 75 - .claude/skills/capturing-decisions/SKILL.md | 71 - .claude/skills/markdown-authoring/SKILL.md | 41 - .../markdown-authoring/reference/sembr.md | 240 - .claude/skills/using-git/SKILL.md | 16 - .github/ISSUE_TEMPLATE/bug_report.yml | 4 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yml | 6 +- .../generate-release-changelog/action.yml | 35 + .github/actions/setup-cargo-tools/action.yml | 4 +- .github/actions/setup-rust-cache/action.yml | 6 +- .github/coda.yml | 13 +- .github/docs/README.md | 2 +- .github/docs/releases.md | 138 +- .github/formula.rb.tmpl | 20 +- .github/workflows/cd.yml | 56 +- .github/workflows/ci.yml | 4 + .github/workflows/dependabot-issues.yml | 12 +- .github/workflows/lint-pr.yml | 7 +- .github/workflows/release.yml | 30 +- .justfile | 30 +- .repo.yml | 13 +- Cargo.lock | 104 +- Cargo.toml | 19 +- README.md | 198 +- SECURITY.md | 11 +- cliff.toml | 4 +- ...to-lint.toml.example => bito.toml.example} | 25 +- ...to-lint.yaml.example => bito.yaml.example} | 25 +- .../{bito-lint-core => bito-core}/Cargo.toml | 18 +- .../src/analysis/acronyms.rs | 0 .../src/analysis/cliches.rs | 0 .../src/analysis/complex_paragraphs.rs | 0 .../src/analysis/conjunction_starts.rs | 0 .../src/analysis/consistency.rs | 0 .../src/analysis/diction.rs | 0 .../src/analysis/echoes.rs | 0 .../src/analysis/jargon.rs | 0 .../src/analysis/mod.rs | 0 .../src/analysis/overused.rs | 0 .../src/analysis/pacing.rs | 0 .../src/analysis/repeated.rs | 0 .../src/analysis/reports.rs | 0 .../src/analysis/sensory.rs | 0 .../src/analysis/sentence_length.rs | 0 .../src/analysis/sticky.rs | 0 .../src/analysis/style.rs | 0 .../src/analysis/transitions.rs | 0 .../src/completeness.rs | 0 .../src/config.rs | 34 +- .../src/dictionaries/abbreviations.rs | 0 .../src/dictionaries/irregular_verbs.rs | 0 .../src/dictionaries/mod.rs | 0 .../src/dictionaries/syllable_dict.rs | 0 .../src/directives.rs | 0 .../src/error.rs | 2 +- .../src/grammar/checker.rs | 0 .../src/grammar/mod.rs | 0 .../src/grammar/passive_voice.rs | 0 .../{bito-lint-core => bito-core}/src/lib.rs | 8 +- .../{bito-lint-core => bito-core}/src/lint.rs | 0 .../src/markdown.rs | 0 .../src/observability.rs | 14 +- .../src/readability.rs | 0 .../src/rules.rs | 0 .../{bito-lint-core => bito-core}/src/text.rs | 0 crates/bito-core/src/tokens.rs | 217 + .../src/word_lists.rs | 0 crates/bito-lint-core/src/claude_vocab.json | 38362 ---------------- crates/bito-lint-core/src/tokens.rs | 403 - crates/{bito-lint => bito}/Cargo.toml | 19 +- .../src/commands/analyze.rs | 6 +- .../src/commands/completeness.rs | 2 +- .../src/commands/custom.rs | 2 +- .../src/commands/doctor.rs | 16 +- .../src/commands/grammar.rs | 2 +- .../{bito-lint => bito}/src/commands/info.rs | 2 +- .../{bito-lint => bito}/src/commands/lint.rs | 6 +- .../{bito-lint => bito}/src/commands/mod.rs | 0 .../src/commands/readability.rs | 2 +- .../{bito-lint => bito}/src/commands/serve.rs | 2 +- .../src/commands/tokens.rs | 2 +- crates/{bito-lint => bito}/src/lib.rs | 17 +- crates/{bito-lint => bito}/src/main.rs | 10 +- crates/{bito-lint => bito}/src/server.rs | 57 +- crates/{bito-lint => bito}/tests/cli.rs | 0 .../tests/config_integration.rs | 0 deny.toml | 2 +- docs/README.md | 62 +- docs/tokens.md | 8 +- rust-toolchain.toml | 2 +- scripts/add-crate | 19 + scripts/rename.sh | 6 +- xtask/Cargo.toml | 6 +- xtask/src/commands/completions.rs | 4 +- xtask/src/commands/install.rs | 9 +- xtask/src/commands/man.rs | 6 +- xtask/src/main.rs | 8 +- 108 files changed, 909 insertions(+), 40235 deletions(-) delete mode 100644 .claude/CLAUDE.md delete mode 100644 .claude/commands/clippy.md delete mode 100644 .claude/commands/handoff.md delete mode 100644 .claude/commands/pickup.md delete mode 100644 .claude/commands/pr.md delete mode 100644 .claude/commands/report.md delete mode 100644 .claude/plans/.gitkeep delete mode 100644 .claude/skills/adding-commands/SKILL.md delete mode 100644 .claude/skills/capturing-decisions/ADR_TEMPLATE.md delete mode 100644 .claude/skills/capturing-decisions/SKILL.md delete mode 100644 .claude/skills/markdown-authoring/SKILL.md delete mode 100644 .claude/skills/markdown-authoring/reference/sembr.md delete mode 100644 .claude/skills/using-git/SKILL.md create mode 100644 .github/actions/generate-release-changelog/action.yml rename config/{bito-lint.toml.example => bito.toml.example} (87%) rename config/{bito-lint.yaml.example => bito.yaml.example} (87%) rename crates/{bito-lint-core => bito-core}/Cargo.toml (79%) rename crates/{bito-lint-core => bito-core}/src/analysis/acronyms.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/cliches.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/complex_paragraphs.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/conjunction_starts.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/consistency.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/diction.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/echoes.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/jargon.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/mod.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/overused.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/pacing.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/repeated.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/reports.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/sensory.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/sentence_length.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/sticky.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/style.rs (100%) rename crates/{bito-lint-core => bito-core}/src/analysis/transitions.rs (100%) rename crates/{bito-lint-core => bito-core}/src/completeness.rs (100%) rename crates/{bito-lint-core => bito-core}/src/config.rs (97%) rename crates/{bito-lint-core => bito-core}/src/dictionaries/abbreviations.rs (100%) rename crates/{bito-lint-core => bito-core}/src/dictionaries/irregular_verbs.rs (100%) rename crates/{bito-lint-core => bito-core}/src/dictionaries/mod.rs (100%) rename crates/{bito-lint-core => bito-core}/src/dictionaries/syllable_dict.rs (100%) rename crates/{bito-lint-core => bito-core}/src/directives.rs (100%) rename crates/{bito-lint-core => bito-core}/src/error.rs (98%) rename crates/{bito-lint-core => bito-core}/src/grammar/checker.rs (100%) rename crates/{bito-lint-core => bito-core}/src/grammar/mod.rs (100%) rename crates/{bito-lint-core => bito-core}/src/grammar/passive_voice.rs (100%) rename crates/{bito-lint-core => bito-core}/src/lib.rs (94%) rename crates/{bito-lint-core => bito-core}/src/lint.rs (100%) rename crates/{bito-lint-core => bito-core}/src/markdown.rs (100%) rename crates/{bito-lint => bito-core}/src/observability.rs (97%) rename crates/{bito-lint-core => bito-core}/src/readability.rs (100%) rename crates/{bito-lint-core => bito-core}/src/rules.rs (100%) rename crates/{bito-lint-core => bito-core}/src/text.rs (100%) create mode 100644 crates/bito-core/src/tokens.rs rename crates/{bito-lint-core => bito-core}/src/word_lists.rs (100%) delete mode 100644 crates/bito-lint-core/src/claude_vocab.json delete mode 100644 crates/bito-lint-core/src/tokens.rs rename crates/{bito-lint => bito}/Cargo.toml (75%) rename crates/{bito-lint => bito}/src/commands/analyze.rs (98%) rename crates/{bito-lint => bito}/src/commands/completeness.rs (97%) rename crates/{bito-lint => bito}/src/commands/custom.rs (98%) rename crates/{bito-lint => bito}/src/commands/doctor.rs (95%) rename crates/{bito-lint => bito}/src/commands/grammar.rs (99%) rename crates/{bito-lint => bito}/src/commands/info.rs (99%) rename crates/{bito-lint => bito}/src/commands/lint.rs (97%) rename crates/{bito-lint => bito}/src/commands/mod.rs (100%) rename crates/{bito-lint => bito}/src/commands/readability.rs (98%) rename crates/{bito-lint => bito}/src/commands/serve.rs (96%) rename crates/{bito-lint => bito}/src/commands/tokens.rs (97%) rename crates/{bito-lint => bito}/src/lib.rs (89%) rename crates/{bito-lint => bito}/src/main.rs (95%) rename crates/{bito-lint => bito}/src/server.rs (95%) rename crates/{bito-lint => bito}/tests/cli.rs (100%) rename crates/{bito-lint => bito}/tests/config_integration.rs (100%) diff --git a/.cargo/config.toml b/.cargo/config.toml index 56401a9..9deba5b 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,7 +1,5 @@ # .cargo/config.toml -# -# Most workflows are handled by justfile recipes. This config focuses on -# build performance and settings that cargo needs to know at invocation time. + [alias] # xtask convenience (use: cargo xtask ) @@ -9,6 +7,7 @@ # optimization doesn't help xtask commands (completions, man pages, etc). xtask = "run --package xtask --" + [cargo-new] vcs = "git" diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md deleted file mode 100644 index ec231aa..0000000 --- a/.claude/CLAUDE.md +++ /dev/null @@ -1,8 +0,0 @@ -# bito-lint - -IMPORTANT: - -* See `.claude/skills/` for detailed conventions. -* See `.claude/rules/` project constitution. - -@../AGENTS.md diff --git a/.claude/commands/clippy.md b/.claude/commands/clippy.md deleted file mode 100644 index f411571..0000000 --- a/.claude/commands/clippy.md +++ /dev/null @@ -1,12 +0,0 @@ -Run `cargo clippy` and fix all warnings and errors iteratively. - -1. Run `cargo clippy --all-features --all-targets --message-format=short -- -D warnings` to treat warnings as errors -2. Parse the issues and create a todo list -3. For each clippy lint: - - Read the relevant file to understand context - - Apply the suggested fix or a better alternative - - Mark the todo as complete -4. Re-run clippy to verify fixes and catch any new issues -5. Repeat until clippy passes cleanly - -Prefer idiomatic Rust solutions. If a clippy suggestion would make code worse, use `#[allow(clippy::lint_name)]` with a comment explaining why - but this should be rare. diff --git a/.claude/commands/handoff.md b/.claude/commands/handoff.md deleted file mode 100644 index 21d4c42..0000000 --- a/.claude/commands/handoff.md +++ /dev/null @@ -1,11 +0,0 @@ -Write a handoff document to `.handoffs/` so a future Claude session can continue your work. - -1. Generate a filename using the current date and a short descriptor of the work: `YYYY-MM-DD-short-description.md` -2. Create the `.handoffs/` directory if it doesn't exist -3. Write a markdown file containing: - - **Current State**: What you were working on, what's done, what's in progress - - **Next Steps**: What remains to be done - - **Key Files**: Important files the next session should read - - **Gotchas**: Any non-obvious issues or context - - **Commands**: Useful commands to run to get started -4. Reply with: "🫡 may I, like the phoenix, rise from my ashes" diff --git a/.claude/commands/pickup.md b/.claude/commands/pickup.md deleted file mode 100644 index 76d91d9..0000000 --- a/.claude/commands/pickup.md +++ /dev/null @@ -1,9 +0,0 @@ -Continue work from the latest handoff document. - -1. List files in `.handoffs/` directory sorted by date (newest first) -2. Read the most recent handoff document -3. Summarize what was being worked on and what remains -4. Read the key files mentioned in the handoff -5. Continue the work from where the previous session left off - -If no handoffs exist, say so and ask what the user wants to work on. diff --git a/.claude/commands/pr.md b/.claude/commands/pr.md deleted file mode 100644 index 65c0846..0000000 --- a/.claude/commands/pr.md +++ /dev/null @@ -1,42 +0,0 @@ -Create a pull request for the current work, or update an existing one. - -Arguments: $ARGUMENTS (optional: branch name and/or PR title) - -All PR titles MUST follow Conventional Commit conventions. - -1. Check `git status` to see what changes exist -2. Check current branch: `git branch --show-current` -3. **If on a non-main branch**, check for existing PR: - - Run `gh pr view --json state,url,number` to see if a PR already exists - - If PR exists and is open: go to **Update existing PR** flow below - - If no PR exists: continue to step 4 -4. **If on `main`**, create a new branch: - - Use the argument as branch name if provided - - Otherwise, generate a descriptive branch name from the changes -5. Stage and commit changes: - - Run `git add -A` - - Create a **conventional commit** with a clear message describing the changes -6. Push the branch: `git push -u origin ` -7. Create the PR: `gh pr create --title "" --body ""` -8. Report the PR URL - -## Update existing PR flow - -When a PR already exists and is open: - -1. First, commit and push any pending changes (run `/push`) -2. Analyze all commits in the PR: - - Run `gh pr view --json commits` to get all commits - - Run `git log main..HEAD --oneline` for a quick summary - - Run `git diff main...HEAD --stat` to see all files changed -3. Generate an updated title and description: - - Title should summarize the overall purpose of all changes - - Description should include: - - **Summary**: 2-3 sentences explaining what the PR accomplishes - - **Changes**: Bullet points of key changes (group related commits) - - **Testing**: Any relevant testing notes -4. Update the PR: - - Run `gh pr edit --title "New title" --body "New description"` -5. Report the updated PR URL - -Remember: NEVER push directly to main. Always create a branch and PR. diff --git a/.claude/commands/report.md b/.claude/commands/report.md deleted file mode 100644 index d68f6c0..0000000 --- a/.claude/commands/report.md +++ /dev/null @@ -1,24 +0,0 @@ -Create a GitHub issue with proper context. - -Arguments: $ARGUMENTS (required: brief description of the problem) - -1. **Understand the problem**: Parse the description from arguments -2. **Gather context**: - - Search the codebase for relevant files - - Run commands to reproduce or investigate (e.g., if it's a crash, try to reproduce it) - - Check for related issues: `gh issue list --search "relevant keywords"` -3. **Ask clarifying questions** if needed: - - What's the expected behavior? - - How to reproduce? - - Any error messages or stack traces? -4. **Draft the issue** with: - - Clear title - - Description of the problem - - Steps to reproduce (if applicable) - - Relevant code snippets or file references - - Environment details if relevant -5. **Create the issue**: `gh issue create --title "..." --body "..."` -6. Report the issue URL - -Example: `/report benchmark xxx is segfaulting, must debug with valgrind` -→ Investigates the benchmark, tries to reproduce, gathers stack trace, creates issue with all context. diff --git a/.claude/plans/.gitkeep b/.claude/plans/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/.claude/settings.json b/.claude/settings.json index ea00876..0cf3a6c 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,79 +1,33 @@ { "permissions": { "allow": [ - "Bash(cargo add:*)", - "Bash(cargo build:*)", - "Bash(cargo check:*)", - "Bash(cargo clean:*)", - "Bash(cargo clippy:*)", - "Bash(cargo deny:*)", - "Bash(cargo doc:*)", - "Bash(cargo fmt:*)", - "Bash(cargo llvm-cov:*)", - "Bash(cargo nextest run:*)", - "Bash(cargo run:*)", - "Bash(cargo search:*)", - "Bash(cargo test:*)", - "Bash(cargo tree:*)", - "Bash(cargo xtask:*)", - "Bash(chmod:*)", - "Bash(find:*)", - "Bash(gh api:*)", - "Bash(gh pr checks:*)", - "Bash(gh pr create:*)", - "Bash(gh pr list:*)", - "Bash(gh pr view:*)", - "Bash(gh run list:*)", - "Bash(gh run view:*)", - "Bash(gh run watch:*)", - "Bash(git add:*)", - "Bash(git branch:*)", - "Bash(git checkout:*)", - "Bash(git commit:*)", - "Bash(git diff:*)", - "Bash(git fetch:*)", - "Bash(git log:*)", - "Bash(git rev-parse:*)", - "Bash(git status:*)", - "Bash(git switch:*)", - "Bash(git worktree:*)", - "Bash(grep:*)", - "Bash(just:*)", - "Bash(jq:*)", - "Bash(shellspec:*)", - "Bash(yj:*)", - "Bash(yq:*)", - "Bash(ls:*)", - "Bash(mkdir:*)", - "Bash(sort:*)", - "Bash(python3:*)", - "Bash(uv run:*)", - "Bash(tree:*)", - "Bash(wc:*)", - "Task(Explore)", - "Task(Plan)", - "TaskCreate", - "TaskGet", - "Skill", - "TaskList", - "TaskUpdate", - "Grep", - "Glob", + "Bash(*)", + "Edit", + "Write", "Read", + "Glob", + "Grep", + "Skill", + "WebFetch(domain:*.readthedocs.io)", "WebFetch(domain:api.anthropic.com)", - "WebFetch(domain:readthedocs.io)", - "WebFetch(domain:github.io)", - "WebFetch(domain:github.com)", - "WebFetch(domain:lib.rs)", - "WebFetch(domain:docs.rs)", + "WebFetch(domain:code.claude.com)", "WebFetch(domain:crates.io)", - "WebFetch(domain:registry.npmjs.org)", + "WebFetch(domain:docs.rs)", + "WebFetch(domain:github.com)", "WebFetch(domain:raw.githubusercontent.com)", - "WebSearch" + "WebSearch", + "Write(commit.txt)", + "Write(*/commit.txt)" + ], + "deny": [ + "Bash(git add -f:*)", + "Bash(git push --force:*)", + "Bash(git reset --hard:*)", + "Bash(rm -rf:*)", + "Read(**/.env*)", + "Read(**/secrets/**)", + "Read(~/.ssh/**)", + "Read(~/.aws/**)" ] - }, - "enableAllProjectMcpServers": true, - "enabledMcpjsonServers": [ - "github" - ] + } } diff --git a/.claude/skills/adding-commands/SKILL.md b/.claude/skills/adding-commands/SKILL.md deleted file mode 100644 index e383845..0000000 --- a/.claude/skills/adding-commands/SKILL.md +++ /dev/null @@ -1,393 +0,0 @@ ---- -name: adding-commands -description: Guides agents through adding new CLI subcommands or xtask commands to this project. Use when the user asks to add a new command, subcommand, or xtask, or when implementing new CLI functionality. ---- - -# Adding Commands to bito-lint - -Use this skill when adding new CLI subcommands or xtask development commands. - -## Architecture Overview - -This project uses a structured command pattern: - -| Layer | Location | Purpose | -|-------|----------|---------| -| CLI parsing | `crates/bito-lint/src/lib.rs` | `Cli` struct with clap derive | -| Command dispatch | `crates/bito-lint/src/main.rs` | Match on `Commands` enum | -| Command impl | `crates/bito-lint/src/commands/*.rs` | Actual logic | -| Core library | `crates/bito-lint-core/` | Shared logic, config, errors | -| Build tasks | `xtask/` | Development/maintenance commands | - ---- - -## Adding a CLI Command - -### Step 1: Define the command args - -Create `crates/bito-lint/src/commands/.rs`: - -```rust -//! command implementation - -use clap::Args; -use tracing::{debug, info, instrument}; -use bito_lint_core::Config; - - - -/// Arguments for the `` subcommand. -#[derive(Args)] -pub struct Args { - /// Example flag - #[arg(long)] - pub verbose: bool, - - /// Example positional argument - pub input: Option, -} - -#[instrument(skip(config), fields(command = ""))] -pub fn cmd_(args: Args, config: &Config) -> anyhow::Result<()> { - debug!(?config.log_level, "executing command"); -info!(input = ?args.input, "processing"); - - // Your implementation here - - Ok(()) -} - - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_cmd__succeeds() { - let args = Args { verbose: false, input: None }; -let config = Config::default(); - assert!(cmd_(args, &config).is_ok()); -} -} -``` - -### Step 2: Export from mod.rs - -Add to `crates/bito-lint/src/commands/mod.rs`: - -```rust -pub mod ; -``` - -### Step 3: Add to Commands enum - -In `crates/bito-lint/src/lib.rs`, add the variant: - -```rust -use crate::commands::::Args; - -pub enum Commands { - // ... existing commands ... - - /// Description of what does - (Args), -} -``` - -### Step 4: Wire up in main.rs - -In `crates/bito-lint/src/main.rs`, add the match arm: - -```rust -match cli.command { - // ... existing arms ... -Commands::(args) => commands::::cmd_(args, &config), -} -``` - -### Step 5: Add CLI integration tests - -Add to `crates/bito-lint/tests/cli.rs`: - -```rust -#[test] -fn _basic_usage() { - Command::cargo_bin(env!("CARGO_PKG_NAME")) - .unwrap() - .arg("") - .assert() - .success(); -} - -#[test] -fn _with_flags() { - Command::cargo_bin(env!("CARGO_PKG_NAME")) - .unwrap() - .args(["", "--verbose"]) - .assert() - .success(); -} -``` - ---- - -## Adding an xtask Command - -xtask commands are for development/maintenance tasks, not runtime commands. They don't use the app's config or logging. - -### Step 1: Create the command file - -Create `xtask/src/commands/.rs`: - -```rust -//! xtask command - -use clap::Args; -use std::process::Command; - -use crate::workspace_root; - -#[derive(Args, Debug)] -pub struct Args { - /// Example option - #[arg(long)] - pub dry_run: bool, -} - -pub fn cmd_(args: Args) -> Result<(), String> { - let root = workspace_root(); - - if args.dry_run { - println!("Would run in {:?}", root); - return Ok(()); - } - - // Run external command example: - let status = Command::new("cargo") - .current_dir(&root) - .args(["check", "--all-targets"]) - .status() - .map_err(|e| format!("Failed to run cargo: {}", e))?; - - if !status.success() { - return Err("Command failed".into()); - } - - Ok(()) -} -``` - -### Step 2: Export and wire up - -In `xtask/src/commands/mod.rs`: -```rust -pub mod ; -``` - -In `xtask/src/main.rs`, add to `Task` enum: -```rust -/// Description of what does -(Args), -``` - -And add the match arm: -```rust -Task::(args) => commands::::cmd_(args), -``` - ---- - - -## Observability Patterns - -### Tracing Macros - -Use these tracing macros for structured logging: - -```rust -use tracing::{trace, debug, info, warn, error, instrument, span, Level}; - -// Simple messages -trace!("very detailed info"); -debug!("debugging info"); -info!("normal operation"); -warn!("something unexpected"); -error!("something failed"); - -// Structured fields -info!(user_id = %user.id, action = "login", "user logged in"); -debug!(count = items.len(), "processing items"); -error!(error = ?err, path = %file_path, "failed to read file"); - -// Field formatting: -// %value - Display formatting -// ?value - Debug formatting -// value - direct (must impl Value trait) -``` - -### Instrumenting Functions - -Use `#[instrument]` to automatically create spans: - -```rust -#[instrument(skip(config), fields(command = "my_cmd"))] -pub fn cmd_my_command(args: MyArgs, config: &Config) -> anyhow::Result<()> { - // Function body is automatically wrapped in a span - // Arguments are recorded as span fields (except `config` which we skip) - - debug!("inside the span"); - - Ok(()) -} -``` - -Skip large or sensitive arguments: -```rust -#[instrument(skip(password, large_data), fields(user = %username))] -``` - - - ---- - -## Config Integration - -### Accessing Config in Commands - -Config is loaded in `main.rs` and passed to commands: - -```rust -// In main.rs - config is already loaded -let config = ConfigLoader::new() - .with_project_search(std::env::current_dir()?) - .load()?; - -// Pass to your command -Commands::MyCmd(args) => commands::my_cmd::cmd_my_cmd(args, &config), -``` - -### Using Config Values - -```rust -pub fn cmd_my_cmd(args: MyArgs, config: &Config) -> anyhow::Result<()> { - // Access config fields - let log_level = config.log_level.as_str(); -// Config fields are defined in: -// crates/bito-lint-core/src/config.rs -Ok(()) -} -``` - -### Adding New Config Fields - -1. Add field to `Config` struct in `config.rs` -2. Add default in `impl Default for Config` -3. Update example configs in `config/bito-lint.{toml,yaml}.example` - - ---- - -## Error Handling Patterns - -### Use anyhow for Application Errors - -```rust -use anyhow::{Context, Result, bail, ensure}; - -pub fn cmd_example(args: ExampleArgs) -> Result<()> { - // Add context to errors - let content = std::fs::read_to_string(&args.path) - .with_context(|| format!("Failed to read {}", args.path.display()))?; - - // Early return with error - if content.is_empty() { - bail!("File is empty: {}", args.path.display()); - } - - // Assert with error - ensure!(!content.is_empty(), "File must not be empty"); - - Ok(()) -} -``` - - -### Use thiserror for Library Errors - -In `crates/bito-lint-core/src/error.rs`: - -```rust -use thiserror::Error; - -#[derive(Debug, Error)] -pub enum CoreError { - #[error("configuration error: {message}")] - Config { message: String }, - - #[error("failed to process {path}")] - Processing { - path: String, - #[source] - source: std::io::Error, - }, -} -``` - - ---- - -## JSON Output Pattern - -Commands that produce data should support `--json` for scripting: - -```rust -use serde::Serialize; - -#[derive(Serialize)] -struct MyOutput { - field: String, - count: usize, -} - -/// Arguments for `mycommand` subcommand -#[derive(Args)] -pub struct MyArgs { - /// Output as JSON (command-level flag) - #[arg(long)] - pub json: bool, -} - -pub fn cmd_my(args: MyArgs, global_json: bool) -> anyhow::Result<()> { - let output = MyOutput { field: "value".into(), count: 42 }; - - // Either --json flag works (global or command-specific) - if args.json || global_json { - println!("{}", serde_json::to_string_pretty(&output)?); - } else { - println!("Field: {}", output.field); - println!("Count: {}", output.count); - } - Ok(()) -} -``` - -Update main.rs to pass `cli.json`: -```rust -Commands::My(args) => commands::my::cmd_my(args, cli.json), -``` - ---- - -## Checklist for New Commands - -- [ ] Command file created in `src/commands/` -- [ ] Exported in `src/commands/mod.rs` -- [ ] Args struct added to `lib.rs` Commands enum -- [ ] Match arm added in `main.rs` -- [ ] Config passed if needed -- [ ] `#[instrument]` added for tracing -- [ ] Appropriate log levels used (debug for dev, info for user-visible) -- [ ] Unit tests in command file -- [ ] Integration tests in `tests/cli.rs` -- [ ] Help text is clear and useful -- [ ] JSON output supported if command produces data (accept `global_json` param) diff --git a/.claude/skills/capturing-decisions/ADR_TEMPLATE.md b/.claude/skills/capturing-decisions/ADR_TEMPLATE.md deleted file mode 100644 index 9abcfe5..0000000 --- a/.claude/skills/capturing-decisions/ADR_TEMPLATE.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -# These are optional metadata elements. Feel free to remove any of them. -status: "{proposed | rejected | accepted | deprecated | … | superseded by ADR-0123}" -date: {YYYY-MM-DD when the decision was last updated} -decision-makers: {list everyone involved in the decision} -consulted: {list everyone whose opinions are sought (typically subject-matter experts); and with whom there is a two-way communication} -informed: {list everyone who is kept up-to-date on progress; and with whom there is a one-way communication} ---- - - -# {short title, representative of solved problem and found solution} - -## Context and Problem Statement - -{Describe the context and problem statement, e.g., in free form using two to three sentences or in the form of an illustrative story. You may want to articulate the problem in form of a question and add links to collaboration boards or issue management systems.} - - -## Decision Drivers - -* {decision driver 1, e.g., a force, facing concern, …} -* {decision driver 2, e.g., a force, facing concern, …} -* … - -## Considered Options - -* {title of option 1} -* {title of option 2} -* {title of option 3} -* … - -## Decision Outcome - -Chosen option: "{title of option 1}", because {justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force {force} | … | comes out best (see below)}. - - -### Consequences - -* Good, because {positive consequence, e.g., improvement of one or more desired qualities, …} -* Bad, because {negative consequence, e.g., compromising one or more desired qualities, …} -* … - - -### Confirmation - -{Describe how the implementation of/compliance with the ADR can/will be confirmed. Are the design that was decided for and its implementation in line with the decision made? E.g., a design/code review or a test with a library such as ArchUnit can help validate this. Note that although we classify this element as optional, it is included in many ADRs.} - - -## Pros and Cons of the Options - -### {title of option 1} - - -{example | description | pointer to more information | …} - -* Good, because {argument a} -* Good, because {argument b} - -* Neutral, because {argument c} -* Bad, because {argument d} -* … - -### {title of other option} - -{example | description | pointer to more information | …} - -* Good, because {argument a} -* Good, because {argument b} -* Neutral, because {argument c} -* Bad, because {argument d} -* … - - -## More Information - -{You might want to provide additional evidence/confidence for the decision outcome here and/or document the team agreement on the decision and/or define when/how this decision should be realized and if/when it should be re-visited. Links to other decisions and resources might appear here as well.} diff --git a/.claude/skills/capturing-decisions/SKILL.md b/.claude/skills/capturing-decisions/SKILL.md deleted file mode 100644 index cd985ac..0000000 --- a/.claude/skills/capturing-decisions/SKILL.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -name: Capturing Decisions -description: Create and maintain MADR-format Architectural Decision Records in Markdown under `docs/decisions`. Use when the user wants to document important decisions. ---- - -# MADR ADRs - -This skill creates (and keeps tidy) **Architectural Decision Records (ADRs)** using **MADR (Markdown Architectural Decision Records) v4.0.0**. - -A helpful bar for what "counts" as an *architectural decision* is Martin Fowler's: **"a decision you wish you could get right early."** (["Who needs an architect?"](https://web.archive.org/web/20231221064723/https://ieeexplore.ieee.org/document/1231144?arnumber=1231144), IEEE Software, 2003) - - -Primary reference: [Markdown Architectural Decision Records](https://adr.github.io/madr/) - -## Repository layout and naming - -All ADRs live in: - -- `docs/decisions/NNNN-title-with-dashes.md` - -Where: - -- `NNNN` is a **zero-padded 4-digit** sequence number (`0001`, `0002`, …) -- `title-with-dashes` is a **lowercase slug** (letters/digits/hyphens) - -If `docs/decisions/` does not exist yet, create it. - -## Template - -Use this copy of the [MADR 4.0.0 long-form template](ADR_TEMPLATE.md) - -Create new ADRs by copying the template and replacing placeholders. Optional sections may be removed (the template marks them clearly). - -## Required metadata - -Each ADR must include YAML front matter at the top with: - -- `status`: one of `proposed`, `accepted`, `rejected`, `deprecated`, or `superseded by ADR-NNNN` -- `date`: `YYYY-MM-DD` (update when the ADR is materially changed) - -## Status emoji for the index - -Maintain an index at `docs/decisions/README.md` that lists **all** ADRs with: - -- status emoji -- ADR title (matching the H1 of the ADR), as a link to the full ADR -- date last updated - -Use this mapping: - -- 🟡 proposed -- ✅ accepted -- ❌ rejected -- ⚠️ deprecated -- 🔁 superseded - -## Process - -1. **Pick the next number** by scanning existing ADR filenames in `docs/decisions/` and incrementing the highest `NNNN`. Start at `0001` if none exist. -2. **Slugify the title** into `title-with-dashes` (lowercase, hyphens, no punctuation). -3. **Create the ADR** from `ADR_TEMPLATE.md`. - - Default `status` to `proposed` unless the change set includes implementation and agreement to accept. -4. **Update `docs/decisions/README.md`**: - - Add the ADR in numeric order. - - Ensure the emoji matches the ADR's `status`. -5. If an ADR is **superseded**, keep the old ADR file, set its status to `superseded by ADR-NNNN`, and update the index row emoji to 🔁. - -## Output expectations - -- ADR markdown should be clean and readable in GitHub rendering. -- Keep ADRs concise, but include enough context that a new reader can understand why the decision was made. diff --git a/.claude/skills/markdown-authoring/SKILL.md b/.claude/skills/markdown-authoring/SKILL.md deleted file mode 100644 index 6c69dfa..0000000 --- a/.claude/skills/markdown-authoring/SKILL.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: markdown-authoring -description: Markdown style patterns to use when writing documents. ---- - -When writing Markdown files: - -* **Start with an H1 as the first heading.** - The first heading in the file should be a top-level `# Heading` (not `##` or deeper). - -* **Use ATX headings only.** - Headings must use leading `#` characters (`#`, `##`, `###`, …), not Setext (`Heading` + `====`). - -* **Unordered list marker is flexible.** - You may use `-`, `*`, or `+` for bullet lists (no enforcement). - -* **Indent nested unordered lists by 2 spaces.** - When a list item contains a nested list, indent the nested list by **2 spaces**. - -* **Blank lines are allowed more freely.** - Extra consecutive blank lines are permitted (no “single blank line only” restriction). - -* **Line length limit is effectively very high; but follow sembr** - For prose, follow the Semantic Line Breaks convention, - described in `reference/sembr.md`. - Table rows are **not** checked for line length. - -* **Headings must be surrounded by blank lines.** - Put a blank line **before and after** each heading (where applicable). - -* **Duplicate headings are allowed.** - Reusing the same heading text in multiple places is acceptable. - -* **Lists must be surrounded by blank lines.** - Put a blank line **before** a list and a blank line **after** a list. - -* **Inline HTML is allowed.** - HTML (like `
`, `
`, etc.) is permitted in Markdown. - -* **Add Table of Contents.** - If there are more than 4 sections, add a table of contents diff --git a/.claude/skills/markdown-authoring/reference/sembr.md b/.claude/skills/markdown-authoring/reference/sembr.md deleted file mode 100644 index ed5f5cf..0000000 --- a/.claude/skills/markdown-authoring/reference/sembr.md +++ /dev/null @@ -1,240 +0,0 @@ -# Semantic Line Breaks - -## Summary - -When writing text with a compatible markup language, -add a line break after each substantial unit of thought. - -## Introduction - -_Semantic Line Breaks_ describe a set of conventions -for using insensitive vertical whitespace -to structure prose along semantic boundaries. - -Many lightweight markup languages, -including -[Markdown][markdown], -[reStructuredText][restructuredtext], and -[AsciiDoc][asciidoc], -join consecutive lines with a space. -Conventional markup languages like HTML and XML -exhibit a similar behavior in particular contexts. -This behavior allows line breaks to be used as semantic delimiters, -making prose easier to author, edit, and read in source --- -without affecting the rendered output. - -To understand the benefit of semantic line breaks, -consider the following paragraph from the -[_Universal Declaration of Human Rights_][udhr]: - -> All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood. - -Without any line breaks at all, -this paragraph appears in source as a long, continuous line of text -(which may be automatically wrapped at a fixed column length, -depending on your editor settings): - -
-All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
-
- -Adding a line break after each sentence -makes it easier to understand the shape and structure of the source text: - -
-All human beings are born free and equal in dignity and rights.
-They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
-
- -We can further clarify the source text by adding a line break -after the clause "with reason and conscience". -This helps to distinguish between -the "and" used as a coordinating conjunction between "reason and conscience" and -the "and" used as a subordinating conjunction with the clause -"and should act towards one another in a spirit of brotherhood": - -
-All human beings are born free and equal in dignity and rights.
-They are endowed with reason and conscience
-and should act towards one another in a spirit of brotherhood.
-
- -Despite these changes made to the source, -the final rendered output remains the same: - -> All human beings are born free and equal in dignity and rights. -> They are endowed with reason and conscience -> and should act towards one another in a spirit of brotherhood. - -By inserting line breaks at semantic boundaries, -writers, editors, and other collaborators -can make source text easier to work with, -without affecting how it's seen by readers. - -## Semantic Line Breaks Specification (SemBr) - -The key words "MUST", "MUST NOT", "REQUIRED", -"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", -"RECOMMENDED", "MAY", and "OPTIONAL" -in this document are to be interpreted as described in -[RFC 2119][rfc2119]. - -1. Text written as plain text or a compatible markup language - MAY use semantic line breaks. -2. A semantic line break - MUST NOT alter the final rendered output of the document. -3. A semantic line break - SHOULD NOT alter the intended meaning of the text. -4. A semantic line break - MUST occur after a sentence, - as punctuated by a period (.), - exclamation mark (!), or - question mark (?). -5. A semantic line break - SHOULD occur after an independent clause - as punctuated by a comma (,), - semicolon (;), - colon (:), - or em dash (—). -6. A semantic line break - MAY occur after a dependent clause - in order to clarify grammatical structure or satisfy line length constraints. -7. A semantic line break - is RECOMMENDED before an enumerated or itemized list. -8. A semantic line break - MAY be used after one or more items in a list - in order to logically group related items or satisfy line length constraints. -9. A semantic line break - MUST NOT occur within a hyphenated word. -10. A semantic line break - MAY occur before and after a hyperlink. -11. A semantic line break - MAY occur before inline markup. -12. A maximum line length of 80 characters is RECOMMENDED. -13. A line MAY exceed the maximum line length if necessary, - such as to accommodate hyperlinks, code elements, or other markup. - -## Why Use Semantic Line Breaks? - -For a **writer**, -semantic line breaks allow the physical structure of text -to reflect the logical structure of the thoughts that produce them. - -For an **editor**, -semantic line breaks make it easier to identify grammatical mistakes -and find opportunities to simplify and clarify without altering original intent. - -For a **reader**, -semantic line breaks are entirely invisible — -no changes to the source text appear in the final rendered output. - -## FAQ - -
- -
Which light markup languages support semantic line breaks?
-
- -The following light markup languages -are verified to support semantic line breaks: - -- [AsciiDoc][asciidoc] -- [CommonMark][commonmark] -- [Haddock][haddock] -- [LaTeX][latex] -- [Markdown][markdown] -- [MediaWiki][mediawiki] -- [MultiMarkdown][multimarkdown] -- [OrgMode][orgmode] -- [reStructuredText][restructuredtext] - -
- -
How do I know when to add semantic line breaks?
-
- -Try reading the text out loud, -as if you were speaking to an audience. -Anywhere that you pause for emphasis -or to take a breath -is usually a good candidate for a semantic line break. - -
- -
How do I migrate existing prose to use semantic line breaks?
-
- -There is no need to rewrite or reformat an entire document all at once. -The recommended migration path for an existing document -is to use semantic line breaks for any new or revised text. -This is often a great opportunity to make an editorial pass over content -since the distinctive appearance of text with semantic line breaks -allows you to quickly identify content that has not been updated. - -
- -
How do I use semantic line breaks with Git?
-
- -The default Git diff options emphasize line changes -in a way that may obscure certain revisions to text with semantic line breaks. -You can pass the `--word-diff` option to the `git diff` command -for better results: - -```terminal -$ git diff --word-diff -``` - -
- -
How do I force a line break?
-
- -You can add a hard line break with the `
` element. -Although CommonMark and other lightweight markup languages -allow trailing spaces to indicate breaks between consecutive lines, -this syntax is incompatible with -editors that automatically strip trailing whitespace. - -
- -
- -## About - -The Semantic Line Breaks specification is authored by [Mattt][mattt]. - -This specification is an attempt to encapsulate -best practices that I've encountered -while working on technical writing teams at several different companies. -It follows the general structure of the -[Semantic Versioning specification][semver] by Tom Preston-Werner. - -In the process of developing this document, -I came across -[this excellent blog post][one-sentence-per-line] by Brandon Rhodes -that includes extensive research about the origin of this technique. - -If you’d like to leave feedback, please -[open an issue on GitHub][github-issues]. - -## License - -[Creative Commons Attribution 4.0 International (CC BY 4.0)][cc-by-4.0] - -[asciidoc]: http://asciidoc.org -[cc-by-4.0]: https://creativecommons.org/licenses/by/4.0/ -[commonmark]: http://commonmark.org -[github-issues]: https://github.com/sembr/specification/issues -[haddock]: https://www.haskell.org/haddock/doc/html/ -[latex]: https://www.latex-project.org/ -[markdown]: https://daringfireball.net/projects/markdown/ -[mattt]: https://mat.tt -[mediawiki]: https://www.mediawiki.org/wiki/Help:Formatting -[multimarkdown]: http://fletcherpenney.net/multimarkdown/ -[one-sentence-per-line]: http://rhodesmill.org/brandon/2012/one-sentence-per-line/ -[orgmode]: http://orgmode.org -[restructuredtext]: http://docutils.sourceforge.net/rst.html -[rfc2119]: https://www.ietf.org/rfc/rfc2119.txt -[semver]: http://semver.org -[udhr]: http://www.un.org/en/universal-declaration-human-rights/ diff --git a/.claude/skills/using-git/SKILL.md b/.claude/skills/using-git/SKILL.md deleted file mode 100644 index 84c77f7..0000000 --- a/.claude/skills/using-git/SKILL.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: using-git -description: Git command conventions. Use when running any git commands to avoid blocking on interactive pager. ---- - -# Git Commands - -Always use `--no-pager` BEFORE the git command to avoid blocking on interactive pager: - -```bash -git --no-pager log -10 -git --no-pager diff -git --no-pager show -``` - -The `--no-pager` flag must come **before** the subcommand (log, diff, show, etc.), not after. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 38d9a14..8c68961 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -11,7 +11,7 @@ body: id: version attributes: label: Version - description: What version of bito-lint are you using? (`bito-lint --version`) + description: What version of bito are you using? (`bito --version`) placeholder: "0.1.0" validations: required: true @@ -31,7 +31,7 @@ body: label: Steps to reproduce description: How can we reproduce this issue? placeholder: | - 1. Run `bito-lint ...` + 1. Run `bito ...` 2. See error validations: required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index e68435b..9c32c77 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: Questions & Discussion - url: https://github.com/claylo/bito-lint/discussions + url: https://github.com/claylo/bito/discussions about: Ask questions, share ideas, or discuss before opening an issue diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 74b26d4..1e65775 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -5,7 +5,7 @@ body: - type: markdown attributes: value: | - Got an idea to make bito-lint better? We'd love to hear it! + Got an idea to make bito better? We'd love to hear it! - type: textarea id: problem @@ -22,11 +22,11 @@ body: label: Proposed solution description: How do you think this should work? placeholder: | - It would be great if bito-lint could... + It would be great if bito could... Example usage: ```bash - bito-lint new-command --flag + bito new-command --flag ``` validations: required: true diff --git a/.github/actions/generate-release-changelog/action.yml b/.github/actions/generate-release-changelog/action.yml new file mode 100644 index 0000000..63e98de --- /dev/null +++ b/.github/actions/generate-release-changelog/action.yml @@ -0,0 +1,35 @@ +name: 'Generate Release Changelog' +description: 'Extract version from tag and generate changelog with git-cliff' + +outputs: + version: + description: 'Release version without v prefix' + value: ${{ steps.version.outputs.version }} + release_body: + description: 'Generated changelog content for the release' + value: ${{ steps.changelog.outputs.content }} + +runs: + using: 'composite' + steps: + - name: Extract version + id: version + shell: bash + run: echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT + + - name: Install git-cliff + uses: ./.github/actions/setup-cargo-tools + with: + binstall-tools: git-cliff + + - name: Generate changelog + id: changelog + shell: bash + run: | + content=$(git cliff --config cliff.toml -vv --latest --no-exec --github-repo "${{ github.repository }}" 2>/dev/null) + { + echo "content<> $GITHUB_OUTPUT + diff --git a/.github/actions/setup-cargo-tools/action.yml b/.github/actions/setup-cargo-tools/action.yml index 3a6b55d..bcd5933 100644 --- a/.github/actions/setup-cargo-tools/action.yml +++ b/.github/actions/setup-cargo-tools/action.yml @@ -37,7 +37,7 @@ runs: - name: Cache cargo tools id: cache-cargo-tools - uses: actions/cache@v5 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: ~/.cargo/bin # yamllint disable-line rule:line-length @@ -50,7 +50,7 @@ runs: - name: Install cargo-binstall if: steps.cache-cargo-tools.outputs.cache-hit != 'true' && inputs.binstall-tools != '' - uses: cargo-bins/cargo-binstall@main + uses: cargo-bins/cargo-binstall@63aaa5c1932cebabc34eceda9d92a70215dcead6 # v1.17.7 - name: Install tools via binstall if: steps.cache-cargo-tools.outputs.cache-hit != 'true' && inputs.binstall-tools != '' diff --git a/.github/actions/setup-rust-cache/action.yml b/.github/actions/setup-rust-cache/action.yml index 68d8f53..51e1d74 100644 --- a/.github/actions/setup-rust-cache/action.yml +++ b/.github/actions/setup-rust-cache/action.yml @@ -19,7 +19,7 @@ runs: steps: - name: Cache Rust toolchain if: inputs.toolchain != 'stable' - uses: actions/cache@v5 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: | ~/.rustup/toolchains @@ -31,7 +31,7 @@ runs: ${{ runner.os }}-rustup- - name: Cache cargo registry and git - uses: actions/cache@v5 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: | ~/.cargo/registry/index @@ -43,7 +43,7 @@ runs: - name: Cache cargo build if: inputs.cache-target == 'true' - uses: actions/cache@v5 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: target key: ${{ runner.os }}-cargo-${{ inputs.cache-key-suffix }}-${{ inputs.toolchain }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('src/**/*.rs') }} diff --git a/.github/coda.yml b/.github/coda.yml index 14a8037..dd1c841 100644 --- a/.github/coda.yml +++ b/.github/coda.yml @@ -11,7 +11,7 @@ allow_rebase_merge: true # Features enable_discussions: false enable_projects: false -enable_wiki: true +enable_wiki: false # Security enable_secret_scanning: true @@ -20,5 +20,12 @@ dependabot_alerts: true dependabot_security_updates: true # 1Password secrets sync (optional) -# secrets_tags: github-actions -# secrets_app: actions +secrets_tags: claylo-github-actions +secrets_app: actions + +variables: + CRATES_IO_ENABLED: true + HOMEBREW_ENABLED: true + HOMEBREW_TAP: "claylo/homebrew-tap" + GPG_SIGNING_ENABLED: true + NPM_ENABLED: true diff --git a/.github/docs/README.md b/.github/docs/README.md index 4a43b97..7ddf4f2 100644 --- a/.github/docs/README.md +++ b/.github/docs/README.md @@ -1,4 +1,4 @@ -# bito-lint Operational Documentation +# bito Operational Documentation Internal documentation for project maintainers. diff --git a/.github/docs/releases.md b/.github/docs/releases.md index 253bfb7..aa7b4f7 100644 --- a/.github/docs/releases.md +++ b/.github/docs/releases.md @@ -151,45 +151,45 @@ gh secret set HOMEBREW_COMMITTER_TOKEN 1. Create a tap repository: `homebrew-tap` (e.g., `yourname/homebrew-tap`) -2. Create an initial formula `Formula/bito-lint.rb`: +2. Create an initial formula `Formula/bito.rb`: ```ruby -class Bitolint < Formula +class Bito < Formula desc "Quality gate tooling for building-in-the-open artifacts" - homepage "https://github.com/claylo/bito-lint" + homepage "https://github.com/claylo/bito" version "0.1.0" license "['Apache-2.0', 'MIT']" on_macos do if Hardware::CPU.arm? - url "https://github.com/claylo/bito-lint/releases/download/v#{version}/bito-lint-#{version}-aarch64-apple-darwin.tar.gz" + url "https://github.com/claylo/bito/releases/download/v#{version}/bito-#{version}-aarch64-apple-darwin.tar.gz" sha256 "PLACEHOLDER" else - url "https://github.com/claylo/bito-lint/releases/download/v#{version}/bito-lint-#{version}-x86_64-apple-darwin.tar.gz" + url "https://github.com/claylo/bito/releases/download/v#{version}/bito-#{version}-x86_64-apple-darwin.tar.gz" sha256 "PLACEHOLDER" end end on_linux do if Hardware::CPU.arm? - url "https://github.com/claylo/bito-lint/releases/download/v#{version}/bito-lint-#{version}-aarch64-unknown-linux-gnu.tar.gz" + url "https://github.com/claylo/bito/releases/download/v#{version}/bito-#{version}-aarch64-unknown-linux-gnu.tar.gz" sha256 "PLACEHOLDER" else - url "https://github.com/claylo/bito-lint/releases/download/v#{version}/bito-lint-#{version}-x86_64-unknown-linux-gnu.tar.gz" + url "https://github.com/claylo/bito/releases/download/v#{version}/bito-#{version}-x86_64-unknown-linux-gnu.tar.gz" sha256 "PLACEHOLDER" end end def install - bin.install "bin/bito-lint" + bin.install "bin/bito" man1.install Dir["share/man/man1/*.1"] - bash_completion.install "share/completions/bito-lint.bash" => "bito-lint" - zsh_completion.install "share/completions/_bito-lint" - fish_completion.install "share/completions/bito-lint.fish" + bash_completion.install "share/completions/bito.bash" => "bito" + zsh_completion.install "share/completions/_bito" + fish_completion.install "share/completions/bito.fish" end test do - assert_match version.to_s, shell_output("#{bin}/bito-lint --version") + assert_match version.to_s, shell_output("#{bin}/bito --version") end end ``` @@ -213,13 +213,13 @@ section = "utility" priority = "optional" assets = [ # Binary - ["target/release/bito-lint", "usr/bin/", "755"], + ["target/release/bito", "usr/bin/", "755"], # Man pages (if using xtask) ["target/dist/share/man/man1/*", "usr/share/man/man1/", "644"], # Shell completions - ["target/dist/share/completions/bito-lint.bash", "usr/share/bash-completion/completions/bito-lint", "644"], - ["target/dist/share/completions/_bito-lint", "usr/share/zsh/vendor-completions/", "644"], - ["target/dist/share/completions/bito-lint.fish", "usr/share/fish/vendor_completions.d/", "644"], + ["target/dist/share/completions/bito.bash", "usr/share/bash-completion/completions/bito", "644"], + ["target/dist/share/completions/_bito", "usr/share/zsh/vendor-completions/", "644"], + ["target/dist/share/completions/bito.fish", "usr/share/fish/vendor_completions.d/", "644"], ] ``` @@ -239,13 +239,13 @@ gh variable set DEB_ENABLED --body "true" [package.metadata.generate-rpm] assets = [ # Binary - { source = "target/release/bito-lint", dest = "/usr/bin/bito-lint", mode = "755" }, + { source = "target/release/bito", dest = "/usr/bin/bito", mode = "755" }, # Man pages (if using xtask) { source = "target/dist/share/man/man1/*", dest = "/usr/share/man/man1/", mode = "644", doc = true }, # Shell completions - { source = "target/dist/share/completions/bito-lint.bash", dest = "/usr/share/bash-completion/completions/bito-lint", mode = "644" }, - { source = "target/dist/share/completions/_bito-lint", dest = "/usr/share/zsh/site-functions/_bito-lint", mode = "644" }, - { source = "target/dist/share/completions/bito-lint.fish", dest = "/usr/share/fish/vendor_completions.d/bito-lint.fish", mode = "644" }, + { source = "target/dist/share/completions/bito.bash", dest = "/usr/share/bash-completion/completions/bito", mode = "644" }, + { source = "target/dist/share/completions/_bito", dest = "/usr/share/zsh/site-functions/_bito", mode = "644" }, + { source = "target/dist/share/completions/bito.fish", dest = "/usr/share/fish/vendor_completions.d/bito.fish", mode = "644" }, ] [package.metadata.generate-rpm.requires] @@ -267,33 +267,33 @@ npm distribution uses platform-specific packages with a wrapper package that han ``` npm/ -├── bito-lint/ # Main wrapper package +├── bito/ # Main wrapper package │ ├── package.json │ ├── index.js # Binary resolution │ ├── cli.js # CLI entry point │ └── install.js # Postinstall fallback └── platforms/ - ├── bito-lint-darwin-arm64/ + ├── bito-darwin-arm64/ │ ├── package.json - │ └── bin/bito-lint - ├── bito-lint-darwin-x64/ - ├── bito-lint-linux-arm64/ - ├── bito-lint-linux-x64/ - ├── bito-lint-win32-arm64/ - └── bito-lint-win32-x64/ + │ └── bin/bito + ├── bito-darwin-x64/ + ├── bito-linux-arm64/ + ├── bito-linux-x64/ + ├── bito-win32-arm64/ + └── bito-win32-x64/ ``` -#### Platform Package (e.g., `npm/platforms/bito-lint-linux-x64/package.json`) +#### Platform Package (e.g., `npm/platforms/bito-linux-x64/package.json`) ```json { - "name": "@claylo/bito-lint-linux-x64", + "name": "@claylo/bito-linux-x64", "version": "0.1.0", "description": "Quality gate tooling for building-in-the-open artifacts (linux-x64 binary)", "license": "['Apache-2.0', 'MIT']", "repository": { "type": "git", - "url": "https://github.com/claylo/bito-lint" + "url": "https://github.com/claylo/bito" }, "os": ["linux"], "cpu": ["x64"], @@ -304,49 +304,49 @@ npm/ Valid `os` values: `"linux"`, `"darwin"`, `"win32"` Valid `cpu` values: `"x64"`, `"arm64"` -#### Main Wrapper Package (`npm/bito-lint/package.json`) +#### Main Wrapper Package (`npm/bito/package.json`) ```json { - "name": "@claylo/bito-lint", + "name": "@claylo/bito", "version": "0.1.0", "description": "Quality gate tooling for building-in-the-open artifacts", "license": "['Apache-2.0', 'MIT']", "repository": { "type": "git", - "url": "https://github.com/claylo/bito-lint" + "url": "https://github.com/claylo/bito" }, "bin": { - "bito-lint": "cli.js" + "bito": "cli.js" }, "scripts": { "postinstall": "node install.js" }, "files": ["index.js", "cli.js", "install.js"], "optionalDependencies": { - "@claylo/bito-lint-darwin-arm64": "0.1.0", - "@claylo/bito-lint-darwin-x64": "0.1.0", - "@claylo/bito-lint-linux-arm64": "0.1.0", - "@claylo/bito-lint-linux-x64": "0.1.0", - "@claylo/bito-lint-win32-arm64": "0.1.0", - "@claylo/bito-lint-win32-x64": "0.1.0" + "@claylo/bito-darwin-arm64": "0.1.0", + "@claylo/bito-darwin-x64": "0.1.0", + "@claylo/bito-linux-arm64": "0.1.0", + "@claylo/bito-linux-x64": "0.1.0", + "@claylo/bito-win32-arm64": "0.1.0", + "@claylo/bito-win32-x64": "0.1.0" } } ``` -#### Binary Resolution (`npm/bito-lint/index.js`) +#### Binary Resolution (`npm/bito/index.js`) ```javascript const path = require("path"); const fs = require("fs"); const PLATFORMS = { - "darwin-arm64": "@claylo/bito-lint-darwin-arm64", - "darwin-x64": "@claylo/bito-lint-darwin-x64", - "linux-arm64": "@claylo/bito-lint-linux-arm64", - "linux-x64": "@claylo/bito-lint-linux-x64", - "win32-arm64": "@claylo/bito-lint-win32-arm64", - "win32-x64": "@claylo/bito-lint-win32-x64", + "darwin-arm64": "@claylo/bito-darwin-arm64", + "darwin-x64": "@claylo/bito-darwin-x64", + "linux-arm64": "@claylo/bito-linux-arm64", + "linux-x64": "@claylo/bito-linux-x64", + "win32-arm64": "@claylo/bito-win32-arm64", + "win32-x64": "@claylo/bito-win32-x64", }; function getBinaryPath() { @@ -357,7 +357,7 @@ function getBinaryPath() { throw new Error(`Unsupported platform: ${platformKey}`); } - const binaryName = process.platform === "win32" ? "bito-lint.exe" : "bito-lint"; + const binaryName = process.platform === "win32" ? "bito.exe" : "bito"; // Try optionalDependency first try { @@ -375,15 +375,15 @@ function getBinaryPath() { } throw new Error( - `Could not find bito-lint binary. ` + - `Try reinstalling @claylo/bito-lint` + `Could not find bito binary. ` + + `Try reinstalling @claylo/bito` ); } module.exports = { getBinaryPath }; ``` -#### CLI Entry Point (`npm/bito-lint/cli.js`) +#### CLI Entry Point (`npm/bito/cli.js`) ```javascript #!/usr/bin/env node @@ -397,7 +397,7 @@ const child = spawn(getBinaryPath(), process.argv.slice(2), { child.on("close", (code) => process.exit(code ?? 0)); ``` -#### Postinstall Fallback (`npm/bito-lint/install.js`) +#### Postinstall Fallback (`npm/bito/install.js`) ```javascript const https = require("https"); @@ -406,12 +406,12 @@ const path = require("path"); const zlib = require("zlib"); const PLATFORMS = { - "darwin-arm64": "@claylo/bito-lint-darwin-arm64", - "darwin-x64": "@claylo/bito-lint-darwin-x64", - "linux-arm64": "@claylo/bito-lint-linux-arm64", - "linux-x64": "@claylo/bito-lint-linux-x64", - "win32-arm64": "@claylo/bito-lint-win32-arm64", - "win32-x64": "@claylo/bito-lint-win32-x64", + "darwin-arm64": "@claylo/bito-darwin-arm64", + "darwin-x64": "@claylo/bito-darwin-x64", + "linux-arm64": "@claylo/bito-linux-arm64", + "linux-x64": "@claylo/bito-linux-x64", + "win32-arm64": "@claylo/bito-win32-arm64", + "win32-x64": "@claylo/bito-win32-x64", }; async function install() { @@ -437,7 +437,7 @@ async function install() { const tarball = await download(tarballUrl); const files = extractTar(zlib.gunzipSync(tarball)); - const binaryName = process.platform === "win32" ? "bito-lint.exe" : "bito-lint"; + const binaryName = process.platform === "win32" ? "bito.exe" : "bito"; const binaryEntry = files.find((f) => f.name.endsWith(`/bin/${binaryName}`)); if (!binaryEntry) { @@ -510,19 +510,19 @@ gh variable set NPM_ENABLED --body "true" Each release tarball contains: ``` -bito-lint-{version}-{target}/ +bito-{version}-{target}/ ├── bin/ -│ └── bito-lint # The compiled binary +│ └── bito # The compiled binary ├── share/ │ ├── man/ │ │ └── man1/ -│ │ ├── bito-lint.1 # Main command man page -│ │ └── bito-lint-*.1 # Subcommand man pages +│ │ ├── bito.1 # Main command man page +│ │ └── bito-*.1 # Subcommand man pages │ └── completions/ -│ ├── bito-lint.bash # Bash completions -│ ├── bito-lint.fish # Fish completions -│ ├── bito-lint.ps1 # PowerShell completions -│ └── _bito-lint # Zsh completions +│ ├── bito.bash # Bash completions +│ ├── bito.fish # Fish completions +│ ├── bito.ps1 # PowerShell completions +│ └── _bito # Zsh completions ├── LICENSE-* ├── README.md └── CHANGELOG.md @@ -535,7 +535,7 @@ This structure follows [XDG conventions](https://specifications.freedesktop.org/ All release builds use [cargo-auditable](https://github.com/rust-secure-code/cargo-auditable) to embed dependency information in the binary. This enables vulnerability scanning of deployed binaries: ```bash -cargo audit bin ./target/release/bito-lint +cargo audit bin ./target/release/bito ``` ### CycloneDX SBOM diff --git a/.github/formula.rb.tmpl b/.github/formula.rb.tmpl index de82022..2776728 100644 --- a/.github/formula.rb.tmpl +++ b/.github/formula.rb.tmpl @@ -1,7 +1,7 @@ # typed: true # frozen_string_literal: true -class BitoLint < Formula +class Bito < Formula desc "Quality gate tooling for building-in-the-open artifacts" homepage "__HOMEPAGE__" version "__VERSION__" @@ -9,33 +9,33 @@ class BitoLint < Formula on_macos do if Hardware::CPU.arm? - url "__RELEASE_URL__/bito-lint-#{version}-aarch64-apple-darwin.tar.gz" + url "__RELEASE_URL__/bito-#{version}-aarch64-apple-darwin.tar.gz" sha256 "__SHA_DARWIN_ARM64__" else - url "__RELEASE_URL__/bito-lint-#{version}-x86_64-apple-darwin.tar.gz" + url "__RELEASE_URL__/bito-#{version}-x86_64-apple-darwin.tar.gz" sha256 "__SHA_DARWIN_X64__" end end on_linux do if Hardware::CPU.arm? - url "__RELEASE_URL__/bito-lint-#{version}-aarch64-unknown-linux-gnu.tar.gz" + url "__RELEASE_URL__/bito-#{version}-aarch64-unknown-linux-gnu.tar.gz" sha256 "__SHA_LINUX_ARM64__" else - url "__RELEASE_URL__/bito-lint-#{version}-x86_64-unknown-linux-gnu.tar.gz" + url "__RELEASE_URL__/bito-#{version}-x86_64-unknown-linux-gnu.tar.gz" sha256 "__SHA_LINUX_X64__" end end def install - bin.install "bin/bito-lint" + bin.install "bin/bito" man1.install Dir["share/man/man1/*.1"] - bash_completion.install "share/completions/bito-lint.bash" => "bito-lint" - zsh_completion.install "share/completions/_bito-lint" - fish_completion.install "share/completions/bito-lint.fish" + bash_completion.install "share/completions/bito.bash" => "bito" + zsh_completion.install "share/completions/_bito" + fish_completion.install "share/completions/bito.fish" end test do - assert_match version.to_s, shell_output("\#{bin}/bito-lint --version-only") + assert_match version.to_s, shell_output("\#{bin}/bito --version-only") end end diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6edcdcf..17648e8 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -10,38 +10,39 @@ permissions: id-token: write # Sigstore OIDC for attestations attestations: write # Persist attestations +concurrency: + group: cd-${{ github.ref }} + cancel-in-progress: false + env: CARGO_TERM_COLOR: always - PROJECT_NAME: bito-lint + PROJECT_NAME: bito jobs: generate-changelog: name: Generate changelog runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read outputs: - release_body: ${{ steps.git-cliff.outputs.content }} - version: ${{ steps.version.outputs.version }} + release_body: ${{ steps.changelog.outputs.release_body }} + version: ${{ steps.changelog.outputs.version }} steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - - name: Extract version - id: version - run: echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT - - - name: Generate changelog - uses: orhun/git-cliff-action@c93ef52f3d0ddcdcc9bd5447d98d458a11cd4f72 # v4.7.1 - id: git-cliff - with: - config: cliff.toml - args: -vv --latest --no-exec --github-repo ${{ github.repository }} + - name: Generate release changelog + id: changelog + uses: ./.github/actions/generate-release-changelog publish-binaries: name: Build ${{ matrix.build.NAME }} needs: generate-changelog runs-on: ${{ matrix.build.os }} + timeout-minutes: 60 strategy: fail-fast: false matrix: @@ -195,7 +196,7 @@ jobs: - name: Upload release if: ${{ !contains(github.ref, '-') }} - uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # 2.11.4 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ env.PROJECT_NAME }}-${{ needs.generate-changelog.outputs.version }}-${{ matrix.build.target }}* @@ -207,7 +208,7 @@ jobs: - name: Upload pre-release if: ${{ contains(github.ref, '-') }} - uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # 2.11.4 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ env.PROJECT_NAME }}-${{ needs.generate-changelog.outputs.version }}-${{ matrix.build.target }}* @@ -227,6 +228,9 @@ jobs: if: ${{ !contains(github.ref, '-') && vars.CRATES_IO_ENABLED == 'true' }} needs: [generate-changelog, publish-binaries] runs-on: ubuntu-latest + timeout-minutes: 15 + permissions: + contents: read steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -244,6 +248,9 @@ jobs: if: ${{ !contains(github.ref, '-') && vars.HOMEBREW_ENABLED == 'true' }} needs: [generate-changelog, publish-binaries] runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read env: VERSION: ${{ needs.generate-changelog.outputs.version }} steps: @@ -313,6 +320,9 @@ jobs: if: vars.DEB_ENABLED == 'true' needs: [generate-changelog, publish-binaries] runs-on: ubuntu-22.04 + timeout-minutes: 30 + permissions: + contents: write steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -343,10 +353,11 @@ jobs: echo "${{ secrets.GPG_RELEASE_KEY }}" | base64 --decode > private.key echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --pinentry-mode=loopback --passphrase-fd 0 --import private.key echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --pinentry-mode=loopback --passphrase-fd 0 --detach-sign "${PROJECT_NAME}-${VERSION}.deb" + rm -f private.key - name: Upload release if: ${{ !contains(github.ref, '-') }} - uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # 2.11.4 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ env.PROJECT_NAME }}-${{ needs.generate-changelog.outputs.version }}.deb* @@ -358,7 +369,7 @@ jobs: - name: Upload pre-release if: ${{ contains(github.ref, '-') }} - uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # 2.11.4 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ env.PROJECT_NAME }}-${{ needs.generate-changelog.outputs.version }}.deb* @@ -373,6 +384,9 @@ jobs: if: vars.RPM_ENABLED == 'true' needs: [generate-changelog, publish-binaries] runs-on: ubuntu-22.04 + timeout-minutes: 30 + permissions: + contents: write steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -403,10 +417,11 @@ jobs: echo "${{ secrets.GPG_RELEASE_KEY }}" | base64 --decode > private.key echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --pinentry-mode=loopback --passphrase-fd 0 --import private.key echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --pinentry-mode=loopback --passphrase-fd 0 --detach-sign "${PROJECT_NAME}-${VERSION}.x86_64.rpm" + rm -f private.key - name: Upload release if: ${{ !contains(github.ref, '-') }} - uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # 2.11.4 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ env.PROJECT_NAME }}-${{ needs.generate-changelog.outputs.version }}.x86_64.rpm* @@ -418,7 +433,7 @@ jobs: - name: Upload pre-release if: ${{ contains(github.ref, '-') }} - uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # 2.11.4 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ env.PROJECT_NAME }}-${{ needs.generate-changelog.outputs.version }}.x86_64.rpm* @@ -433,6 +448,7 @@ jobs: if: ${{ !contains(github.ref, '-') && vars.NPM_ENABLED == 'true' }} needs: [generate-changelog, publish-binaries] runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: read id-token: write # OIDC for npm trusted publishing @@ -443,7 +459,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Node - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 registry-url: "https://registry.npmjs.org" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 385e29d..26fcb0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,7 @@ jobs: lint: name: lint runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -43,6 +44,7 @@ jobs: test: name: test runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -72,6 +74,7 @@ jobs: deny: name: cargo-deny runs-on: ubuntu-latest + timeout-minutes: 10 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -82,6 +85,7 @@ jobs: msrv: name: msrv runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.github/workflows/dependabot-issues.yml b/.github/workflows/dependabot-issues.yml index f3d83ed..4345549 100644 --- a/.github/workflows/dependabot-issues.yml +++ b/.github/workflows/dependabot-issues.yml @@ -5,14 +5,18 @@ on: - cron: "17 6 * * 1" workflow_dispatch: -permissions: - contents: read - issues: write - security-events: read +concurrency: + group: dependabot-issues + cancel-in-progress: false jobs: dependabot-alert-issues: runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + issues: write + security-events: read steps: - name: Open issues for Dependabot alerts uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 diff --git a/.github/workflows/lint-pr.yml b/.github/workflows/lint-pr.yml index 3f98fcf..9f302dd 100644 --- a/.github/workflows/lint-pr.yml +++ b/.github/workflows/lint-pr.yml @@ -8,14 +8,19 @@ on: - edited # - synchronize (if you use required Actions) +concurrency: + group: lint-pr-${{ github.event.pull_request.number }} + cancel-in-progress: true + jobs: main: name: Validate PR title runs-on: ubuntu-latest + timeout-minutes: 5 permissions: pull-requests: read steps: - - uses: amannn/action-semantic-pull-request@v6 + - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 743e9e8..0630eb8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,8 +18,9 @@ on: type: boolean default: false -permissions: - contents: write +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: false env: CARGO_TERM_COLOR: always @@ -29,6 +30,9 @@ jobs: name: Check for release if: vars.AUTO_RELEASE_ENABLED == 'true' runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read outputs: should_release: ${{ steps.check.outputs.should_release }} next_version: ${{ steps.check.outputs.next_version }} @@ -45,12 +49,14 @@ jobs: tag=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") echo "tag=${tag}" >> $GITHUB_OUTPUT + - name: Install git-cliff + uses: ./.github/actions/setup-cargo-tools + with: + binstall-tools: git-cliff + - name: Check for releasable commits id: check run: | - # Install git-cliff - cargo install git-cliff - # Get the bumped version from git-cliff next_version=$(git cliff --bumped-version 2>/dev/null || echo "") @@ -73,17 +79,23 @@ jobs: - name: Generate changelog if: steps.check.outputs.should_release == 'true' - uses: orhun/git-cliff-action@c93ef52f3d0ddcdcc9bd5447d98d458a11cd4f72 # v4.7.1 id: changelog - with: - config: cliff.toml - args: -vv --unreleased --strip all + run: | + content=$(git cliff --config cliff.toml -vv --unreleased --strip all 2>/dev/null) + { + echo "content<> $GITHUB_OUTPUT create-release: name: Create release needs: check-release if: needs.check-release.outputs.should_release == 'true' runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: write steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.justfile b/.justfile index 4f42418..1ac5a87 100644 --- a/.justfile +++ b/.justfile @@ -1,7 +1,7 @@ set shell := ["bash", "-c"] set dotenv-load := true toolchain := `taplo get -f rust-toolchain.toml toolchain.channel | tr -d '"'` -msrv := "1.88.0" +msrv := "1.89.0" default: @just --list @@ -38,7 +38,7 @@ bootstrap: source "$bootstrap_hook" fi - echo "🔧 Bootstrapping bito-lint..." + echo "🔧 Bootstrapping bito..." echo "" # Check Rust version installed=$(rustc --version | awk '{print $2}') @@ -65,8 +65,8 @@ bootstrap: # Build echo "🔨 Building project..." cargo build --workspace - echo "" + echo "" # Generate completions and man pages echo "📝 Generating shell completions..." cargo xtask completions @@ -75,8 +75,6 @@ bootstrap: cargo xtask man echo "" - - # Configure repository settings via gh-coda if command -v gh &>/dev/null && gh extension list 2>/dev/null | grep -q coda; then echo "⚙️ Applying repository settings (gh coda)..." @@ -96,7 +94,7 @@ bootstrap: echo " just test - Run tests only" echo "" echo "Try it out:" - echo " target/debug/bito-lint --help" + echo " target/debug/bito --help" fmt: cargo fmt --all @@ -123,6 +121,7 @@ doc-test: cov: @cargo llvm-cov clean --workspace + cargo llvm-cov nextest --no-report @cargo llvm-cov report --html @cargo llvm-cov report --summary-only --json --output-path target/llvm-cov/summary.json @@ -138,13 +137,6 @@ watch-clippy: cargo watch -x 'clippy --all-targets --all-features -- -D warnings' -install-hooks: - pre-commit install - -update-hooks: - pre-commit install --overwrite - - # Lint markdown files mdlint *files='': @@ -177,6 +169,7 @@ mdfix *files='': add-crate *ARGS: scripts/add-crate {{ARGS}} + # Pre-release validation release-check: #!/usr/bin/env zsh @@ -208,17 +201,17 @@ release-check: # Build release echo "" echo "🔨 Building release..." - cargo build -p bito-lint --release + cargo build -p bito --release echo "✅ Release build succeeded" echo "" echo "✅ All pre-release checks passed!" -# Build release binary +# Build release build-release: - cargo build -p bito-lint --release + cargo build -p bito --release zip: - git archive --format=zip --output=../bito-lint-{{datetime('-%Y-%m-%d_%H%M')}}.zip HEAD + git archive --format=zip --output=../bito-{{datetime('-%Y-%m-%d_%H%M')}}.zip HEAD # Check for outdated dependencies (root only, no transitive noise) outdated: @@ -245,11 +238,13 @@ check-updates: # Full refresh: update, test, clippy refresh: update cargo test --workspace + cargo clippy --workspace -- -D warnings # Monthly maintenance: upgrade, test everything monthly: upgrade cargo test --workspace + cargo clippy --workspace -- -D warnings cargo build --workspace --release @@ -283,6 +278,7 @@ bump *args='': next=$(git cliff --bumped-version {{args}}) echo "Next version: $next" # Update Cargo.toml versions + cargo set-version --workspace "${next#v}" # Generate changelog git cliff --tag "$next" --output CHANGELOG.md diff --git a/.repo.yml b/.repo.yml index 2e00f3f..daa2bb5 100644 --- a/.repo.yml +++ b/.repo.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v1.0.0-beta.7 +_commit: v1.0.0 _src_path: gh:claylo/claylo-rs categories: - command-line-utilities @@ -11,8 +11,6 @@ has_agents_md: true has_attestations: true has_benchmarks: false has_claude: true -has_claude_commands: true -has_claude_skills: true has_cli: true has_coda: true has_community_files: false @@ -35,9 +33,6 @@ has_releases: true has_roadmap_votes: false has_security_md: true has_site: false -has_skill_capturing_decisions: true -has_skill_markdown_authoring: true -has_skill_using_git: true has_yamlfmt: false has_yamllint: false hook_system: none @@ -45,9 +40,9 @@ license: - Apache-2.0 - MIT lint_level: strict -msrv: 1.88.0 +msrv: 1.89.0 owner: claylo -pinned_dev_toolchain: 1.93.1 +pinned_dev_toolchain: 1.94.0 preset: standard project_description: Quality gate tooling for building-in-the-open artifacts -project_name: bito-lint +project_name: bito diff --git a/Cargo.lock b/Cargo.lock index 75e9970..a9cf646 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,6 +8,21 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +[[package]] +name = "ah-ah-ah" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d1214b8de8dd04f0602166a5d9afbb811b39f12c14983c5ac83d06b1a04e13a" +dependencies = [ + "aho-corasick", + "bpe-openai", + "pulldown-cmark", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "aho-corasick" version = "1.1.4" @@ -34,9 +49,9 @@ checksum = "a902604543851c9ccc59d6252eb77502a9e01d6bf7205dd2ab4b543bd22cbda3" [[package]] name = "anstream" -version = "0.6.21" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -55,9 +70,9 @@ checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] @@ -90,9 +105,9 @@ checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" [[package]] name = "assert_cmd" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c5bcfa8749ac45dd12cb11055aeeb6b27a3895560d60d71e3c23bf979e60514" +checksum = "9a686bbee5efb88a82df0621b236e74d925f470e5445d3220a5648b892ec99c9" dependencies = [ "anstyle", "bstr", @@ -142,15 +157,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] -name = "bito-lint" -version = "0.3.0" +name = "bito" +version = "1.0.0" dependencies = [ "anyhow", "assert_cmd", - "bito-lint-core", + "bito-core", "camino", "clap", - "directories", "indicatif", "owo-colors", "predicates", @@ -161,16 +175,14 @@ dependencies = [ "tempfile", "tokio", "tracing", - "tracing-appender", - "tracing-subscriber", ] [[package]] -name = "bito-lint-core" -version = "0.3.0" +name = "bito-core" +version = "1.0.0" dependencies = [ - "aho-corasick", - "bpe-openai", + "ah-ah-ah", + "anyhow", "camino", "clap", "directories", @@ -185,6 +197,8 @@ dependencies = [ "tempfile", "thiserror", "tracing", + "tracing-appender", + "tracing-subscriber", ] [[package]] @@ -286,9 +300,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.57" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", @@ -296,9 +310,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.57" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -308,18 +322,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.65" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "430b4dc2b5e3861848de79627b2bedc9f3342c7da5173a14eaa5d0f8dc18ae5d" +checksum = "19c9f1dde76b736e3681f28cec9d5a61299cbaae0fce80a68e43724ad56031eb" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.5.55" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck", "proc-macro2", @@ -329,9 +343,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "clap_mangen" @@ -638,6 +652,15 @@ dependencies = [ "slab", ] +[[package]] +name = "getopts" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" version = "0.2.17" @@ -1028,6 +1051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" dependencies = [ "bitflags", + "getopts", "memchr", "pulldown-cmark-escape", "unicase", @@ -1041,9 +1065,9 @@ checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" [[package]] name = "quote" -version = "1.0.44" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -1116,9 +1140,9 @@ checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" [[package]] name = "rmcp" -version = "0.17.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0ce46f9101dc911f07e1468084c057839d15b08040d110820c5513312ef56a" +checksum = "ba6b9d2f0efe2258b23767f1f9e0054cfbcac9c2d6f81a031214143096d7864f" dependencies = [ "async-trait", "base64", @@ -1138,9 +1162,9 @@ dependencies = [ [[package]] name = "rmcp-macros" -version = "0.17.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abad6f5f46e220e3bda2fc90fd1ad64c1c2a2bd716d52c845eb5c9c64cda7542" +checksum = "ab9d95d7ed26ad8306352b0d5f05b593222b272790564589790d210aa15caa9e" dependencies = [ "darling", "proc-macro2", @@ -1361,9 +1385,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -1372,9 +1396,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.26.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", "getrandom 0.3.4", @@ -1466,9 +1490,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.49.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "pin-project-lite", @@ -1843,9 +1867,9 @@ checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" [[package]] name = "xtask" -version = "0.3.0" +version = "1.0.0" dependencies = [ - "bito-lint", + "bito", "clap", "clap_complete", "clap_mangen", diff --git a/Cargo.toml b/Cargo.toml index 804fb35..67ddba3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,14 +5,14 @@ resolver = "3" [workspace.package] edition = "2024" -license = "MIT" -version = "0.3.0" +license = "Apache-2.0 OR MIT" +version = "1.0.0" # version we want to allow -rust-version = "1.88.0" +rust-version = "1.89.0" readme = "README.md" -repository = "https://github.com/claylo/bito-lint" -homepage = "https://github.com/claylo/bito-lint" -documentation = "https://docs.rs/bito-lint" +repository = "https://github.com/claylo/bito" +homepage = "https://github.com/claylo/bito" +documentation = "https://docs.rs/bito" description = "Quality gate tooling for building-in-the-open artifacts" keywords = ["writing-quality", "readability", "documentation", "lint", "mcp"] categories = ["command-line-utilities", "development-tools", "text-processing"] @@ -29,7 +29,6 @@ nursery = "warn" # Optimize dependencies in dev mode for faster tests # (keeps main crate unoptimized for fast incremental builds) -# don't emit debuginfo for *dependencies* in dev builds [profile.dev.package."*"] debug = 0 opt-level = 1 @@ -45,15 +44,15 @@ debug = "line-tables-only" opt-level = 1 # On macOS, keep debug info from exploding into huge scattered dSYM trees split-debuginfo = "packed" -codegen-units = 256 # default, but worth being explicit +codegen-units = 256 # Test profile with full debug symbols for profiling [profile.test] inherits = "dev" -codegen-units = 256 # more parallelism = faster compile +codegen-units = 256 debug = true -# Release profile with reduced debug info for smaller binaries +# Release profile with reduced debug info [profile.release] debug = "line-tables-only" diff --git a/README.md b/README.md index b5039ac..261c204 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,22 @@ -# bito-lint +# bito -[![CI](https://github.com/claylo/bito-lint/actions/workflows/ci.yml/badge.svg)](https://github.com/claylo/bito-lint/actions/workflows/ci.yml) -[![Crates.io](https://img.shields.io/crates/v/bito-lint.svg)](https://crates.io/crates/bito-lint) -[![docs.rs](https://docs.rs/bito-lint/badge.svg)](https://docs.rs/bito-lint) -[![MSRV](https://img.shields.io/badge/MSRV-1.88.0-blue.svg)](https://github.com/claylo/bito-lint) +[![CI](https://github.com/claylo/bito/actions/workflows/ci.yml/badge.svg)](https://github.com/claylo/bito/actions/workflows/ci.yml) +[![Crates.io](https://img.shields.io/crates/v/bito.svg)](https://crates.io/crates/bito) +[![docs.rs](https://docs.rs/bito/badge.svg)](https://docs.rs/bito) +[![MSRV](https://img.shields.io/badge/MSRV-1.89.0-blue.svg)](https://github.com/claylo/bito) **bito** = **b**uilding **i**n **t**he **o**pen. -bito-lint is part of the [building-in-the-open](https://github.com/claylo/building-in-the-open) approach to AI-assisted development — a set of practices, templates, and tools for teams that work with coding agents. It can be used entirely on its own; the broader framework just gives it more context to work with. +bito is part of the [building-in-the-open](https://github.com/claylo/building-in-the-open) approach to AI-assisted development — a set of practices, templates, and tools for teams that work with coding agents. It can be used entirely on its own; the broader framework just gives it more context to work with. AI coding agents generate documentation as they work — ADRs, design docs, changelogs, handoff notes. The quality varies between sessions. Sometimes you get crisp, well-structured prose. Sometimes you get bloated walls of text that no one wants to review. -bito-lint catches the problems before you commit. It runs 18 deterministic writing checks — readability scoring, token budgets, section completeness, grammar, dialect enforcement, and style analysis. No LLM, no API calls, no network. Same input, same result, every time. +bito catches the problems before you commit. It runs 18 deterministic writing checks — readability scoring, token budgets, section completeness, grammar, dialect enforcement, and style analysis. No LLM, no API calls, no network. Same input, same result, every time. The goal: agent-generated documents that are clean enough to ship. ``` -$ bito-lint analyze docs/architecture.md +$ bito analyze docs/architecture.md docs/architecture.md @@ -62,19 +62,19 @@ Every check is deterministic. No API calls, no LLM, no network. The same input p ```bash # Does this handoff fit in 2,000 tokens? -$ bito-lint tokens handoff.md --budget 2000 +$ bito tokens handoff.md --budget 2000 PASS: handoff.md is 546 tokens (budget: 2000) # Is this user guide accessible to a general audience? -$ bito-lint readability getting-started.md --max-grade 8 +$ bito readability getting-started.md --max-grade 8 Error: getting-started.md scores 14.7 (max: 8). Simplify sentences or reduce jargon. # Does this ADR have all the sections it needs? -$ bito-lint completeness docs/decisions/0001-my-decision.md --template adr +$ bito completeness docs/decisions/0001-my-decision.md --template adr PASS: docs/decisions/0001-my-decision.md (adr completeness check) # How's the grammar? -$ bito-lint grammar changelog.md +$ bito grammar changelog.md changelog.md: 16 sentences analyzed Passive voice: 2 instances (12.5%) Grammar issues: 3 @@ -88,18 +88,18 @@ changelog.md: 16 sentences analyzed ### Homebrew (macOS and Linux) ```bash -brew install claylo/brew/bito-lint +brew install claylo/brew/bito ``` ### From source ```bash -cargo install bito-lint +cargo install bito ``` ### Pre-built binaries -Download from the [releases page](https://github.com/claylo/bito-lint/releases). Binaries are available for macOS (Apple Silicon and Intel), Linux (x86_64 and ARM64), and Windows. +Download from the [releases page](https://github.com/claylo/bito/releases). Binaries are available for macOS (Apple Silicon and Intel), Linux (x86_64 and ARM64), and Windows. ## Usage @@ -108,8 +108,8 @@ Download from the [releases page](https://github.com/claylo/bito-lint/releases). Define rules in your config file to map file paths to checks, then run them with one command: ```bash -bito-lint lint docs/handoff.md -bito-lint lint --json docs/handoff.md # structured output for CI +bito lint docs/handoff.md +bito lint --json docs/handoff.md # structured output for CI ``` If no rules match the file, it exits cleanly. See [docs/README.md](docs/README.md) for rules configuration, accumulation, specificity, and inline suppressions. @@ -117,7 +117,7 @@ If no rules match the file, it exits cleanly. See [docs/README.md](docs/README.m ### Full analysis ```bash -bito-lint analyze my-document.md +bito analyze my-document.md ``` Add `--json` for machine-readable output. Add `--dialect en-gb` to enforce British spelling. Add `--checks readability,consistency` to run only specific checks. Add `--exclude style,jargon` to skip specific checks. @@ -128,34 +128,34 @@ Quality gates are pass/fail checks designed for CI, pre-commit hooks, and automa ```bash # Token counting with budget enforcement -bito-lint tokens --budget +bito tokens --budget # Readability with grade ceiling -bito-lint readability --max-grade +bito readability --max-grade # Section completeness against a template -bito-lint completeness --template +bito completeness --template # Grammar and passive voice analysis -bito-lint grammar +bito grammar ``` -Built-in completeness templates: `adr`, `handoff`, `design-doc`. Define your own in a bito-lint config file. +Built-in completeness templates: `adr`, `handoff`, `design-doc`. Define your own in a bito config file. Every command exits non-zero on failure, writes structured JSON with `--json`, and works in pipes. ### Dialect enforcement -Set a project dialect and bito-lint flags wrong-dialect spellings alongside mixed-spelling inconsistencies: +Set a project dialect and bito flags wrong-dialect spellings alongside mixed-spelling inconsistencies: ```bash # Via flag -bito-lint analyze README.md --dialect en-us +bito analyze README.md --dialect en-us # Via environment variable -export BITO_LINT_DIALECT=en-gb +export BITO_DIALECT=en-gb -# Via config file (.bito-lint.toml) +# Via config file (.bito.toml) dialect = "en-ca" ``` @@ -163,13 +163,13 @@ Supported dialects: `en-us`, `en-gb`, `en-ca` (Canadian hybrid: US *-ize/-ise*, ### MCP server -bito-lint includes a built-in [MCP](https://modelcontextprotocol.io/) server, so AI coding assistants can call quality gates directly during writing sessions: +bito includes a built-in [MCP](https://modelcontextprotocol.io/) server, so AI coding assistants can call quality gates directly during writing sessions: ```json { "mcpServers": { - "bito-lint": { - "command": "bito-lint", + "bito": { + "command": "bito", "args": ["serve"] } } @@ -182,21 +182,23 @@ This exposes seven tools: `analyze_writing`, `count_tokens`, `check_readability` Drop a config file in your project and it takes effect automatically: -1. `.bito-lint.toml` (or `.yaml`, `.json`) in the current directory or any parent -2. `bito-lint.toml` (without dot prefix) in the current directory or any parent -3. `~/.config/bito-lint/config.toml` (user-wide defaults) +1. `.bito.toml` (or `.yaml`, `.json`) in the current directory or any parent +2. `bito.toml` (without dot prefix) in the current directory or any parent +3. `~/.config/bito/config.toml` (user-wide defaults) + +For backward compatibility, `.bito-lint.*` config file names are also discovered. Closer files win. All formats (TOML, YAML, JSON) work interchangeably. Environment variables override config files: -- `BITO_LINT_LOG_PATH` — log file path (daily rotation appends `.YYYY-MM-DD`) -- `BITO_LINT_LOG_DIR` — directory (file name defaults to `bito-lint.jsonl`) -- `BITO_LINT_ENV` — environment tag (default: `dev`) +- `BITO_LOG_PATH` — log file path (daily rotation appends `.YYYY-MM-DD`) +- `BITO_LOG_DIR` — directory (file name defaults to `bito.jsonl`) +- `BITO_ENV` — environment tag (default: `dev`) - Config file key: `log_dir` ```toml -# .bito-lint.toml +# .bito.toml dialect = "en-us" token_budget = 2000 max_grade = 12.0 @@ -209,24 +211,30 @@ Included in Homebrew installs and release archives. For manual setup: ```bash # Bash -bito-lint completions bash > ~/.local/share/bash-completion/completions/bito-lint +bito completions bash > ~/.local/share/bash-completion/completions/bito # Zsh -bito-lint completions zsh > ~/.zfunc/_bito-lint +bito completions zsh > ~/.zfunc/_bito # Fish -bito-lint completions fish > ~/.config/fish/completions/bito-lint.fish +bito completions fish > ~/.config/fish/completions/bito.fish ``` ## Development ``` crates/ -├── bito-lint/ # CLI binary -└── bito-lint-core/ # Core library +├── bito/ # CLI binary +└── bito-core/ # Core library ``` -Prerequisites: Rust 1.88.0+, [just](https://github.com/casey/just), [cargo-nextest](https://nexte.st/). +### Prerequisites + +- Rust 1.89.0+ (2024 edition) +- [just](https://github.com/casey/just) (task runner) +- [cargo-nextest](https://nexte.st/) (test runner) + +### Quick Start ```bash just check # fmt + clippy + test @@ -234,7 +242,109 @@ just test # tests only (nextest) just cov # coverage report ``` -Commit messages follow [Conventional Commits](https://www.conventionalcommits.org/). The project enforces safe Rust (`#![deny(unsafe_code)]`), clippy nursery lints, and `cargo deny` for dependency auditing. +### Build Tasks + +| Command | Description | +|---------|-------------| +| `just check` | Format, lint, deny, and test | +| `just fmt` | Format code with rustfmt | +| `just clippy` | Run clippy lints | +| `just test` | Run tests with nextest | +| `just doc-test` | Run documentation tests | +| `just cov` | Generate coverage report | + +### xtask Commands + +The project includes an xtask crate for build automation: + +```bash +# Generate man pages +cargo xtask man + +# Generate shell completions +cargo xtask completions + +# Generate for specific shell +cargo xtask completions --shell zsh +``` + +## Architecture + +### Crate Organization + +- **bito** — The CLI binary. Handles argument parsing, command dispatch, MCP server, and user interaction. +- **bito-core** — The core library. Configuration loading, writing analysis, lint engine, and all 18 deterministic checks. + +### Error Handling + +- Libraries use `thiserror` for structured error types +- Binaries use `anyhow` for flexible error propagation +- All errors include context for debugging + +### Configuration System + +The `ConfigLoader` provides flexible configuration discovery: + +```rust +use bito_core::config::ConfigLoader; + +let config = ConfigLoader::new() + .with_project_search(std::env::current_dir()?) + .with_user_config(true) + .load()?; +``` + +Features: +- Walks up directory tree looking for config files +- Stops at repository boundaries (`.git` by default) +- Merges multiple config sources with clear precedence +- Supports explicit file paths for testing + +## CI/CD + +This project uses GitHub Actions for continuous integration: + +- **Build & Test** — Runs on every push and PR +- **MSRV Check** — Verifies minimum supported Rust version +- **Clippy** — Enforces lint rules +- **Coverage** — Tracks test coverage + +### Dependabot + +This project uses Dependabot for security monitoring, but **not** for automatic pull requests. Instead: + +1. Dependabot scans for vulnerabilities in dependencies +2. A weekly GitHub Actions workflow converts alerts into **issues** +3. Maintainers review and address updates manually + +This approach provides: +- Full control over when and how dependencies are updated +- Opportunity to batch related updates together +- Time to test updates before merging +- Cleaner git history without automated PR noise + +Security alerts appear as issues labeled `dependabot-alert`. + +## Contributing + +Contributions welcome! Please see [AGENTS.md](AGENTS.md) for development conventions. + +### Commit Messages + +This project uses [Conventional Commits](https://www.conventionalcommits.org/): + +- `feat:` — New features +- `fix:` — Bug fixes +- `docs:` — Documentation changes +- `perf:` — Performance improvements +- `chore:` — Maintenance tasks + +### Code Style + +- Rust 2024 edition +- `#![deny(unsafe_code)]` — Safe Rust only +- Follow `rustfmt` defaults +- Keep clippy clean ## License diff --git a/SECURITY.md b/SECURITY.md index 4d79bca..be7efb5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -14,7 +14,7 @@ Instead, please report them via one of the following methods: ### Option 1: GitHub Security Advisories (Preferred) -Use [GitHub's private vulnerability reporting](https://github.com/claylo/bito-lint/security/advisories/new) +Use [GitHub's private vulnerability reporting](https://github.com/claylo/bito/security/advisories/new) to submit a report directly. ### Option 2: Email @@ -44,17 +44,16 @@ information or guidance. ## Scope This security policy applies to: - -- The bito-lint CLI tool -- The bito-lint-core library +- The bito CLI tool +- The bito-core library - Official distribution channels (crates.io, GitHub releases) ## Security Best Practices -When using bito-lint: +When using bito: - Keep your installation up to date - Verify checksums when downloading releases - Report any suspicious behavior -Thank you for helping keep bito-lint secure! +Thank you for helping keep bito secure! diff --git a/cliff.toml b/cliff.toml index cb87319..c7f73a3 100644 --- a/cliff.toml +++ b/cliff.toml @@ -12,7 +12,7 @@ All notable changes to this project will be documented in this file. # Template for the changelog body body = """ {%- macro remote_url() -%} - https://github.com/claylo/bito-lint + https://github.com/claylo/bito {%- endmacro -%} {% if version -%} @@ -109,4 +109,4 @@ sort_commits = "oldest" [remote.github] owner = "claylo" -repo = "bito-lint" +repo = "bito" diff --git a/config/bito-lint.toml.example b/config/bito.toml.example similarity index 87% rename from config/bito-lint.toml.example rename to config/bito.toml.example index 684c6ad..b90af7f 100644 --- a/config/bito-lint.toml.example +++ b/config/bito.toml.example @@ -1,14 +1,13 @@ -# bito-lint Configuration (TOML format) +# bito Configuration (TOML format) # # Copy this file to one of the following locations: -# - bito-lint.toml (in your project directory, highest precedence) -# - .bito-lint.toml (in your project directory) -# - bito.toml (in your project directory, shared with other bito tools) # - .bito.toml (in your project directory) -# - ~/.config/bito-lint/config.toml (user-wide config) +# - bito.toml (in your project directory, without dot prefix) +# - ~/.config/bito/config.toml (user-wide config) +# +# For backward compatibility, .bito-lint.* names are also discovered. # # When multiple files exist in the same directory, all are merged. -# bito-lint names override bito names; regular files override dotfiles. # # Supported formats: TOML, YAML, JSON # (use the appropriate extension: .toml, .yaml, .yml, .json) @@ -29,12 +28,12 @@ log_level = "info" # Log files are written as JSONL with daily rotation. # Default paths: -# - /var/log/bito-lint.jsonl (Unix, if writable) -# - ~/.local/share/bito-lint/logs/bito-lint.jsonl (fallback) +# - /var/log/bito.jsonl (Unix, if writable) +# - ~/.local/share/bito/logs/bito.jsonl (fallback) # Override with environment variables: -# - BITO_LINT_LOG_PATH=/path/to/bito-lint.jsonl (rotated daily) -# - BITO_LINT_LOG_DIR=/path/to/log/dir -# - BITO_LINT_ENV=dev +# - BITO_LOG_PATH=/path/to/bito.jsonl (rotated daily) +# - BITO_LOG_DIR=/path/to/log/dir +# - BITO_ENV=dev # Config options: # - log_dir = "/path/to/log/dir" # - otel_endpoint = "http://127.0.0.1:4317" @@ -69,7 +68,7 @@ log_level = "info" # When unset, only detects mixed US/UK spelling (no enforcement). # Values: "en-us", "en-gb", "en-ca", "en-au" # CLI flag --dialect overrides this value. -# Environment variable BITO_LINT_DIALECT also overrides this value. +# Environment variable BITO_DIALECT also overrides this value. # dialect = "en-us" # ------------------------------------------------------------------------------ @@ -104,7 +103,7 @@ log_level = "info" # Path-Based Rules # ------------------------------------------------------------------------------ -# Rules map file path patterns to checks. When you run `bito-lint lint `, +# Rules map file path patterns to checks. When you run `bito lint `, # matching rules determine which checks run. All matching rules accumulate; # when two rules configure the same check, the more specific pattern wins. # diff --git a/config/bito-lint.yaml.example b/config/bito.yaml.example similarity index 87% rename from config/bito-lint.yaml.example rename to config/bito.yaml.example index fad081f..0cdf7f3 100644 --- a/config/bito-lint.yaml.example +++ b/config/bito.yaml.example @@ -1,14 +1,13 @@ -# bito-lint Configuration (YAML format) +# bito Configuration (YAML format) # # Copy this file to one of the following locations: -# - bito-lint.yaml (in your project directory, highest precedence) -# - .bito-lint.yaml (in your project directory) -# - bito.yaml (in your project directory, shared with other bito tools) # - .bito.yaml (in your project directory) -# - ~/.config/bito-lint/config.yaml (user-wide config) +# - bito.yaml (in your project directory, without dot prefix) +# - ~/.config/bito/config.yaml (user-wide config) +# +# For backward compatibility, .bito-lint.* names are also discovered. # # When multiple files exist in the same directory, all are merged. -# bito-lint names override bito names; regular files override dotfiles. # # Supported formats: TOML, YAML, JSON # (use the appropriate extension: .toml, .yaml, .yml, .json) @@ -29,12 +28,12 @@ log_level: info # Log files are written as JSONL with daily rotation. # Default paths: -# - /var/log/bito-lint.jsonl (Unix, if writable) -# - ~/.local/share/bito-lint/logs/bito-lint.jsonl (fallback) +# - /var/log/bito.jsonl (Unix, if writable) +# - ~/.local/share/bito/logs/bito.jsonl (fallback) # Override with environment variables: -# - BITO_LINT_LOG_PATH=/path/to/bito-lint.jsonl (rotated daily) -# - BITO_LINT_LOG_DIR=/path/to/log/dir -# - BITO_LINT_ENV=dev +# - BITO_LOG_PATH=/path/to/bito.jsonl (rotated daily) +# - BITO_LOG_DIR=/path/to/log/dir +# - BITO_ENV=dev # Config options: # - log_dir: /path/to/log/dir # - otel_endpoint: http://127.0.0.1:4317 @@ -69,7 +68,7 @@ log_level: info # When unset, only detects mixed US/UK spelling (no enforcement). # Values: en-us, en-gb, en-ca, en-au # CLI flag --dialect overrides this value. -# Environment variable BITO_LINT_DIALECT also overrides this value. +# Environment variable BITO_DIALECT also overrides this value. # dialect: en-us # ------------------------------------------------------------------------------ @@ -113,7 +112,7 @@ log_level: info # Path-Based Rules # ------------------------------------------------------------------------------ -# Rules map file path patterns to checks. When you run `bito-lint lint `, +# Rules map file path patterns to checks. When you run `bito lint `, # matching rules determine which checks run. All matching rules accumulate; # when two rules configure the same check, the more specific pattern wins. # diff --git a/crates/bito-lint-core/Cargo.toml b/crates/bito-core/Cargo.toml similarity index 79% rename from crates/bito-lint-core/Cargo.toml rename to crates/bito-core/Cargo.toml index cc6992c..22398a1 100644 --- a/crates/bito-lint-core/Cargo.toml +++ b/crates/bito-core/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "bito-lint-core" +name = "bito-core" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true -description = "Core library for bito-lint" +description = "Core library for bito" repository.workspace = true homepage.workspace = true readme.workspace = true @@ -31,26 +31,26 @@ exclude = [ clap = ["dep:clap"] [dependencies] +ah-ah-ah = "0.1" +anyhow = "1.0" camino = { version = "1.2", features = ["serde1"] } -clap = { version = "4.5", features = ["derive"], optional = true } +clap = { version = "4.6", features = ["derive"], optional = true } directories = "6.0" figment = { version = "0.10", features = ["toml", "yaml", "json", "env"] } -pulldown-cmark = { version = "0.13", default-features = false, features = ["simd"] } globset = "0.4" +pulldown-cmark = { version = "0.13", default-features = false, features = ["simd"] } regex = "1.12" schemars = "1.2" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "2.0" tracing = "0.1" - -# Tokenizer backends -aho-corasick = "1" -bpe-openai = "0.3" +tracing-appender = "0.2" +tracing-subscriber = { version = "0.3", features = ["env-filter"] } [dev-dependencies] serde_yaml = "0.9" -tempfile = "3.26" +tempfile = "3.27" [lints] workspace = true diff --git a/crates/bito-lint-core/src/analysis/acronyms.rs b/crates/bito-core/src/analysis/acronyms.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/acronyms.rs rename to crates/bito-core/src/analysis/acronyms.rs diff --git a/crates/bito-lint-core/src/analysis/cliches.rs b/crates/bito-core/src/analysis/cliches.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/cliches.rs rename to crates/bito-core/src/analysis/cliches.rs diff --git a/crates/bito-lint-core/src/analysis/complex_paragraphs.rs b/crates/bito-core/src/analysis/complex_paragraphs.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/complex_paragraphs.rs rename to crates/bito-core/src/analysis/complex_paragraphs.rs diff --git a/crates/bito-lint-core/src/analysis/conjunction_starts.rs b/crates/bito-core/src/analysis/conjunction_starts.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/conjunction_starts.rs rename to crates/bito-core/src/analysis/conjunction_starts.rs diff --git a/crates/bito-lint-core/src/analysis/consistency.rs b/crates/bito-core/src/analysis/consistency.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/consistency.rs rename to crates/bito-core/src/analysis/consistency.rs diff --git a/crates/bito-lint-core/src/analysis/diction.rs b/crates/bito-core/src/analysis/diction.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/diction.rs rename to crates/bito-core/src/analysis/diction.rs diff --git a/crates/bito-lint-core/src/analysis/echoes.rs b/crates/bito-core/src/analysis/echoes.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/echoes.rs rename to crates/bito-core/src/analysis/echoes.rs diff --git a/crates/bito-lint-core/src/analysis/jargon.rs b/crates/bito-core/src/analysis/jargon.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/jargon.rs rename to crates/bito-core/src/analysis/jargon.rs diff --git a/crates/bito-lint-core/src/analysis/mod.rs b/crates/bito-core/src/analysis/mod.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/mod.rs rename to crates/bito-core/src/analysis/mod.rs diff --git a/crates/bito-lint-core/src/analysis/overused.rs b/crates/bito-core/src/analysis/overused.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/overused.rs rename to crates/bito-core/src/analysis/overused.rs diff --git a/crates/bito-lint-core/src/analysis/pacing.rs b/crates/bito-core/src/analysis/pacing.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/pacing.rs rename to crates/bito-core/src/analysis/pacing.rs diff --git a/crates/bito-lint-core/src/analysis/repeated.rs b/crates/bito-core/src/analysis/repeated.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/repeated.rs rename to crates/bito-core/src/analysis/repeated.rs diff --git a/crates/bito-lint-core/src/analysis/reports.rs b/crates/bito-core/src/analysis/reports.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/reports.rs rename to crates/bito-core/src/analysis/reports.rs diff --git a/crates/bito-lint-core/src/analysis/sensory.rs b/crates/bito-core/src/analysis/sensory.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/sensory.rs rename to crates/bito-core/src/analysis/sensory.rs diff --git a/crates/bito-lint-core/src/analysis/sentence_length.rs b/crates/bito-core/src/analysis/sentence_length.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/sentence_length.rs rename to crates/bito-core/src/analysis/sentence_length.rs diff --git a/crates/bito-lint-core/src/analysis/sticky.rs b/crates/bito-core/src/analysis/sticky.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/sticky.rs rename to crates/bito-core/src/analysis/sticky.rs diff --git a/crates/bito-lint-core/src/analysis/style.rs b/crates/bito-core/src/analysis/style.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/style.rs rename to crates/bito-core/src/analysis/style.rs diff --git a/crates/bito-lint-core/src/analysis/transitions.rs b/crates/bito-core/src/analysis/transitions.rs similarity index 100% rename from crates/bito-lint-core/src/analysis/transitions.rs rename to crates/bito-core/src/analysis/transitions.rs diff --git a/crates/bito-lint-core/src/completeness.rs b/crates/bito-core/src/completeness.rs similarity index 100% rename from crates/bito-lint-core/src/completeness.rs rename to crates/bito-core/src/completeness.rs diff --git a/crates/bito-lint-core/src/config.rs b/crates/bito-core/src/config.rs similarity index 97% rename from crates/bito-lint-core/src/config.rs rename to crates/bito-core/src/config.rs index 6c48d0f..7f2c511 100644 --- a/crates/bito-lint-core/src/config.rs +++ b/crates/bito-core/src/config.rs @@ -17,7 +17,7 @@ //! - `.bito-lint.` in current directory or any parent //! - `bito.` in current directory or any parent //! - `.bito.` in current directory or any parent -//! - `~/.config/bito-lint/config.` (user config) +//! - `~/.config/bito/config.` (user config) //! //! Where `` is one of: `toml`, `yaml`, `yml`, `json` //! @@ -27,7 +27,7 @@ //! # Example //! ```no_run //! use camino::Utf8PathBuf; -//! use bito_lint_core::config::{Config, ConfigLoader}; +//! use bito_core::config::{Config, ConfigLoader}; //! //! let cwd = std::env::current_dir().unwrap(); //! let cwd = Utf8PathBuf::try_from(cwd).expect("current directory is not valid UTF-8"); @@ -207,7 +207,7 @@ pub struct Rule { pub checks: RuleChecks, } -/// The configuration for bito-lint. +/// The configuration for bito. /// /// Add your configuration fields here. This struct is deserialized from /// config files found during discovery (TOML, YAML, or JSON). @@ -318,7 +318,7 @@ impl ConfigSources { const CONFIG_EXTENSIONS: &[&str] = &["toml", "yaml", "yml", "json"]; /// Application name for XDG directory lookup and config file names. -const APP_NAME: &str = "bito-lint"; +const APP_NAME: &str = "bito"; /// Application names to search for config files (in precedence order, lowest first). const APP_NAMES: &[&str] = &["bito", "bito-lint"]; @@ -355,7 +355,7 @@ impl ConfigLoader { self } - /// Set whether to include user config from `~/.config/bito-lint/`. + /// Set whether to include user config from `~/.config/bito/`. pub const fn with_user_config(mut self, include: bool) -> Self { self.include_user_config = include; self @@ -394,7 +394,7 @@ impl ConfigLoader { /// Precedence (highest to lowest): /// 1. Explicit files (in order added via `with_file`) /// 2. Project config (closest to search root) - /// 3. User config (`~/.config/bito-lint/config.`) + /// 3. User config (`~/.config/bito/config.`) /// 4. Default values #[tracing::instrument(skip(self), fields(search_root = ?self.project_search_root))] pub fn load(self) -> ConfigResult<(Config, ConfigSources)> { @@ -426,8 +426,8 @@ impl ConfigLoader { sources.explicit_files = self.explicit_files; // Environment variables (highest precedence) - // BITO_LINT_DIALECT=en-gb, BITO_LINT_LOG_LEVEL=debug, etc. - figment = figment.merge(Env::prefixed("BITO_LINT_").lowercase(true)); + // BITO_DIALECT=en-gb, BITO_LOG_LEVEL=debug, etc. + figment = figment.merge(Env::prefixed("BITO_").lowercase(true)); let config: Config = figment .extract() @@ -544,7 +544,7 @@ fn project_dirs() -> Option { /// Get the user config directory path. /// -/// Returns `~/.config/bito-lint/` on Linux, `~/Library/Application Support/bito-lint/` +/// Returns `~/.config/bito/` on Linux, `~/Library/Application Support/bito/` /// on macOS, and equivalent on other platforms. pub fn user_config_dir() -> Option { let proj_dirs = project_dirs()?; @@ -553,7 +553,7 @@ pub fn user_config_dir() -> Option { /// Get the user cache directory path. /// -/// Returns `~/.cache/bito-lint/` on Linux, `~/Library/Caches/bito-lint/` +/// Returns `~/.cache/bito/` on Linux, `~/Library/Caches/bito/` /// on macOS, and equivalent on other platforms. pub fn user_cache_dir() -> Option { let proj_dirs = project_dirs()?; @@ -562,7 +562,7 @@ pub fn user_cache_dir() -> Option { /// Get the user data directory path. /// -/// Returns `~/.local/share/bito-lint/` on Linux, `~/Library/Application Support/bito-lint/` +/// Returns `~/.local/share/bito/` on Linux, `~/Library/Application Support/bito/` /// on macOS, and equivalent on other platforms. pub fn user_data_dir() -> Option { let proj_dirs = project_dirs()?; @@ -571,7 +571,7 @@ pub fn user_data_dir() -> Option { /// Get the local data directory path (machine-specific, not synced). /// -/// Returns `~/.local/share/bito-lint/` on Linux, `~/Library/Application Support/bito-lint/` +/// Returns `~/.local/share/bito/` on Linux, `~/Library/Application Support/bito/` /// on macOS, and equivalent on other platforms. pub fn user_data_local_dir() -> Option { let proj_dirs = project_dirs()?; @@ -782,7 +782,7 @@ log_dir = "/tmp/bito-lint" // Should return Some on most systems let dir = user_config_dir(); if let Some(path) = dir { - assert!(path.as_str().contains("bito-lint")); + assert!(path.as_str().contains("bito")); } } @@ -877,7 +877,7 @@ log_dir = "/tmp/bito-lint" // SAFETY: Test environment — mutex serializes env access across tests. unsafe { - std::env::set_var("BITO_LINT_DIALECT", "en-ca"); + std::env::set_var("BITO_DIALECT", "en-ca"); } let (config, _sources) = ConfigLoader::new() @@ -890,7 +890,7 @@ log_dir = "/tmp/bito-lint" // SAFETY: Cleanup after test. unsafe { - std::env::remove_var("BITO_LINT_DIALECT"); + std::env::remove_var("BITO_DIALECT"); } } @@ -907,7 +907,7 @@ log_dir = "/tmp/bito-lint" // SAFETY: Test environment — mutex serializes env access across tests. unsafe { - std::env::set_var("BITO_LINT_DIALECT", "en-au"); + std::env::set_var("BITO_DIALECT", "en-au"); } let (config, _sources) = ConfigLoader::new() @@ -920,7 +920,7 @@ log_dir = "/tmp/bito-lint" // SAFETY: Cleanup after test. unsafe { - std::env::remove_var("BITO_LINT_DIALECT"); + std::env::remove_var("BITO_DIALECT"); } } diff --git a/crates/bito-lint-core/src/dictionaries/abbreviations.rs b/crates/bito-core/src/dictionaries/abbreviations.rs similarity index 100% rename from crates/bito-lint-core/src/dictionaries/abbreviations.rs rename to crates/bito-core/src/dictionaries/abbreviations.rs diff --git a/crates/bito-lint-core/src/dictionaries/irregular_verbs.rs b/crates/bito-core/src/dictionaries/irregular_verbs.rs similarity index 100% rename from crates/bito-lint-core/src/dictionaries/irregular_verbs.rs rename to crates/bito-core/src/dictionaries/irregular_verbs.rs diff --git a/crates/bito-lint-core/src/dictionaries/mod.rs b/crates/bito-core/src/dictionaries/mod.rs similarity index 100% rename from crates/bito-lint-core/src/dictionaries/mod.rs rename to crates/bito-core/src/dictionaries/mod.rs diff --git a/crates/bito-lint-core/src/dictionaries/syllable_dict.rs b/crates/bito-core/src/dictionaries/syllable_dict.rs similarity index 100% rename from crates/bito-lint-core/src/dictionaries/syllable_dict.rs rename to crates/bito-core/src/dictionaries/syllable_dict.rs diff --git a/crates/bito-lint-core/src/directives.rs b/crates/bito-core/src/directives.rs similarity index 100% rename from crates/bito-lint-core/src/directives.rs rename to crates/bito-core/src/directives.rs diff --git a/crates/bito-lint-core/src/error.rs b/crates/bito-core/src/error.rs similarity index 98% rename from crates/bito-lint-core/src/error.rs rename to crates/bito-core/src/error.rs index 67dcc8b..10fc7f2 100644 --- a/crates/bito-lint-core/src/error.rs +++ b/crates/bito-core/src/error.rs @@ -1,4 +1,4 @@ -//! Error types for bito-lint-core. +//! Error types for bito-core. use camino::Utf8PathBuf; use thiserror::Error; diff --git a/crates/bito-lint-core/src/grammar/checker.rs b/crates/bito-core/src/grammar/checker.rs similarity index 100% rename from crates/bito-lint-core/src/grammar/checker.rs rename to crates/bito-core/src/grammar/checker.rs diff --git a/crates/bito-lint-core/src/grammar/mod.rs b/crates/bito-core/src/grammar/mod.rs similarity index 100% rename from crates/bito-lint-core/src/grammar/mod.rs rename to crates/bito-core/src/grammar/mod.rs diff --git a/crates/bito-lint-core/src/grammar/passive_voice.rs b/crates/bito-core/src/grammar/passive_voice.rs similarity index 100% rename from crates/bito-lint-core/src/grammar/passive_voice.rs rename to crates/bito-core/src/grammar/passive_voice.rs diff --git a/crates/bito-lint-core/src/lib.rs b/crates/bito-core/src/lib.rs similarity index 94% rename from crates/bito-lint-core/src/lib.rs rename to crates/bito-core/src/lib.rs index f2465d1..08efc37 100644 --- a/crates/bito-lint-core/src/lib.rs +++ b/crates/bito-core/src/lib.rs @@ -1,7 +1,7 @@ -//! Core library for bito-lint. +//! Core library for bito. //! //! This crate provides writing analysis functionality used by the -//! `bito-lint` CLI and MCP server. +//! `bito` CLI and MCP server. //! //! # Modules //! @@ -17,7 +17,7 @@ //! # Quick Start //! //! ```no_run -//! use bito_lint_core::tokens; +//! use bito_core::tokens; //! //! let report = tokens::count_tokens("Hello, world!", Some(100), tokens::Backend::default()).unwrap(); //! println!("Tokens: {}, over budget: {}", report.count, report.over_budget); @@ -43,6 +43,8 @@ pub use config::{Config, ConfigLoader, CustomEntry, Dialect, LogLevel}; pub use error::{AnalysisError, AnalysisResult, ConfigError, ConfigResult}; pub use tokens::Backend; +pub mod observability; + /// Default maximum input size: 5 MiB. pub const DEFAULT_MAX_INPUT_BYTES: usize = 5_242_880; diff --git a/crates/bito-lint-core/src/lint.rs b/crates/bito-core/src/lint.rs similarity index 100% rename from crates/bito-lint-core/src/lint.rs rename to crates/bito-core/src/lint.rs diff --git a/crates/bito-lint-core/src/markdown.rs b/crates/bito-core/src/markdown.rs similarity index 100% rename from crates/bito-lint-core/src/markdown.rs rename to crates/bito-core/src/markdown.rs diff --git a/crates/bito-lint/src/observability.rs b/crates/bito-core/src/observability.rs similarity index 97% rename from crates/bito-lint/src/observability.rs rename to crates/bito-core/src/observability.rs index 832ff87..7979ef3 100644 --- a/crates/bito-lint/src/observability.rs +++ b/crates/bito-core/src/observability.rs @@ -13,8 +13,8 @@ use tracing_subscriber::filter::EnvFilter; use tracing_subscriber::layer::{Context as LayerContext, SubscriberExt}; use tracing_subscriber::registry::LookupSpan; use tracing_subscriber::util::SubscriberInitExt; -const ENV_LOG_PATH: &str = "BITO_LINT_LOG_PATH"; -const ENV_LOG_DIR: &str = "BITO_LINT_LOG_DIR"; +const ENV_LOG_PATH: &str = "BITO_LOG_PATH"; +const ENV_LOG_DIR: &str = "BITO_LOG_DIR"; const DEFAULT_LOG_DIR_UNIX: &str = "/var/log"; const LOG_FILE_SUFFIX: &str = ".jsonl"; @@ -438,7 +438,7 @@ mod tests { #[test] fn log_target_from_path_uses_parent_dir() { - let temp_dir = std::env::temp_dir().join("bito-lint-log-path"); + let temp_dir = std::env::temp_dir().join("bito-log-path"); let file_path = temp_dir.join("custom.jsonl"); let target = log_target_from_path(file_path).expect("log target from path"); @@ -448,7 +448,7 @@ mod tests { #[test] fn log_target_from_dir_appends_file_name() { - let temp_dir = std::env::temp_dir().join("bito-lint-log-dir"); + let temp_dir = std::env::temp_dir().join("bito-log-dir"); let target = log_target_from_dir(temp_dir.clone(), "demo").expect("log target from dir"); assert_eq!(target.dir, temp_dir); assert_eq!(target.file_name, format!("demo{LOG_FILE_SUFFIX}")); @@ -456,7 +456,7 @@ mod tests { #[test] fn resolve_log_target_with_prefers_path_override() { - let temp_dir = std::env::temp_dir().join("bito-lint-log-override"); + let temp_dir = std::env::temp_dir().join("bito-log-override"); let file_path = temp_dir.join("override.jsonl"); let target = resolve_log_target_with("demo", Some(file_path.clone()), None, None) @@ -467,7 +467,7 @@ mod tests { #[test] fn resolve_log_target_with_falls_back_to_dir_override() { - let temp_dir = std::env::temp_dir().join("bito-lint-log-dir-override"); + let temp_dir = std::env::temp_dir().join("bito-log-dir-override"); let target = resolve_log_target_with("demo", None, Some(temp_dir.clone()), None) .expect("dir override log target"); @@ -477,7 +477,7 @@ mod tests { #[test] fn resolve_log_target_with_uses_config_dir() { - let temp_dir = std::env::temp_dir().join("bito-lint-log-config-dir"); + let temp_dir = std::env::temp_dir().join("bito-log-config-dir"); let target = resolve_log_target_with("demo", None, None, Some(temp_dir.clone())) .expect("config dir log target"); diff --git a/crates/bito-lint-core/src/readability.rs b/crates/bito-core/src/readability.rs similarity index 100% rename from crates/bito-lint-core/src/readability.rs rename to crates/bito-core/src/readability.rs diff --git a/crates/bito-lint-core/src/rules.rs b/crates/bito-core/src/rules.rs similarity index 100% rename from crates/bito-lint-core/src/rules.rs rename to crates/bito-core/src/rules.rs diff --git a/crates/bito-lint-core/src/text.rs b/crates/bito-core/src/text.rs similarity index 100% rename from crates/bito-lint-core/src/text.rs rename to crates/bito-core/src/text.rs diff --git a/crates/bito-core/src/tokens.rs b/crates/bito-core/src/tokens.rs new file mode 100644 index 0000000..3bbd794 --- /dev/null +++ b/crates/bito-core/src/tokens.rs @@ -0,0 +1,217 @@ +//! Pluggable token counting with multiple backends. +//! +//! Delegates to the [`ah_ah_ah`] crate for actual tokenization. +//! +//! Two backends are available: +//! +//! - **Claude** (default): Uses ctoc's 38,360 API-verified Claude 3+ tokens +//! with greedy longest-match. Markdown-aware: decomposes tables so pipe +//! boundaries are respected. Overcounts by ~4% compared to the real Claude +//! tokenizer — safe for budget enforcement. +//! - **OpenAI**: Uses `bpe-openai` for exact o200k_base BPE encoding. +//! +//! For exact Claude counts, use the Anthropic `count_tokens` API. + +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; + +use crate::error::AnalysisResult; + +/// Tokenizer backend for token counting. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize, Serialize, JsonSchema)] +#[serde(rename_all = "kebab-case")] +#[cfg_attr(feature = "clap", derive(clap::ValueEnum))] +pub enum Backend { + /// Claude 3+ (ctoc verified vocab, greedy longest-match). Overcounts ~4%. + #[default] + Claude, + /// OpenAI o200k_base (exact BPE encoding via bpe-openai). + #[cfg_attr(feature = "clap", value(name = "openai"))] + Openai, +} + +impl Backend { + /// Returns the backend name as a lowercase string slice. + pub const fn as_str(&self) -> &'static str { + match self { + Self::Claude => "claude", + Self::Openai => "openai", + } + } + + /// Convert to the upstream ah-ah-ah backend. + const fn to_upstream(self) -> ah_ah_ah::Backend { + match self { + Self::Claude => ah_ah_ah::Backend::Claude, + Self::Openai => ah_ah_ah::Backend::Openai, + } + } +} + +impl std::fmt::Display for Backend { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(self.as_str()) + } +} + +/// Result of counting tokens in a text. +#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)] +pub struct TokenReport { + /// Number of tokens in the text. + pub count: usize, + /// Token budget (if provided). + #[serde(skip_serializing_if = "Option::is_none")] + pub budget: Option, + /// Whether the count exceeds the budget. + pub over_budget: bool, + /// Which tokenizer backend produced this count. + pub tokenizer: String, +} + +/// Count tokens in text using the specified backend. +/// +/// Automatically applies markdown-aware decomposition for the Claude backend +/// (table boundaries are respected). Exact backends (OpenAI) skip decomposition. +/// +/// # Arguments +/// +/// * `text` — The text to tokenize. +/// * `budget` — Optional maximum token count. If provided, `over_budget` +/// in the report indicates whether the text exceeds it. +/// * `backend` — Which tokenizer to use. +#[tracing::instrument(skip(text), fields(text_len = text.len(), backend = %backend))] +pub fn count_tokens( + text: &str, + budget: Option, + backend: Backend, +) -> AnalysisResult { + let md = ah_ah_ah::MarkdownDecomposer; + let upstream = ah_ah_ah::count_tokens(text, budget, backend.to_upstream(), Some(&md)); + + Ok(TokenReport { + count: upstream.count, + budget: upstream.budget, + over_budget: upstream.over_budget, + tokenizer: upstream.tokenizer, + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn claude_backend_counts_tokens() { + let report = count_tokens("Hello, world!", None, Backend::Claude).unwrap(); + assert!(report.count > 0); + assert_eq!(report.tokenizer, "claude"); + } + + #[test] + fn openai_backend_counts_tokens() { + let report = count_tokens("Hello, world!", None, Backend::Openai).unwrap(); + assert!(report.count > 0); + assert_eq!(report.tokenizer, "openai"); + } + + #[test] + fn claude_overcounts_vs_openai() { + let text = "The quick brown fox jumps over the lazy dog. \ + This is a longer passage of English text that should \ + demonstrate the conservative overcounting behavior of \ + the Claude tokenizer backend compared to OpenAI's exact \ + encoding."; + let claude = count_tokens(text, None, Backend::Claude).unwrap(); + let openai = count_tokens(text, None, Backend::Openai).unwrap(); + assert!( + claude.count >= openai.count, + "Claude ({}) should overcount vs OpenAI ({})", + claude.count, + openai.count + ); + } + + #[test] + fn backend_default_is_claude() { + assert_eq!(Backend::default(), Backend::Claude); + } + + #[test] + fn backend_display_and_as_str() { + assert_eq!(Backend::Claude.as_str(), "claude"); + assert_eq!(Backend::Openai.as_str(), "openai"); + assert_eq!(format!("{}", Backend::Claude), "claude"); + assert_eq!(format!("{}", Backend::Openai), "openai"); + } + + #[test] + fn detects_over_budget() { + let report = + count_tokens("Hello, world! This is a test.", Some(1), Backend::default()).unwrap(); + assert!(report.over_budget); + assert_eq!(report.budget, Some(1)); + } + + #[test] + fn within_budget() { + let report = count_tokens("Hi", Some(100), Backend::default()).unwrap(); + assert!(!report.over_budget); + } + + #[test] + fn empty_text_returns_zero() { + let report = count_tokens("", None, Backend::Claude).unwrap(); + assert_eq!(report.count, 0); + let report = count_tokens("", None, Backend::Openai).unwrap(); + assert_eq!(report.count, 0); + } + + #[test] + fn backend_serde_roundtrip() { + let json = serde_json::to_string(&Backend::Claude).unwrap(); + assert_eq!(json, "\"claude\""); + let back: Backend = serde_json::from_str(&json).unwrap(); + assert_eq!(back, Backend::Claude); + + let json = serde_json::to_string(&Backend::Openai).unwrap(); + assert_eq!(json, "\"openai\""); + let back: Backend = serde_json::from_str(&json).unwrap(); + assert_eq!(back, Backend::Openai); + } + + #[test] + fn table_aware_counting() { + let table = "| Name | Age |\n|------|-----|\n| Alice | 30 |\n| Bob | 25 |\n"; + let report = count_tokens(table, None, Backend::Claude).unwrap(); + assert!(report.count > 0, "table should produce tokens"); + } + + #[test] + fn mixed_table_and_prose() { + let text = "Some prose before the table.\n\n\ + | Col A | Col B |\n\ + |-------|-------|\n\ + | x | y |\n\n\ + Some prose after the table."; + let report = count_tokens(text, None, Backend::Claude).unwrap(); + assert!(report.count > 0, "should produce a positive count"); + } + + #[test] + fn claude_overcounts_vs_openai_with_tables() { + let text = "# Report\n\n\ + | Metric | Value |\n\ + |--------|-------|\n\ + | CPU | 85% |\n\ + | Memory | 4 GB |\n\n\ + Overall performance is satisfactory."; + let claude = count_tokens(text, None, Backend::Claude).unwrap(); + let openai = count_tokens(text, None, Backend::Openai).unwrap(); + assert!( + claude.count >= openai.count, + "Claude ({}) should overcount vs OpenAI ({}) even with tables", + claude.count, + openai.count + ); + } +} diff --git a/crates/bito-lint-core/src/word_lists.rs b/crates/bito-core/src/word_lists.rs similarity index 100% rename from crates/bito-lint-core/src/word_lists.rs rename to crates/bito-core/src/word_lists.rs diff --git a/crates/bito-lint-core/src/claude_vocab.json b/crates/bito-lint-core/src/claude_vocab.json deleted file mode 100644 index d693e1b..0000000 --- a/crates/bito-lint-core/src/claude_vocab.json +++ /dev/null @@ -1,38362 +0,0 @@ -[ - "\t", - "\t\t", - "\t\t\t", - "\t\t\t\t", - "\n", - "\n\n", - "\r\n", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " !", - " ![", - " \"", - " \"\"", - " \"\"\"", - " \"\",", - " \"\";", - " \"#", - " \"$", - " \"${", - " \"%", - " \"&", - " \"'", - " \"(", - " \")", - " \");", - " \"*", - " \"+", - " \",", - " \"-", - " \"--", - " \".", - " \"../", - " \"./", - " \"/", - " \";", - " \"<", - " \"", - " %}", - " &", - " &&", - " '", - " '\"", - " '#", - " '$", - " '%", - " ''", - " '''", - " '')", - " '',", - " '';", - " ')", - " '*", - " '+", - " ',", - " '-", - " '--", - " '.", - " '../", - " './", - " '/", - " ':", - " '<", - " '", - " ->", - " .", - " ..", - " ...", - " ../", - " ./", - " /", - " /*", - " /**", - " //", - " />", - " />", - " ", - " >", - " >>", - " ?", - " ?>", - " ???", - " @", - " A", - " AA", - " AB", - " ABC", - " AC", - " ACC", - " ACCESS", - " ACTION", - " AD", - " ADD", - " ADDRESS", - " AF", - " AFC", - " AFL", - " AFP", - " AG", - " AI", - " AIDS", - " AL", - " ALL", - " ALTER", - " AM", - " AMD", - " AN", - " AND", - " ANY", - " AP", - " API", - " APIs", - " APP", - " APPLICATION", - " AR", - " ARE", - " ARISING", - " ARM", - " AS", - " ASCII", - " AT", - " ATP", - " AU", - " AUTH", - " AUTHORS", - " AUTO", - " AWS", - " Aaron", - " Ab", - " Abbas", - " Abbey", - " Abbott", - " Abd", - " Abdul", - " Abdullah", - " Abel", - " Aberdeen", - " Aboriginal", - " About", - " Above", - " Abraham", - " Abstract", - " Abu", - " Academia", - " Academic", - " Academy", - " Accept", - " Access", - " According", - " Account", - " Achievement", - " Act", - " Acting", - " Action", - " Actions", - " Active", - " Activities", - " Activity", - " Actor", - " Acts", - " Actually", - " Ad", - " Ada", - " Adam", - " Adams", - " Add", - " Added", - " Adding", - " Addition", - " Additional", - " Additionally", - " Address", - " Adelaide", - " Adjacent", - " Admin", - " Administration", - " Administrative", - " Administrator", - " Admiral", - " Adobe", - " Adolf", - " Adrian", - " Adult", - " Adults", - " Advanced", - " Adventure", - " Adventures", - " Advertisement", - " Advisory", - " Affairs", - " Afghan", - " Afghanistan", - " Africa", - " African", - " Afrika", - " After", - " Again", - " Against", - " Age", - " Agency", - " Agent", - " Ages", - " Agnes", - " Agreement", - " Agricultural", - " Agriculture", - " Ahmad", - " Ahmed", - " Aid", - " Air", - " Aircraft", - " Aires", - " Airlines", - " Airport", - " Airways", - " Ajax", - " Al", - " Alabama", - " Alan", - " Alaska", - " Alba", - " Albania", - " Albany", - " Albert", - " Alberta", - " Alberto", - " Album", - " Albums", - " Alert", - " Alessandro", - " Alex", - " Alexander", - " Alexandra", - " Alexandre", - " Alexandria", - " Alfonso", - " Alfred", - " Algeria", - " Algorithm", - " Ali", - " Alice", - " All", - " Allah", - " Allan", - " Allen", - " Alliance", - " Allied", - " Allow", - " Almost", - " Along", - " Alpha", - " Alpine", - " Alps", - " Already", - " Als", - " Also", - " Alt", - " Alta", - " Alternative", - " Although", - " Alto", - " Alumni", - " Always", - " Am", - " Amanda", - " Amateur", - " Amazing", - " Amazon", - " Ambassador", - " Amendment", - " America", - " American", - " Americans", - " Americas", - " Amerika", - " Amerikaanse", - " Among", - " Amount", - " Amsterdam", - " Amy", - " América", - " An", - " Ana", - " Analysis", - " Analytics", - " Ancient", - " And", - " Anders", - " Anderson", - " Andre", - " Andrea", - " Andreas", - " Andrew", - " Andrews", - " Android", - " André", - " Andy", - " Angel", - " Angela", - " Angeles", - " Angelo", - " Angels", - " Anglican", - " Anglo", - " Angola", - " Angular", - " Animal", - " Animals", - " Animation", - " Ann", - " Anna", - " Anne", - " Annie", - " Anniversary", - " Annual", - " Anonymous", - " Another", - " Answer", - " Antarctic", - " Antarctica", - " Anthony", - " Anti", - " Antoine", - " Anton", - " Antoni", - " Antonio", - " António", - " Any", - " Anyone", - " Apache", - " Apart", - " Api", - " Apollo", - " App", - " Appeal", - " Appeals", - " Apple", - " Application", - " Applications", - " Applied", - " Apply", - " Apps", - " Apr", - " April", - " Aquest", - " Arab", - " Arabia", - " Arabian", - " Arabic", - " Arabs", - " Arc", - " Archaeological", - " Archbishop", - " Architecture", - " Archive", - " Archives", - " Arctic", - " Arduino", - " Are", - " Area", - " Areas", - " Arena", - " Argentina", - " Argentine", - " Args", - " Arguments", - " Arial", - " Arizona", - " Arkansas", - " Arlington", - " Armed", - " Armenia", - " Armenian", - " Arms", - " Armstrong", - " Army", - " Arnold", - " Around", - " Array", - " ArrayList", - " Arrays", - " Arrow", - " Arsenal", - " Art", - " Arte", - " Arthur", - " Article", - " Articles", - " Artillery", - " Artist", - " Artists", - " Arts", - " As", - " Ashley", - " Asia", - " Asian", - " Ask", - " Asked", - " Assad", - " Assembly", - " Assert", - " Assessment", - " Asset", - " Assets", - " Assignment", - " Assistant", - " Associate", - " Associated", - " Associates", - " Association", - " At", - " Athens", - " Athletes", - " Athletic", - " Athletics", - " Atlanta", - " Atlantic", - " Atlas", - " Attack", - " Attorney", - " Attribution", - " Au", - " Auburn", - " Auckland", - " Audio", - " Aug", - " August", - " Augusta", - " Augustine", - " Augustus", - " Aurora", - " Austin", - " Australia", - " Australian", - " Austria", - " Austrian", - " Auth", - " Authentication", - " Author", - " Authority", - " Authorization", - " Authors", - " Auto", - " Available", - " Avatar", - " Ave", - " Avenue", - " Average", - " Aviation", - " Aviv", - " Award", - " Awards", - " Away", - " Az", - " Azerbaijan", - " Azure", - " B", - " BA", - " BASE", - " BASIS", - " BB", - " BBC", - " BC", - " BCE", - " BD", - " BE", - " BEGIN", - " BGR", - " BJP", - " BLACK", - " BMW", - " BP", - " BR", - " BS", - " BSD", - " BUILD", - " BUT", - " BY", - " Ba", - " Baby", - " Bach", - " Bachelor", - " Back", - " Backend", - " Background", - " Bad", - " Baden", - " Badge", - " Baghdad", - " Bailey", - " Baker", - " Balance", - " Baldwin", - " Ball", - " Ballet", - " Baltic", - " Baltimore", - " Ban", - " Band", - " Bang", - " Bangkok", - " Bangladesh", - " Bank", - " Banking", - " Banks", - " Banner", - " Baptist", - " Bar", - " Barack", - " Barbara", - " Barcelona", - " Barnes", - " Baron", - " Barrett", - " Barry", - " Base", - " Baseball", - " Based", - " Basel", - " Basic", - " Basin", - " Basketball", - " Bass", - " Bath", - " Batman", - " Battalion", - " Battery", - " Battle", - " Bavaria", - " Bay", - " Bayern", - " Be", - " Beach", - " Bean", - " Bear", - " Bears", - " Beast", - " Beat", - " Beatles", - " Beautiful", - " Beauty", - " Because", - " Beck", - " Bedford", - " Been", - " Beer", - " Before", - " Begin", - " Beginning", - " Begriff", - " Behind", - " Bei", - " Beijing", - " Being", - " Belarus", - " Belfast", - " Belgian", - " Belgium", - " België", - " Bell", - " Belle", - " Below", - " Belt", - " Ben", - " Benedict", - " Benefits", - " Bengal", - " Bengali", - " Benjamin", - " Bennett", - " Berg", - " Bergen", - " Berkeley", - " Berlin", - " Bernard", - " Bernie", - " Berry", - " Besides", - " Best", - " Beta", - " Beth", - " Better", - " Betty", - " Between", - " Beverly", - " Beyond", - " Bible", - " Biblical", - " Biden", - " Big", - " Bihar", - " Bij", - " Bill", - " Billboard", - " Bills", - " Billy", - " Binary", - " Bio", - " Biography", - " Biology", - " Bird", - " Birds", - " Birmingham", - " Birth", - " Birthday", - " Bishop", - " Bitcoin", - " Black", - " Blair", - " Blake", - " Block", - " Blog", - " Blood", - " Bloomberg", - " Blue", - " Blueprint", - " Blues", - " Bo", - " Board", - " Bob", - " Bobby", - " Bodies", - " Body", - " Boeing", - " Bold", - " Bolivia", - " Bologna", - " Bolton", - " Bonaparte", - " Bond", - " Book", - " Books", - " Bool", - " Boolean", - " Boot", - " Bootstrap", - " Border", - " Boris", - " Born", - " Borough", - " Bosnia", - " Boss", - " Boston", - " Bot", - " Both", - " Bottom", - " Boulder", - " Boulevard", - " Bowl", - " Box", - " Boxing", - " Boy", - " Boyd", - " Boys", - " Brad", - " Bradford", - " Bradley", - " Brady", - " Brain", - " Branch", - " Brand", - " Brandenburg", - " Brandon", - " Brasil", - " Brazil", - " Brazilian", - " Break", - " Breaking", - " Bremen", - " Brett", - " Brexit", - " Brian", - " Bridge", - " Brief", - " Brigade", - " Brighton", - " Brisbane", - " Bristol", - " Britain", - " British", - " Broadcasting", - " Broadway", - " Bronze", - " Brook", - " Brooklyn", - " Brooks", - " Bros", - " Brother", - " Brotherhood", - " Brothers", - " Brown", - " Browns", - " Browse", - " Browser", - " Bruce", - " Bruno", - " Brunswick", - " Brussels", - " Bryan", - " Bryant", - " Bu", - " Buck", - " Budapest", - " Buddha", - " Buddhism", - " Buddhist", - " Budget", - " Buenos", - " Buffalo", - " Buffer", - " Bug", - " Build", - " Builder", - " Building", - " Buildings", - " Built", - " Bulgaria", - " Bulgarian", - " Bull", - " Bulls", - " Bundle", - " Bureau", - " Burke", - " Burlington", - " Burma", - " Burns", - " Burton", - " Bus", - " Bush", - " Business", - " But", - " Butler", - " Button", - " Buy", - " By", - " Byron", - " Byzantine", - " C", - " CA", - " CASCADE", - " CB", - " CBC", - " CBD", - " CBS", - " CC", - " CD", - " CDC", - " CE", - " CENTER", - " CEO", - " CF", - " CH", - " CHARACTER", - " CHECK", - " CI", - " CIA", - " CLASS", - " CLI", - " CLIENT", - " CM", - " CMD", - " CN", - " CNN", - " CO", - " CODE", - " COLOR", - " COM", - " CONDITIONS", - " CONFIG", - " CONNECTION", - " CONTRACT", - " COPYRIGHT", - " COUNT", - " COVID", - " CP", - " CPU", - " CR", - " CREATE", - " CS", - " CSS", - " CSV", - " CT", - " CV", - " Ca", - " Cabinet", - " Cable", - " Cache", - " Caesar", - " Cairo", - " Cal", - " Calculate", - " Calculator", - " Calendar", - " Calgary", - " California", - " Call", - " Called", - " Calvin", - " Cambodia", - " Cambridge", - " Camden", - " Camera", - " Cameron", - " Camp", - " Campaign", - " Campbell", - " Campo", - " Campus", - " Can", - " Canada", - " Canadian", - " Canal", - " Cancel", - " Cancer", - " Cannabis", - " Cannot", - " Canon", - " Canterbury", - " Canton", - " Canvas", - " Canyon", - " Cap", - " Cape", - " Capital", - " Capitol", - " Captain", - " Caption", - " Car", - " Carbon", - " Card", - " Cardiff", - " Cardinal", - " Cardinals", - " Cards", - " Care", - " Career", - " Caribbean", - " Carl", - " Carlo", - " Carlos", - " Carlton", - " Carmen", - " Carnegie", - " Carol", - " Carolina", - " Caroline", - " Carroll", - " Cars", - " Carson", - " Cart", - " Carter", - " Casa", - " Case", - " Cases", - " Casey", - " Cash", - " Casino", - " Cast", - " Castle", - " Castro", - " Cat", - " Catalunya", - " Categories", - " Category", - " Cathedral", - " Catherine", - " Catholic", - " Catholics", - " Cave", - " Ce", - " Cecil", - " Cedar", - " Celebrity", - " Cell", - " Celtic", - " Cemetery", - " Census", - " Center", - " Centers", - " Central", - " Centre", - " Centro", - " Century", - " Certificate", - " Ces", - " Cette", - " Ch", - " Chad", - " Chain", - " Chair", - " Chairman", - " Challenge", - " Chamber", - " Champion", - " Champions", - " Championship", - " Championships", - " Chan", - " Chancellor", - " Chang", - " Change", - " Changed", - " Changes", - " Channel", - " Chapel", - " Chapman", - " Chapter", - " CharField", - " Character", - " Characters", - " Charles", - " Charleston", - " Charlie", - " Charlotte", - " Chart", - " Charter", - " Charts", - " Chase", - " Chat", - " Check", - " Chef", - " Chelsea", - " Chemical", - " Chemistry", - " Chen", - " Chennai", - " Cherokee", - " Cherry", - " Chess", - " Chester", - " Chi", - " Chicago", - " Chief", - " Chiefs", - " Child", - " Children", - " Chile", - " Chilean", - " China", - " Chinese", - " Choice", - " Choose", - " Chr", - " Chris", - " Christ", - " Christian", - " Christianity", - " Christians", - " Christie", - " Christina", - " Christine", - " Christmas", - " Christopher", - " Chrome", - " Chronicle", - " Chronicles", - " Chuck", - " Church", - " Churches", - " Churchill", - " Cincinnati", - " Cinema", - " Circle", - " Circuit", - " Citation", - " Cities", - " Citizens", - " City", - " Ciudad", - " Civil", - " Claims", - " Claire", - " Clara", - " Clare", - " Clark", - " Clarke", - " Class", - " Classes", - " Classic", - " Classical", - " Classification", - " Claude", - " Clay", - " Clayton", - " Clean", - " Clear", - " Cleveland", - " Click", - " Client", - " Cliente", - " Climate", - " Clinical", - " Clinton", - " Clock", - " Clone", - " Close", - " Cloud", - " Club", - " Co", - " Coach", - " Coal", - " Coalition", - " Coast", - " Code", - " Coffee", - " Cohen", - " Col", - " Cola", - " Cold", - " Cole", - " Coleman", - " Colin", - " Collection", - " Collections", - " College", - " Collins", - " Colombia", - " Colombian", - " Colonel", - " Colonial", - " Colony", - " Color", - " Colorado", - " Colors", - " Columbia", - " Columbus", - " Column", - " Com", - " Combat", - " Combined", - " Come", - " Comedy", - " Comic", - " Comics", - " Coming", - " Command", - " Commander", - " Commands", - " Comment", - " Commentary", - " Comments", - " Commerce", - " Commercial", - " Commission", - " Commissioner", - " Committee", - " Common", - " Commons", - " Commonwealth", - " Communication", - " Communications", - " Communist", - " Communities", - " Community", - " Como", - " Companies", - " Company", - " Compare", - " Compatible", - " Competition", - " Complete", - " Complex", - " Component", - " Components", - " Computer", - " Computing", - " Con", - " Concert", - " Confederate", - " Conference", - " Config", - " Configuration", - " Configure", - " Congo", - " Congress", - " Congressional", - " Connect", - " Connected", - " Connecticut", - " Connection", - " Connor", - " Conrad", - " Conservation", - " Conservative", - " Consider", - " Console", - " Constantin", - " Constantine", - " Constantinople", - " Constants", - " Constitution", - " Constitutional", - " Construction", - " Constructor", - " Consumer", - " Contact", - " Container", - " Contains", - " Contemporary", - " Content", - " Contents", - " Contest", - " Context", - " Continental", - " Continue", - " Contract", - " Contributors", - " Control", - " Controller", - " Controllers", - " Controls", - " Conv", - " Convention", - " Convert", - " Converting", - " Conway", - " Cook", - " Cookie", - " Cool", - " Cooper", - " Copa", - " Copenhagen", - " Copy", - " Copyright", - " Core", - " Cork", - " Cornell", - " Corner", - " Cornwall", - " Corona", - " Corp", - " Corporate", - " Corporation", - " Corps", - " Cost", - " Costa", - " Cotton", - " Could", - " Council", - " Count", - " Counter", - " Counties", - " Countries", - " Country", - " County", - " Course", - " Court", - " Courts", - " Cover", - " Coverage", - " Covid", - " Cowboys", - " Cox", - " Craig", - " Crawford", - " Create", - " Created", - " Creates", - " Creating", - " Creation", - " Creative", - " Creator", - " Credit", - " Credits", - " Creek", - " Cricket", - " Crime", - " Criminal", - " Crisis", - " Cristo", - " Critical", - " Critics", - " Croatia", - " Croatian", - " Cross", - " Crown", - " Cruz", - " Crystal", - " Cu", - " Cuba", - " Cuban", - " Cubs", - " Cultural", - " Culture", - " Cumberland", - " Cup", - " Currency", - " Current", - " Currently", - " Curtis", - " Custom", - " Customer", - " Cut", - " Cyprus", - " Czech", - " César", - " D", - " DA", - " DAMAGES", - " DATA", - " DATABASE", - " DATE", - " DB", - " DC", - " DD", - " DE", - " DEBUG", - " DEFAULT", - " DELETE", - " DESC", - " DIR", - " DJ", - " DN", - " DNA", - " DNS", - " DO", - " DOM", - " DOS", - " DOWN", - " DR", - " DROP", - " DS", - " DVD", - " Da", - " Dad", - " Daily", - " Dakota", - " Dal", - " Dale", - " Dallas", - " Dam", - " Damascus", - " Dame", - " Dan", - " Dana", - " Dance", - " Dancing", - " Daniel", - " Danish", - " Danmark", - " Danny", - " Dans", - " Dark", - " Darwin", - " Das", - " Dashboard", - " Data", - " DataFrame", - " Database", - " Dataset", - " Date", - " DateTime", - " Dating", - " Dave", - " David", - " Davidson", - " Davies", - " Davis", - " Dawn", - " Day", - " Days", - " De", - " Dead", - " Deal", - " Dean", - " Dear", - " Death", - " Deaths", - " Debug", - " Dec", - " December", - " Decision", - " Declaration", - " Deep", - " Default", - " Defence", - " Defense", - " Define", - " Definition", - " Del", - " Delaware", - " Delete", - " Delhi", - " Dell", - " Delta", - " Demo", - " Democracy", - " Democrat", - " Democratic", - " Democrats", - " Den", - " Denis", - " Denmark", - " Dennis", - " Dense", - " Denver", - " Department", - " Dependencies", - " Deploy", - " Depression", - " Deputy", - " Der", - " Derby", - " Derek", - " Des", - " Description", - " Desert", - " Design", - " Designer", - " Desktop", - " Despite", - " Det", - " Detail", - " Details", - " Detection", - " Detective", - " Detroit", - " Detta", - " Dette", - " Deutsche", - " Deutschland", - " Dev", - " Developer", - " Development", - " Device", - " Devil", - " Devils", - " Devon", - " Deze", - " Di", - " Dialog", - " Diamond", - " Diana", - " Dick", - " Dict", - " Dictionary", - " Did", - " Die", - " Diego", - " Dies", - " Diese", - " Diet", - " Different", - " Digital", - " Din", - " Diocese", - " Dir", - " Direct", - " Direction", - " Director", - " Directors", - " Directory", - " Discord", - " Discovery", - " Discussion", - " Disease", - " Disney", - " Display", - " Distance", - " Distinguished", - " Distribution", - " District", - " Districts", - " Dit", - " Divine", - " Division", - " División", - " Dixon", - " Django", - " Do", - " Doc", - " Docker", - " Doctor", - " Document", - " Documentary", - " Documentation", - " Documents", - " Does", - " Dog", - " Dogs", - " Dollar", - " Dom", - " Domain", - " Domini", - " Dominican", - " Don", - " Donald", - " Done", - " Door", - " Dorothy", - " Double", - " Doug", - " Douglas", - " Dover", - " Down", - " Download", - " Downloads", - " Downtown", - " Dr", - " Draft", - " Dragon", - " Dragons", - " Drake", - " Drama", - " Draw", - " Drawing", - " Dream", - " Dreams", - " Dresden", - " Drew", - " Drive", - " Driver", - " Drop", - " Drug", - " Du", - " Dubai", - " Dublin", - " Duck", - " Due", - " Duitse", - " Duke", - " Duncan", - " Durant", - " Durante", - " Duration", - " Durham", - " During", - " Dutch", - " Dylan", - " Dynamic", - " Dynasty", - " E", - " EA", - " EC", - " ED", - " EDT", - " EMAIL", - " EN", - " END", - " ENGINE", - " ENV", - " EOF", - " EP", - " EPA", - " ERA", - " ERROR", - " ES", - " ESP", - " ESPN", - " EST", - " ET", - " EU", - " EUR", - " EVENT", - " EXISTS", - " EXIT", - " EXPRESS", - " Each", - " Eagle", - " Eagles", - " Earl", - " Earlier", - " Early", - " Earth", - " East", - " Easter", - " Eastern", - " Easy", - " Echo", - " Eclipse", - " Economic", - " Economics", - " Economy", - " Ecuador", - " Ed", - " Eddie", - " Eden", - " Edgar", - " Edge", - " Edinburgh", - " Edison", - " Edit", - " Edition", - " Editor", - " Editorial", - " Edmonton", - " Edmund", - " Eduardo", - " Education", - " Educational", - " Edward", - " Edwards", - " Edwin", - " Een", - " Effect", - " Effects", - " Efter", - " Egypt", - " Egyptian", - " Eight", - " Ein", - " Eine", - " Einstein", - " Either", - " El", - " Elder", - " Eleanor", - " Election", - " Elections", - " Electoral", - " Electric", - " Electronic", - " Electronics", - " Element", - " Elementary", - " Elements", - " Elena", - " Elisabeth", - " Elite", - " Elizabeth", - " Elle", - " Ellen", - " Elliott", - " Ellis", - " Els", - " Elvis", - " Em", - " Email", - " Emanuel", - " Embassy", - " Emergency", - " Emil", - " Emily", - " Emirates", - " Emma", - " Emmanuel", - " Emmy", - " Emperor", - " Empire", - " Employee", - " Employment", - " Empty", - " En", - " Enable", - " Encyclopedia", - " End", - " Ende", - " Enemy", - " Energy", - " Engels", - " Engine", - " Engineer", - " Engineering", - " Engineers", - " England", - " English", - " Enhanced", - " Enhancement", - " Enter", - " Enterprise", - " Entertainment", - " Entity", - " Entre", - " Entry", - " Environment", - " Environmental", - " Epic", - " Episcopal", - " Episode", - " Episodes", - " Equal", - " Equipment", - " Er", - " Era", - " Eric", - " Erie", - " Erik", - " Ernest", - " Ernst", - " Error", - " Es", - " España", - " Essay", - " Essays", - " Essential", - " Essex", - " Est", - " Esta", - " Estado", - " Estados", - " Estate", - " Este", - " Estonia", - " Et", - " Ethics", - " Ethiopia", - " Ethiopian", - " Ett", - " Eugene", - " Euro", - " Europa", - " Europe", - " European", - " Europeans", - " Eurovision", - " Eva", - " Evans", - " Eve", - " Even", - " Evening", - " Event", - " Events", - " Eventually", - " Ever", - " Every", - " Everyone", - " Everything", - " Evidence", - " Evil", - " Evolution", - " Ex", - " Example", - " Examples", - " Excel", - " Excellence", - " Exception", - " Exchange", - " Execute", - " Executive", - " Exercise", - " Exhibition", - " Exit", - " Expected", - " Experience", - " Expert", - " Explorer", - " Export", - " Express", - " Expression", - " Extended", - " Extension", - " Extensions", - " Externa", - " External", - " Extra", - " Extract", - " Eye", - " Eyes", - " Ez", - " F", - " FA", - " FALSE", - " FAQ", - " FB", - " FBI", - " FC", - " FDA", - " FF", - " FIFA", - " FILE", - " FILES", - " FITNESS", - " FK", - " FL", - " FLAG", - " FLAGS", - " FM", - " FOR", - " FORMAT", - " FR", - " FREE", - " FROM", - " Face", - " Facebook", - " Factor", - " Factory", - " Facts", - " Faculty", - " Failed", - " Fair", - " Faith", - " Fall", - " Falls", - " False", - " Fame", - " Familie", - " Family", - " Famous", - " Fan", - " Fantasy", - " Far", - " Farm", - " Fashion", - " Fast", - " Fat", - " Fatal", - " Father", - " Fe", - " Fear", - " Feature", - " Featured", - " Features", - " Feb", - " Februar", - " February", - " Fed", - " Federal", - " Federation", - " Federico", - " Fee", - " Feed", - " Feel", - " Felipe", - " Felix", - " Fellow", - " Fellows", - " Fellowship", - " Female", - " Ferdinand", - " Ferguson", - " Fernando", - " Ferrari", - " Ferry", - " Festival", - " Few", - " Fi", - " Fiction", - " Field", - " Fields", - " Fifth", - " Fig", - " Fight", - " Fighter", - " Fighting", - " Figure", - " File", - " Filed", - " Files", - " Filing", - " Filip", - " Filipino", - " Fill", - " Film", - " Films", - " Filter", - " Final", - " Finally", - " Finals", - " Finance", - " Financial", - " Find", - " Finding", - " Fine", - " Finland", - " Finnish", - " Fire", - " Firebase", - " Firefox", - " First", - " Fischer", - " Fish", - " Fisher", - " Five", - " Fix", - " Fixed", - " Flag", - " Flash", - " Flask", - " Fleet", - " Fleming", - " Fletcher", - " Flight", - " Float", - " Floor", - " Flora", - " Florence", - " Florida", - " Flow", - " Floyd", - " Flutter", - " Flying", - " Flynn", - " Focus", - " Foi", - " Folk", - " Follow", - " Following", - " Font", - " Food", - " Foods", - " Football", - " Footer", - " For", - " Forbes", - " Force", - " Forces", - " Ford", - " Foreign", - " Forest", - " Forever", - " Fork", - " Form", - " Format", - " Formation", - " Former", - " Forms", - " Formula", - " Fort", - " Fortune", - " Forum", - " Forums", - " Forward", - " Foster", - " Found", - " Foundation", - " Founded", - " Four", - " Fourth", - " Fox", - " Fr", - " Fra", - " Fragment", - " Frame", - " Framework", - " France", - " Frances", - " Francesco", - " Francia", - " Francis", - " Francisco", - " Franco", - " Frank", - " Frankfurt", - " Franklin", - " Frankrijk", - " Frans", - " Franse", - " Franz", - " França", - " François", - " Fraser", - " Fred", - " Frederick", - " Frederik", - " Free", - " Freedom", - " Freeman", - " French", - " Fresh", - " Friday", - " Friedrich", - " Friend", - " Friends", - " Fritz", - " From", - " Front", - " Fu", - " Full", - " Fuller", - " Fun", - " Function", - " Functions", - " Fund", - " Further", - " Furthermore", - " Future", - " För", - " G", - " GA", - " GB", - " GDP", - " GET", - " GL", - " GM", - " GMT", - " GNU", - " GO", - " GOP", - " GP", - " GPIO", - " GPL", - " GPS", - " GPU", - " GREEN", - " GROUP", - " GT", - " GUI", - " Gabriel", - " Galaxy", - " Gallery", - " Game", - " GameObject", - " Games", - " Gaming", - " Gandhi", - " Gang", - " Gap", - " Garcia", - " García", - " Garden", - " Gardens", - " Gardner", - " Gary", - " Gas", - " Gate", - " Gates", - " Gateway", - " Gay", - " Gaza", - " Gen", - " Gender", - " Gene", - " General", - " Generally", - " Generate", - " Generated", - " Generation", - " Generator", - " Generic", - " Genesis", - " Geneva", - " Genre", - " Geoffrey", - " Geographic", - " Geography", - " Georg", - " George", - " Georges", - " Georgetown", - " Georgia", - " Georgian", - " Gerald", - " Gerard", - " German", - " Germania", - " Germans", - " Germany", - " Geschichte", - " Get", - " Gets", - " Getting", - " Getty", - " Ghana", - " Ghost", - " Giant", - " Giants", - " Gibraltar", - " Gibson", - " Gift", - " Gil", - " Gilbert", - " Giorgio", - " Giovanni", - " Girl", - " Girls", - " Git", - " GitHub", - " Github", - " Giuseppe", - " Give", - " Given", - " Glasgow", - " Glass", - " Glen", - " Glenn", - " Gli", - " Global", - " Globe", - " Gloria", - " Glory", - " Gmail", - " Go", - " Goal", - " Goals", - " God", - " Gods", - " Goes", - " Going", - " Gold", - " Golden", - " Goldman", - " Golf", - " Gone", - " González", - " Good", - " Google", - " Gordon", - " Gore", - " Gospel", - " Got", - " Gothic", - " Gov", - " Government", - " Governor", - " Grace", - " Grade", - " Graduate", - " Graf", - " Graham", - " Grammar", - " Grammy", - " Gran", - " Granada", - " Grand", - " Grande", - " Grant", - " Graph", - " Graphics", - " Gray", - " Great", - " Greater", - " Greatest", - " Greece", - " Greek", - " Greeks", - " Green", - " Greene", - " Greenwich", - " Greg", - " Gregory", - " Grey", - " Grid", - " Griffin", - " Ground", - " Group", - " Groups", - " Grove", - " Growing", - " Growth", - " Guard", - " Guardian", - " Guards", - " Guatemala", - " Guerra", - " Guest", - " Guide", - " Guidelines", - " Guild", - " Guillaume", - " Guinea", - " Guitar", - " Gujarat", - " Gulf", - " Gun", - " Gustav", - " Guy", - " H", - " HBO", - " HC", - " HD", - " HEAD", - " HEIGHT", - " HERE", - " HIGH", - " HIV", - " HMS", - " HOLDERS", - " HOME", - " HOST", - " HP", - " HR", - " HTML", - " HTTP", - " Ha", - " Habsburg", - " Had", - " Hair", - " Haiti", - " Half", - " Halifax", - " Hall", - " Halloween", - " Ham", - " Hamas", - " Hamburg", - " Hamilton", - " Hammond", - " Hampshire", - " Hampton", - " Han", - " Hand", - " Handle", - " Handler", - " Hannah", - " Hans", - " Hansen", - " Happy", - " Harald", - " Harbor", - " Hard", - " Hardware", - " Hardy", - " Harold", - " Harper", - " Harris", - " Harrison", - " Harry", - " Hart", - " Hartford", - " Harvard", - " Harvey", - " Has", - " Hash", - " HashMap", - " Hassan", - " Hat", - " Have", - " Haven", - " Having", - " Hawaii", - " Hawaiian", - " Hawks", - " Hayes", - " He", - " Head", - " Header", - " Headers", - " Headlines", - " Health", - " Healthcare", - " Heart", - " Hearts", - " Heat", - " Heath", - " Heaven", - " Heavy", - " Hebrew", - " Height", - " Heights", - " Heinrich", - " Helen", - " Helena", - " Hell", - " Hello", - " Help", - " Helper", - " Helsinki", - " Hemp", - " Hence", - " Henderson", - " Henri", - " Henrik", - " Henry", - " Her", - " Herald", - " Herbert", - " Here", - " Heritage", - " Herman", - " Hermann", - " Hero", - " Heroes", - " Herzog", - " Het", - " Hey", - " Hi", - " Hidden", - " Hide", - " High", - " Higher", - " Highland", - " Highway", - " Hij", - " Hill", - " Hillary", - " Hills", - " Him", - " Hindi", - " Hindu", - " Hip", - " His", - " Hispanic", - " Historia", - " Historic", - " Historical", - " History", - " História", - " Hit", - " Hitler", - " Ho", - " Hockey", - " Hold", - " Holdings", - " Holiday", - " Holland", - " Holly", - " Hollywood", - " Holmes", - " Holocaust", - " Holy", - " Home", - " HomePage", - " Homepage", - " Homer", - " Hon", - " Honda", - " Honduras", - " Hong", - " Honor", - " Hood", - " Hook", - " Hope", - " Hopkins", - " Horn", - " Horror", - " Horse", - " Hospital", - " Host", - " Hot", - " Hotel", - " Hotels", - " Hour", - " Hours", - " House", - " Houses", - " Housing", - " Houston", - " How", - " Howard", - " However", - " Hr", - " Hrvatske", - " Hrvatskoj", - " Html", - " Http", - " Hub", - " Hudson", - " Hugh", - " Hughes", - " Hugo", - " Hull", - " Human", - " Hun", - " Hungarian", - " Hungary", - " Hunt", - " Hunter", - " Hurricane", - " Hussein", - " Hyde", - " Hz", - " I", - " IBM", - " IC", - " ICC", - " ID", - " IDE", - " IDEAS", - " IE", - " IEEE", - " IF", - " II", - " III", - " IL", - " IMAGE", - " IMG", - " IMPLIED", - " IN", - " INCLUDING", - " INDEX", - " INFO", - " INPUT", - " INSERT", - " INT", - " INTEGER", - " INTO", - " IO", - " IOException", - " IP", - " IPv", - " IR", - " IRC", - " IS", - " ISBN", - " ISIS", - " ISO", - " IT", - " IV", - " IX", - " Ian", - " Ibn", - " Ibrahim", - " Ice", - " Iceland", - " Icon", - " Icons", - " Id", - " Idaho", - " Ideas", - " Identity", - " If", - " Igor", - " Igreja", - " Il", - " Illinois", - " Im", - " Image", - " Images", - " Immigration", - " Impact", - " Imperial", - " Implementation", - " Import", - " Important", - " In", - " Inc", - " Include", - " Including", - " Income", - " Indeed", - " Independence", - " Independent", - " Index", - " India", - " Indian", - " Indiana", - " Indianapolis", - " Indians", - " Indies", - " Indigenous", - " Individual", - " Indo", - " Indonesia", - " Indonesian", - " Indoor", - " Industrial", - " Industries", - " Industry", - " Infantry", - " Info", - " Information", - " Infrastructure", - " Inglaterra", - " Init", - " Initial", - " Initialize", - " Initially", - " Initiative", - " Injectable", - " Inn", - " Inner", - " Innovation", - " Input", - " Insert", - " Inside", - " Inspector", - " Instagram", - " Install", - " Installation", - " Installing", - " Instance", - " Instead", - " Institut", - " Institute", - " Institution", - " Instituto", - " Instructions", - " Insurance", - " Int", - " Integer", - " Integration", - " Intel", - " Intelligence", - " Intent", - " Inter", - " Interactive", - " Interest", - " Interface", - " Interior", - " Internacional", - " Internal", - " International", - " Internet", - " Interstate", - " Interview", - " Into", - " Introduction", - " Invalid", - " Investigation", - " Investment", - " Invoice", - " Ion", - " Iowa", - " Iran", - " Iranian", - " Iraq", - " Iraqi", - " Ireland", - " Irish", - " Iron", - " Irving", - " Is", - " Isaac", - " Isabel", - " Isabella", - " Isaiah", - " Islam", - " Islamic", - " Island", - " Islander", - " Islands", - " Isle", - " Israel", - " Israeli", - " Issue", - " Issues", - " Istanbul", - " István", - " It", - " Italia", - " Italian", - " Italien", - " Italy", - " Item", - " Items", - " Iterator", - " Its", - " Ivan", - " J", - " JOIN", - " JP", - " JS", - " JSON", - " JWT", - " Jack", - " Jackie", - " Jackson", - " Jacksonville", - " Jacob", - " Jacques", - " Jahr", - " Jahre", - " Jahren", - " Jahrhundert", - " Jakarta", - " Jake", - " Jakob", - " Jamaica", - " James", - " Jamie", - " Jan", - " Jana", - " Jane", - " Janeiro", - " Janet", - " Januar", - " January", - " Japan", - " Japanese", - " Jason", - " Java", - " JavaScript", - " Javascript", - " Jay", - " Jazz", - " Je", - " Jean", - " Jeff", - " Jefferson", - " Jeffrey", - " Jenkins", - " Jennifer", - " Jenny", - " Jensen", - " Jeremy", - " Jerome", - " Jerry", - " Jersey", - " Jerusalem", - " Jesse", - " Jessica", - " Jest", - " Jesus", - " Jets", - " Jewish", - " Jews", - " Ji", - " Jim", - " Jimmy", - " Jin", - " Jo", - " Joan", - " Job", - " Jobs", - " Joe", - " Joel", - " Joey", - " Johan", - " Johann", - " Johannes", - " John", - " Johnny", - " Johns", - " Johnson", - " Johnston", - " Join", - " Joint", - " Jon", - " Jonas", - " Jonathan", - " Jones", - " Jong", - " Jordan", - " Jorge", - " Jos", - " Jose", - " Josef", - " Josep", - " Joseph", - " Josh", - " Joshua", - " José", - " Journal", - " Journey", - " Joy", - " Joyce", - " João", - " Jr", - " Json", - " Juan", - " Judaism", - " Judge", - " Jul", - " Jules", - " Juli", - " Julia", - " Julian", - " Julie", - " Julius", - " July", - " Jump", - " Jun", - " Junction", - " June", - " Jung", - " Juni", - " Junior", - " Jupiter", - " Just", - " Justice", - " Justin", - " K", - " KB", - " KC", - " KEY", - " KIND", - " Ka", - " Kaiser", - " Kane", - " Kansas", - " Karen", - " Karl", - " Karnataka", - " Kashmir", - " Kate", - " Katherine", - " Katie", - " Kay", - " Kazakhstan", - " Keep", - " Keith", - " Kelly", - " Ken", - " Kennedy", - " Kenneth", - " Kenny", - " Kent", - " Kentucky", - " Kenya", - " Kerala", - " Kerry", - " Kevin", - " Key", - " Keys", - " Keywords", - " Khan", - " Ki", - " Kid", - " Kids", - " Kiev", - " Kill", - " Kim", - " Kind", - " King", - " Kingdom", - " Kings", - " Kingston", - " Kirk", - " Kiss", - " Kit", - " Kitchen", - " Kitt", - " Klaus", - " Klein", - " Knight", - " Knights", - " Know", - " Knowledge", - " Known", - " Knox", - " Ko", - " Koch", - " Kommune", - " Kong", - " Korea", - " Korean", - " Kosovo", - " Kr", - " Krishna", - " Kumar", - " Kurdish", - " Kurdistan", - " Kurt", - " Kuwait", - " Kyle", - " König", - " København", - " L", - " LA", - " LC", - " LCD", - " LED", - " LEFT", - " LENGTH", - " LGBT", - " LIABILITY", - " LIABLE", - " LICENSE", - " LIMITED", - " LINE", - " LINEAR", - " LIST", - " LLC", - " LOCAL", - " LOG", - " LOGIN", - " LORD", - " LOW", - " LP", - " La", - " Lab", - " Label", - " Labels", - " Labor", - " Laboratory", - " Labour", - " Labs", - " Ladies", - " Lady", - " Lafayette", - " Lagos", - " Lake", - " Lakers", - " Lakes", - " Lambda", - " Lambert", - " Lancashire", - " Lancaster", - " Lance", - " Land", - " Landing", - " Lane", - " Lang", - " Language", - " Languages", - " Lanka", - " Lankan", - " Laravel", - " Large", - " Larry", - " Lars", - " Las", - " Last", - " Late", - " Later", - " Latest", - " Latin", - " Latino", - " Latvia", - " Launch", - " Laura", - " Lauren", - " Laurent", - " Law", - " Lawrence", - " Laws", - " Layer", - " Layout", - " Le", - " Lead", - " Leader", - " Leaders", - " Leadership", - " Leading", - " League", - " Learn", - " Learning", - " Leave", - " Lebanese", - " Lebanon", - " Leben", - " Led", - " Lee", - " Leeds", - " Left", - " Legacy", - " Legal", - " Legend", - " Legion", - " Legislative", - " Legislature", - " Lei", - " Leicester", - " Leipzig", - " Length", - " Lenin", - " Leo", - " Leon", - " Leonard", - " Leonardo", - " Leone", - " Leopold", - " Les", - " Leslie", - " Less", - " Lesser", - " Let", - " Leta", - " Letter", - " Letters", - " Level", - " Lewis", - " León", - " Li", - " Liberal", - " Liberation", - " Liberty", - " Libraries", - " Library", - " Libya", - " License", - " Licensed", - " Lieutenant", - " Life", - " Liga", - " Light", - " Lightning", - " Like", - " Lima", - " Limited", - " Lin", - " Lincoln", - " Linda", - " Lindsay", - " Line", - " Linear", - " Lines", - " Link", - " LinkedIn", - " Links", - " Linux", - " Lion", - " Lions", - " Lisa", - " Lisboa", - " List", - " ListView", - " Lista", - " Liste", - " Listed", - " Listen", - " Lists", - " Literary", - " Literatura", - " Literature", - " Lithuania", - " Lithuanian", - " Little", - " Liu", - " Live", - " Liverpool", - " Lives", - " Living", - " Ljubljana", - " Lloyd", - " Lo", - " Load", - " Loading", - " Local", - " Located", - " Location", - " Lock", - " Lodge", - " Log", - " Logan", - " Logger", - " Logic", - " Login", - " Logo", - " Loire", - " London", - " Londres", - " Long", - " Look", - " Looking", - " Loop", - " Lopez", - " Lord", - " Lords", - " Lorem", - " Lorenzo", - " Los", - " Loss", - " Lost", - " Lou", - " Louis", - " Louise", - " Louisiana", - " Louisville", - " Love", - " Low", - " Lower", - " Lt", - " Ltd", - " Lu", - " Lucas", - " Lucky", - " Lucy", - " Ludwig", - " Luigi", - " Luis", - " Luke", - " Luna", - " Luther", - " Lutheran", - " Luxembourg", - " Lynch", - " Lynn", - " Lyon", - " López", - " M", - " MA", - " MAC", - " MAP", - " MAX", - " MB", - " MBA", - " MC", - " MD", - " ME", - " MERCHANTABILITY", - " MESSAGE", - " META", - " METHOD", - " MHz", - " MI", - " MIN", - " MIT", - " ML", - " MLB", - " MM", - " MODE", - " MODEL", - " MODULE", - " MORE", - " MP", - " MPs", - " MS", - " MSG", - " MT", - " MTV", - " MVP", - " MW", - " MY", - " Ma", - " Mac", - " Macedonia", - " Machine", - " Mad", - " Madagascar", - " Made", - " Madison", - " Madonna", - " Madrid", - " Mae", - " Magazine", - " Magic", - " Magnus", - " Magyar", - " Maharashtra", - " Mai", - " Mail", - " Main", - " MainActivity", - " Maine", - " Major", - " Make", - " Makes", - " Making", - " Malayalam", - " Malaysia", - " Malaysian", - " Malcolm", - " Male", - " Males", - " Mali", - " Mall", - " Malta", - " Man", - " Management", - " Manager", - " Managing", - " Manchester", - " Manhattan", - " Manila", - " Manitoba", - " Mann", - " Manning", - " Manor", - " Manual", - " Manuel", - " Manufacturing", - " Many", - " Map", - " Maps", - " Mar", - " Marathon", - " Marc", - " Marcel", - " March", - " Marco", - " Marcus", - " Mare", - " Margaret", - " Mari", - " Maria", - " Marie", - " Marina", - " Marine", - " Marines", - " Mario", - " Marion", - " Maritime", - " Mark", - " Market", - " Marketing", - " Markets", - " Marriage", - " Mars", - " Marshal", - " Marshall", - " Martha", - " Martin", - " Martinez", - " Marvel", - " Marx", - " Mary", - " Maryland", - " María", - " Mason", - " Mass", - " Massachusetts", - " Master", - " Masters", - " Mat", - " Match", - " Material", - " Materials", - " Math", - " Mathematical", - " Mathematics", - " Matrix", - " Matt", - " Matter", - " Matthew", - " Matthews", - " Maurice", - " Maven", - " Max", - " Maximum", - " Maxwell", - " May", - " Maya", - " Maybe", - " Mayo", - " Mayor", - " McCain", - " McCarthy", - " McDonald", - " Me", - " Mean", - " Meanwhile", - " Med", - " Medal", - " Media", - " Medical", - " Medicare", - " Medicine", - " Medieval", - " Mediterranean", - " Medium", - " Meet", - " Meeting", - " Melbourne", - " Member", - " Members", - " Memorial", - " Memory", - " Memphis", - " Men", - " Menschen", - " Mental", - " Menu", - " MenuItem", - " Mercedes", - " Mercury", - " Merit", - " Mesa", - " Message", - " Messages", - " Met", - " Meta", - " Metal", - " Method", - " Methodist", - " Methods", - " Metro", - " Metropolitan", - " Mexican", - " Mexico", - " Meyer", - " Mi", - " Miami", - " Michael", - " Michel", - " Michele", - " Michelle", - " Michigan", - " Mickey", - " Microsoft", - " Mid", - " Middle", - " Migration", - " Miguel", - " Mike", - " Milan", - " Milano", - " Mile", - " Miles", - " Military", - " Mill", - " Miller", - " Million", - " Mills", - " Milton", - " Milwaukee", - " Min", - " Mind", - " Mine", - " Ming", - " Mini", - " Mining", - " Minister", - " Ministers", - " Ministry", - " Minneapolis", - " Minnesota", - " Minor", - " Minutes", - " Miranda", - " Mirror", - " Miss", - " Missing", - " Mission", - " Mississippi", - " Missouri", - " Mit", - " Mitchell", - " Mix", - " Mixed", - " Mo", - " Mobile", - " Mock", - " Modal", - " Mode", - " Model", - " Models", - " Modern", - " Modi", - " Modified", - " Module", - " Mohamed", - " Mohammad", - " Mohammed", - " Moldova", - " Mom", - " Mon", - " Monaco", - " Monday", - " Money", - " MongoDB", - " Mongolia", - " Monica", - " Monitor", - " Monroe", - " Monster", - " Mont", - " Montana", - " Monte", - " Montenegro", - " Montgomery", - " Month", - " Monthly", - " Montreal", - " Monument", - " Moon", - " Moore", - " More", - " Moreover", - " Morgan", - " Mormon", - " Morning", - " Morocco", - " Morris", - " Morrison", - " Morton", - " Moscow", - " Moses", - " Most", - " Mother", - " Moths", - " Motion", - " Motor", - " Motors", - " Mount", - " Mountain", - " Mountains", - " Mouse", - " Move", - " Movement", - " Movie", - " Movies", - " Moving", - " Mozart", - " Mozilla", - " Mp", - " Mr", - " Mrs", - " Ms", - " Mt", - " Much", - " Mueller", - " Muhammad", - " Multi", - " Multiple", - " Mumbai", - " Mundial", - " Munich", - " Municipal", - " Municipality", - " Murder", - " Murphy", - " Murray", - " Museum", - " Museums", - " Music", - " Musical", - " Musicians", - " Muslim", - " Muslims", - " Must", - " My", - " MySQL", - " Myanmar", - " Myers", - " Mystery", - " März", - " México", - " München", - " N", - " NA", - " NAME", - " NASA", - " NASCAR", - " NATO", - " NBA", - " NBC", - " NC", - " NCAA", - " NET", - " NEW", - " NEWS", - " NFL", - " NGC", - " NH", - " NHL", - " NHS", - " NK", - " NO", - " NODE", - " NOT", - " NOTE", - " NOW", - " NS", - " NSW", - " NT", - " NULL", - " NUM", - " NUMBER", - " NY", - " NYC", - " Na", - " Nach", - " Nacional", - " Nadu", - " Nakon", - " Nam", - " Name", - " Named", - " Namen", - " Names", - " Nancy", - " Naples", - " Napoleon", - " Nash", - " Nashville", - " Nassau", - " Nathan", - " Nation", - " National", - " Nations", - " Native", - " Natural", - " Nature", - " Nav", - " Naval", - " Navigate", - " Navigation", - " Navigator", - " Navy", - " Nazi", - " Ne", - " Neal", - " Near", - " Nearly", - " Nebraska", - " Nederland", - " Nederlands", - " Nederlandse", - " Need", - " Negro", - " Neil", - " Neither", - " Nel", - " Nelson", - " Neo", - " Nepal", - " Neptune", - " Net", - " Netanyahu", - " Netflix", - " Netherlands", - " Network", - " Networks", - " Neural", - " Nevada", - " Never", - " Nevertheless", - " New", - " Newark", - " Newcastle", - " Newman", - " Newport", - " News", - " Newsletter", - " Newton", - " Next", - " Nicaragua", - " Nice", - " Nicholas", - " Nick", - " Nicolas", - " Nicole", - " Nielsen", - " Niger", - " Nigeria", - " Nigerian", - " Night", - " Nike", - " Nina", - " Nine", - " Nintendo", - " Nixon", - " No", - " Noah", - " Nobel", - " Noble", - " Nobody", - " Node", - " Nokia", - " Nome", - " Non", - " None", - " Noord", - " Nord", - " Nordic", - " Norfolk", - " Norge", - " Normal", - " Norman", - " Norse", - " Norte", - " North", - " Northeast", - " Northern", - " Northwest", - " Northwestern", - " Norton", - " Norway", - " Norwegian", - " Norwich", - " Nossa", - " Not", - " Notable", - " Note", - " Notes", - " Nothing", - " Notice", - " Notre", - " Nov", - " Nova", - " Novel", - " November", - " Now", - " Nr", - " Nu", - " Nuclear", - " Nueva", - " Number", - " Numbers", - " När", - " O", - " OAuth", - " OF", - " OFF", - " OH", - " OK", - " OLD", - " ON", - " ONE", - " OPTIONS", - " OR", - " ORDER", - " OS", - " OTHER", - " OTHERWISE", - " OUT", - " OUTPUT", - " Oak", - " Oakland", - " Obama", - " Object", - " Objects", - " Oblast", - " Observable", - " Observatory", - " Observer", - " Obviously", - " Ocean", - " Oct", - " October", - " Od", - " Of", - " Off", - " Office", - " Officer", - " Officers", - " Official", - " Officials", - " Often", - " Oh", - " Ohio", - " Oil", - " Ok", - " Oklahoma", - " Oktober", - " Old", - " Ole", - " Oliver", - " Olympic", - " Olympics", - " Om", - " Omar", - " On", - " Once", - " One", - " Online", - " Only", - " Ontario", - " Ook", - " Op", - " Open", - " Opening", - " Opens", - " Opera", - " Operating", - " Operation", - " Operations", - " Opinion", - " Opposition", - " Option", - " Optional", - " Options", - " Or", - " Oracle", - " Orange", - " Orchestra", - " Order", - " Orders", - " Oregon", - " Organisation", - " Organization", - " Organizations", - " Orient", - " Oriental", - " Origin", - " Original", - " Originally", - " Origins", - " Orlando", - " Orleans", - " Orthodox", - " Os", - " Oscar", - " Oslo", - " Other", - " Others", - " Otherwise", - " Ottawa", - " Otto", - " Ottoman", - " Our", - " Out", - " Output", - " Outside", - " Outstanding", - " Over", - " Overall", - " Override", - " Overview", - " Owen", - " Own", - " Owner", - " Oxford", - " P", - " PA", - " PAGE", - " PARTICULAR", - " PASSWORD", - " PATH", - " PBS", - " PC", - " PDF", - " PE", - " PHP", - " PI", - " PIL", - " PIN", - " PM", - " PNG", - " PORT", - " POST", - " PP", - " PR", - " PREFIX", - " PRIMARY", - " PROJECT", - " PROVIDED", - " PS", - " PT", - " PUBLIC", - " PURPOSE", - " PUT", - " Pa", - " Pablo", - " Pacific", - " Pack", - " Package", - " Page", - " Pages", - " Pain", - " Paint", - " Pakistan", - " Pakistani", - " Palace", - " Palestine", - " Palestinian", - " Palestinians", - " Palm", - " Palmer", - " Pan", - " Panama", - " Panel", - " Panthers", - " Paolo", - " Papa", - " Paper", - " Papers", - " Papua", - " Par", - " Para", - " Paradise", - " Paraguay", - " Parameter", - " Parameters", - " Parent", - " Parents", - " Paris", - " Parish", - " Park", - " Parker", - " Parks", - " Parliament", - " Parliamentary", - " Parse", - " Parser", - " Part", - " Partner", - " Partners", - " Partnership", - " Parts", - " Party", - " París", - " Pascal", - " Pass", - " Password", - " Past", - " Pastor", - " Pat", - " Patent", - " Path", - " Patient", - " Patricia", - " Patrick", - " Patriots", - " Pattern", - " Patterson", - " Paul", - " Paula", - " Paulo", - " Pavel", - " Pay", - " Payment", - " País", - " Pe", - " Peace", - " Peak", - " Pearl", - " Pedro", - " Peninsula", - " Penis", - " Penn", - " Pennsylvania", - " Pentagon", - " Pentru", - " People", - " Per", - " Percy", - " Pere", - " Perfect", - " Performance", - " Perhaps", - " Period", - " Permission", - " Perry", - " Persian", - " Person", - " Personal", - " Personnel", - " Perth", - " Peru", - " Pet", - " Pete", - " Peter", - " Peters", - " Petersburg", - " Peterson", - " Ph", - " PhD", - " Phase", - " Phil", - " Philadelphia", - " Philip", - " Philippe", - " Philippine", - " Philippines", - " Phillips", - " Philosophy", - " Phoenix", - " Phone", - " Photo", - " Photography", - " Photos", - " Physical", - " Physics", - " Pi", - " Piano", - " Pick", - " Picture", - " Pictures", - " Pierce", - " Pierre", - " Pietro", - " Pike", - " Pills", - " Pin", - " Pine", - " Pink", - " Pinterest", - " Pioneer", - " Pipeline", - " Pirates", - " Pittsburgh", - " Pizza", - " Place", - " Places", - " Plain", - " Plains", - " Plan", - " Planet", - " Planning", - " Plans", - " Plant", - " Plants", - " Platform", - " Play", - " PlayStation", - " Player", - " Players", - " Playing", - " Plaza", - " Pleasant", - " Please", - " Plot", - " Plugin", - " Plus", - " Plymouth", - " Po", - " Pod", - " Poetry", - " Point", - " Points", - " Pokemon", - " Poland", - " Polen", - " Police", - " Policy", - " Polish", - " Political", - " Politicians", - " Politics", - " Politik", - " Poll", - " Polsce", - " Polski", - " Pool", - " Poor", - " Pop", - " Pope", - " Popular", - " Population", - " Por", - " Port", - " Portal", - " Porter", - " Portfolio", - " Portland", - " Porto", - " Portrait", - " Portsmouth", - " Portugal", - " Portuguese", - " Position", - " Post", - " Posted", - " Posts", - " Potter", - " Pour", - " Powell", - " Power", - " Powers", - " Practice", - " Pradesh", - " Prague", - " Praha", - " Prairie", - " Prayer", - " Pre", - " Prefecture", - " Premier", - " Premio", - " Premium", - " Presbyterian", - " Present", - " President", - " Presidential", - " Presidents", - " Press", - " Preston", - " Pretty", - " Prevention", - " Preview", - " Previous", - " Previously", - " Pri", - " Price", - " Pride", - " Prima", - " Primary", - " Prime", - " Primera", - " Prince", - " Princess", - " Princeton", - " Principal", - " Print", - " Printf", - " Prior", - " Priority", - " Prison", - " Privacy", - " Private", - " Prix", - " Prize", - " Pro", - " Problem", - " Problems", - " Process", - " Processing", - " Producer", - " Product", - " Production", - " Productions", - " Products", - " Prof", - " Professional", - " Professor", - " Profile", - " Program", - " Programme", - " Programming", - " Programs", - " Progress", - " Progressive", - " Project", - " Projects", - " Promise", - " Properties", - " Property", - " Prophet", - " Props", - " Protected", - " Protection", - " Protestant", - " Proto", - " Protocol", - " Providence", - " Provider", - " Province", - " Provincial", - " Psychology", - " Public", - " Publication", - " Publications", - " Published", - " Publisher", - " Publishers", - " Publishing", - " Puerto", - " Pull", - " Punjab", - " Purchase", - " Pure", - " Purple", - " Purpose", - " Push", - " Put", - " Putin", - " Python", - " På", - " Q", - " QB", - " QString", - " Qaeda", - " Qatar", - " Qt", - " Quality", - " Quarter", - " Quebec", - " Queen", - " Queens", - " Queensland", - " Query", - " Quest", - " Question", - " Questions", - " Queue", - " Quick", - " Quinn", - " Quiz", - " Quote", - " R", - " RAF", - " RAM", - " RC", - " RE", - " READ", - " README", - " RED", - " REQUEST", - " REST", - " RF", - " RFC", - " RGB", - " RIGHT", - " RNA", - " ROM", - " ROOT", - " RS", - " RSS", - " RT", - " Ra", - " Rabbi", - " Race", - " Rachel", - " Racing", - " Radio", - " Rafael", - " Rahman", - " Raiders", - " Rail", - " Railroad", - " Rails", - " Railway", - " Rain", - " Rainbow", - " Raja", - " Rally", - " Ralph", - " Ram", - " Ramon", - " Ranch", - " Random", - " Randy", - " Range", - " Rangers", - " Rankings", - " Rapids", - " Rate", - " Rather", - " Rating", - " Ravens", - " Raw", - " Ray", - " Raymond", - " Re", - " React", - " Read", - " Reader", - " Reading", - " Ready", - " Reagan", - " Real", - " Reality", - " Really", - " Rebecca", - " Receipt", - " Recent", - " Recently", - " Reception", - " Recipe", - " Recognition", - " Record", - " Recording", - " Records", - " Recovery", - " Recreation", - " Rectangle", - " Red", - " Reddit", - " Redis", - " Redux", - " Reed", - " Reference", - " Referenced", - " References", - " Reform", - " Regiment", - " Regina", - " Region", - " Regional", - " Register", - " Registration", - " Registry", - " Regular", - " Reich", - " Reid", - " Reino", - " Related", - " Relations", - " Release", - " Released", - " Relief", - " Religion", - " Religious", - " Remember", - " Remote", - " Remove", - " Renaissance", - " René", - " Rep", - " Replace", - " Reply", - " Report", - " Reporter", - " Reports", - " Repository", - " Representative", - " Representatives", - " Republic", - " Republican", - " Republicans", - " Republike", - " República", - " Request", - " Required", - " Requirements", - " Research", - " Reserve", - " Reserved", - " Reset", - " Resolution", - " Resort", - " Resource", - " Resources", - " Response", - " Rest", - " Restaurant", - " Result", - " Results", - " Resume", - " Retrieved", - " Return", - " Returns", - " Reuters", - " Rev", - " Revenue", - " Review", - " Reviews", - " Revival", - " Revolution", - " Revolutionary", - " Rex", - " Rey", - " Reynolds", - " Rhine", - " Rhode", - " Rhodes", - " Rica", - " Ricardo", - " Rice", - " Rich", - " Richard", - " Richards", - " Richardson", - " Richmond", - " Rick", - " Rico", - " Ridge", - " Right", - " Rights", - " Riley", - " Ring", - " Rio", - " Rise", - " Rising", - " Risk", - " Rita", - " River", - " Rivera", - " Rivers", - " Road", - " Roads", - " Rob", - " Robert", - " Roberto", - " Roberts", - " Robertson", - " Robin", - " Robinson", - " Robot", - " Rochester", - " Rock", - " Rocky", - " Rod", - " Rodriguez", - " Roger", - " Rogers", - " Roland", - " Role", - " Roll", - " Rolling", - " Rom", - " Roma", - " Roman", - " Romance", - " Romania", - " Romanian", - " Romano", - " Romans", - " Rome", - " Romeo", - " Romney", - " România", - " Ron", - " Ronald", - " Room", - " Roosevelt", - " Root", - " Rosa", - " Rose", - " Ross", - " Rotterdam", - " Rouge", - " Round", - " Route", - " Router", - " Routes", - " Row", - " Roy", - " Royal", - " Rs", - " Ruby", - " Rudolf", - " Rugby", - " Rule", - " Rules", - " Run", - " Runner", - " Running", - " Runtime", - " Rural", - " Rush", - " Russell", - " Russia", - " Russian", - " Russians", - " Ruth", - " Rwanda", - " Ryan", - " République", - " S", - " SA", - " SAD", - " SC", - " SD", - " SDK", - " SDL", - " SE", - " SEC", - " SECRET", - " SELECT", - " SERVER", - " SERVICE", - " SESSION", - " SET", - " SF", - " SHA", - " SHALL", - " SHORT", - " SI", - " SIZE", - " SK", - " SM", - " SMS", - " SO", - " SOFTWARE", - " SOURCE", - " SP", - " SQL", - " SQLException", - " SR", - " SS", - " SSH", - " SSL", - " ST", - " START", - " STATE", - " STATUS", - " STRING", - " SUCCESS", - " SW", - " Sa", - " Sabha", - " Sacramento", - " Sacred", - " Safari", - " Safe", - " Safety", - " Said", - " Saint", - " Saints", - " Sale", - " Salem", - " Sales", - " Sally", - " Salt", - " Salvador", - " Sam", - " Same", - " Sample", - " Samsung", - " Samuel", - " San", - " Sand", - " Sanders", - " Sandra", - " Sandy", - " Sankt", - " Sans", - " Sanskrit", - " Sant", - " Santa", - " Santiago", - " Santo", - " Santos", - " Sara", - " Sarah", - " Saskatchewan", - " Satan", - " Saturday", - " Saturn", - " Saudi", - " Save", - " Saxon", - " Say", - " Says", - " Scale", - " Scanner", - " Scene", - " Schedule", - " Schema", - " Schmidt", - " Scholar", - " School", - " Schools", - " Science", - " Sciences", - " Scientific", - " Scientists", - " Score", - " Scotia", - " Scotland", - " Scott", - " Scottish", - " Scout", - " Screen", - " Screenshot", - " Script", - " Scripts", - " Scripture", - " Se", - " Sea", - " Sean", - " Search", - " Season", - " Seattle", - " Sebastian", - " Second", - " Secondary", - " Secret", - " Secretary", - " Section", - " Securities", - " Security", - " See", - " Seeds", - " Segunda", - " Seine", - " Select", - " Selected", - " Selection", - " Self", - " Semi", - " Seminary", - " Sen", - " Senate", - " Senator", - " Send", - " Senhora", - " Senior", - " Seoul", - " Sep", - " Sept", - " September", - " Sequential", - " Serbia", - " Serbian", - " Serial", - " Serie", - " Series", - " Serra", - " Server", - " Service", - " Services", - " Session", - " Sessions", - " Set", - " Seth", - " Sets", - " Setting", - " Settings", - " Settlement", - " Setup", - " Seven", - " Several", - " Sex", - " Sexual", - " Shadow", - " Shah", - " Shakespeare", - " Shane", - " Shanghai", - " Shannon", - " Shape", - " Share", - " Sharon", - " Sharp", - " Shaw", - " She", - " Sheet", - " Sheffield", - " Sheikh", - " Shell", - " Sheriff", - " Sherman", - " Shield", - " Ship", - " Ships", - " Shop", - " Shopping", - " Shore", - " Short", - " Shortly", - " Shot", - " Should", - " Show", - " Shows", - " Si", - " Sicily", - " Side", - " Sidney", - " Sie", - " Sierra", - " Sign", - " Signal", - " Signs", - " Silent", - " Silicon", - " Silva", - " Silver", - " Similar", - " Similarly", - " Simon", - " Simple", - " Simply", - " Simpson", - " Sin", - " Since", - " Singapore", - " Singer", - " Singh", - " Single", - " Singles", - " Sint", - " Sir", - " Sistema", - " Sister", - " Sisters", - " Site", - " Sites", - " Six", - " Size", - " Skills", - " Skip", - " Sky", - " Sleep", - " Slovak", - " Slovakia", - " Slovenia", - " Slovenije", - " Sloveniji", - " Small", - " Smart", - " Smith", - " Snake", - " Snow", - " So", - " Soccer", - " Social", - " Socialist", - " Society", - " Socket", - " Socorro", - " Sofia", - " Software", - " Sol", - " Solar", - " Solo", - " Solomon", - " Solution", - " Solutions", - " Som", - " Somalia", - " Some", - " Someone", - " Somerset", - " Something", - " Sometimes", - " Son", - " Song", - " Songs", - " Sons", - " Sony", - " Soon", - " Sophie", - " Sorry", - " Sort", - " Soul", - " Sound", - " Source", - " Sources", - " South", - " Southampton", - " Southeast", - " Southern", - " Southwest", - " Soviet", - " Sox", - " Space", - " Spain", - " Spanish", - " Speaker", - " Speaking", - " Special", - " Species", - " Speech", - " Speed", - " Spencer", - " Spider", - " Spirit", - " Split", - " Sport", - " Sports", - " Spring", - " Springfield", - " Springs", - " Sprint", - " Squad", - " Squadron", - " Square", - " Sr", - " Sri", - " St", - " Stack", - " Stadium", - " Stadt", - " Staff", - " Stage", - " Stakes", - " Stalin", - " Stan", - " Stand", - " Standard", - " Standards", - " Standing", - " Stanford", - " Stanley", - " Star", - " Stars", - " Start", - " Started", - " Starting", - " State", - " Statement", - " Staten", - " States", - " Stati", - " Static", - " Station", - " Statistical", - " Statistics", - " Stats", - " Status", - " Stay", - " Steam", - " Steel", - " Stefan", - " Step", - " Stephen", - " Steps", - " Sterling", - " Steve", - " Steven", - " Stevens", - " Stewart", - " Still", - " Stock", - " Stockholm", - " Stone", - " Stop", - " Storage", - " Store", - " Stories", - " Storm", - " Story", - " Strange", - " Strategic", - " Strategy", - " Stream", - " Street", - " Streets", - " Strike", - " String", - " StringBuilder", - " Strip", - " Strong", - " Structure", - " Stuart", - " Student", - " Students", - " Studies", - " Studio", - " Studios", - " Study", - " Stuttgart", - " Style", - " Su", - " Sub", - " Subject", - " Submit", - " Subscribe", - " Subsequently", - " Success", - " Successfully", - " Such", - " Sud", - " Sudan", - " Sue", - " Suffolk", - " Sugar", - " Suite", - " Sul", - " Sullivan", - " Sultan", - " Sum", - " Summary", - " Summer", - " Summit", - " Sun", - " Sunday", - " Super", - " Superior", - " Superman", - " Supply", - " Support", - " Supporting", - " Supreme", - " Sur", - " Sure", - " Surface", - " Surgery", - " Surrey", - " Survey", - " Sus", - " Susan", - " Sussex", - " Svenska", - " Sverige", - " Sveriges", - " Swan", - " Sweden", - " Swedish", - " Sweet", - " Swift", - " Swimming", - " Swiss", - " Switch", - " Switzerland", - " Sydney", - " Symbol", - " Symphony", - " Synopsis", - " Syracuse", - " Syria", - " Syrian", - " System", - " Systems", - " Szent", - " São", - " T", - " TABLE", - " TAG", - " TARGET", - " TB", - " TC", - " TCP", - " TD", - " TEST", - " TEXT", - " THE", - " THIS", - " THREE", - " TIME", - " TO", - " TODAY", - " TODO", - " TOKEN", - " TOP", - " TORT", - " TR", - " TRUE", - " TV", - " TX", - " TYPE", - " Ta", - " Tab", - " Table", - " Tables", - " Tag", - " Tagged", - " Tags", - " Taiwan", - " Take", - " Takes", - " Taking", - " Tako", - " Tale", - " Tales", - " Taliban", - " Talk", - " También", - " També", - " Tamil", - " Tampa", - " Tang", - " Tank", - " Tanzania", - " Target", - " Task", - " Tasks", - " Tasmania", - " Tax", - " Taylor", - " Te", - " Tea", - " Teacher", - " Teachers", - " Teaching", - " Team", - " Teams", - " Teatro", - " Tech", - " Technical", - " Technologies", - " Technology", - " Ted", - " Teen", - " Tehran", - " Teil", - " Tel", - " Telegraph", - " Television", - " Tell", - " Telugu", - " Temperature", - " Template", - " Templates", - " Temple", - " Ten", - " Tennessee", - " Tennis", - " Teresa", - " Term", - " Terminal", - " Terms", - " Terra", - " Territory", - " Terror", - " Terry", - " Tesla", - " Test", - " Testament", - " Testing", - " Tests", - " Texas", - " Text", - " TextField", - " TextView", - " Thai", - " Thailand", - " Thames", - " Than", - " Thank", - " Thanks", - " That", - " The", - " Theater", - " Theatre", - " Their", - " Theme", - " Then", - " Theodore", - " Theory", - " There", - " Therefore", - " These", - " They", - " Thing", - " Things", - " Think", - " Third", - " This", - " Thomas", - " Thompson", - " Thomson", - " Thor", - " Those", - " Though", - " Thread", - " Three", - " Through", - " Throughout", - " Thu", - " Thunder", - " Thursday", - " Thus", - " Ti", - " Tibet", - " Tiger", - " Tigers", - " Till", - " Tim", - " Time", - " Timeline", - " Timer", - " Times", - " Timothy", - " Tips", - " Title", - " To", - " ToString", - " Toast", - " Tod", - " Today", - " Todd", - " Todo", - " Together", - " Toggle", - " Token", - " Tokyo", - " Toledo", - " Tom", - " Tommy", - " Tomorrow", - " Tonight", - " Tony", - " Too", - " Tool", - " Tools", - " Top", - " Topic", - " Topics", - " Torah", - " Toronto", - " Torre", - " Torres", - " Tot", - " Total", - " Touch", - " Tour", - " Tourism", - " Tourist", - " Tournament", - " Tours", - " Tower", - " Town", - " Towns", - " Township", - " Townships", - " Toyota", - " Track", - " Tracy", - " Trade", - " Trading", - " Traditional", - " Traffic", - " Trail", - " Train", - " Training", - " Trans", - " Transaction", - " Transfer", - " Transform", - " Transit", - " Translation", - " Transport", - " Transportation", - " Travel", - " Travis", - " Treasury", - " Treaties", - " Treatment", - " Treaty", - " Tree", - " Trees", - " Trek", - " Trevor", - " Trial", - " Triangle", - " Tribune", - " Trinidad", - " Trinity", - " Trip", - " Triple", - " Trophy", - " Troy", - " True", - " Trump", - " Trust", - " Truth", - " Try", - " Tu", - " Tucker", - " Tudor", - " Tuesday", - " Tunisia", - " Turin", - " Turkey", - " Turkish", - " Turn", - " Turner", - " Tutorial", - " Tweet", - " Twenty", - " Twin", - " Twitter", - " Two", - " Tyler", - " Type", - " TypeError", - " Types", - " Typography", - " U", - " UA", - " UAE", - " UC", - " UCLA", - " UDP", - " UEFA", - " UFC", - " UI", - " UK", - " UN", - " UNESCO", - " UP", - " UPDATE", - " URI", - " URL", - " URLs", - " US", - " USA", - " USB", - " USC", - " USD", - " USE", - " USER", - " USERNAME", - " USS", - " USSR", - " UTC", - " UTF", - " UUID", - " UV", - " Ubuntu", - " Uganda", - " Ukraine", - " Ukrainian", - " Ulster", - " Ultimate", - " Ultra", - " Um", - " Uma", - " Un", - " Una", - " Unable", - " Uncle", - " Under", - " Underground", - " Understanding", - " Une", - " Unfortunately", - " Unicode", - " Unidos", - " Union", - " Unit", - " Unite", - " United", - " Units", - " Unity", - " Universal", - " Universe", - " Universidad", - " Universities", - " University", - " Unix", - " União", - " Unknown", - " Unless", - " Unlike", - " Until", - " Up", - " Update", - " Updated", - " Updates", - " Upload", - " Upon", - " Upper", - " Urban", - " Uri", - " Uruguay", - " Us", - " Usage", - " Use", - " Used", - " User", - " Username", - " Users", - " Uses", - " Using", - " Usually", - " Usuario", - " Utah", - " Utils", - " Utrecht", - " V", - " VA", - " VALUE", - " VALUES", - " VARCHAR", - " VERSION", - " VI", - " VIDEO", - " VIEW", - " VII", - " VIII", - " VM", - " VP", - " VS", - " Va", - " Val", - " Vale", - " Valencia", - " Valentine", - " Valid", - " Valle", - " Valley", - " Value", - " ValueError", - " Values", - " Van", - " Vancouver", - " Variable", - " Variables", - " Various", - " Vatican", - " Ve", - " Vec", - " Vector", - " Ved", - " Vegas", - " Vehicle", - " Venezuela", - " Venezuelan", - " Venice", - " Venus", - " Ver", - " Verde", - " Verenigde", - " Vermont", - " Vernon", - " Version", - " Very", - " Veterans", - " Vi", - " Via", - " Vice", - " Vicente", - " Victor", - " Victoria", - " Victorian", - " Victory", - " Vid", - " Video", - " Videos", - " Vienna", - " Vietnam", - " Vietnamese", - " View", - " Views", - " Viking", - " Vikings", - " Viktor", - " Vila", - " Villa", - " Village", - " Villages", - " Vincent", - " Violence", - " Virgin", - " Virginia", - " Virtual", - " Vision", - " Visit", - " Vista", - " Visual", - " Vladimir", - " Voice", - " Vol", - " Volume", - " Von", - " Voor", - " Vote", - " Vue", - " W", - " WARNING", - " WARRANTIES", - " WARRANTY", - " WHERE", - " WHETHER", - " WHITE", - " WHO", - " WIDTH", - " WIN", - " WITH", - " WITHOUT", - " WWE", - " Wade", - " Wagner", - " Wait", - " Wake", - " Wales", - " Walk", - " Walker", - " Walking", - " Wall", - " Wallace", - " Walsh", - " Walt", - " Walter", - " Wang", - " Want", - " War", - " Ward", - " Warner", - " Warning", - " Warren", - " Warriors", - " Wars", - " Warsaw", - " Was", - " Washington", - " Watch", - " Water", - " Waters", - " Watson", - " Wave", - " Way", - " Wayne", - " Ways", - " We", - " Weather", - " Web", - " Webb", - " Weber", - " Website", - " Webster", - " Wed", - " Wedding", - " Wednesday", - " Week", - " Weekend", - " Weekly", - " Wei", - " Weight", - " Welcome", - " Well", - " Wellington", - " Wells", - " Welsh", - " Were", - " Werner", - " Wesley", - " West", - " Western", - " Westminster", - " What", - " Whatever", - " Wheeler", - " When", - " Where", - " Whether", - " Which", - " While", - " White", - " Whitney", - " Who", - " Why", - " Wi", - " Wide", - " Widget", - " Width", - " Wien", - " Wife", - " Wiki", - " Wikipedia", - " Wild", - " Wildlife", - " Wilhelm", - " Will", - " Willem", - " William", - " Williams", - " Willie", - " Willis", - " Wilson", - " Win", - " Winchester", - " Wind", - " Window", - " Windows", - " Windsor", - " Wine", - " Wing", - " Wings", - " Winner", - " Winners", - " Winston", - " Winter", - " Wire", - " Wisconsin", - " With", - " Within", - " Without", - " Wolf", - " Wolfgang", - " Woman", - " Women", - " Won", - " Wonder", - " Wong", - " Wood", - " Woods", - " Worcester", - " Word", - " WordPress", - " Words", - " Work", - " Worker", - " Workers", - " Working", - " Works", - " Workshop", - " World", - " Worth", - " Would", - " Wrestling", - " Wright", - " Write", - " WriteLine", - " Writer", - " Writers", - " Writing", - " Written", - " Wrong", - " Wu", - " Wyoming", - " X", - " XI", - " XII", - " XIII", - " XIV", - " XIX", - " XML", - " XV", - " XVI", - " XVII", - " XVIII", - " XX", - " Xavier", - " Xbox", - " Xi", - " Y", - " YES", - " YOU", - " YOUR", - " Ya", - " Yahoo", - " Yale", - " Yang", - " Yankees", - " Yeah", - " Year", - " Years", - " Yellow", - " Yemen", - " Yes", - " Yesterday", - " Yet", - " Yi", - " York", - " Yorkshire", - " You", - " YouTube", - " Young", - " Your", - " Youth", - " Youtube", - " Yu", - " Yuan", - " Yugoslav", - " Yugoslavia", - " Z", - " ZIP", - " Za", - " Zagreb", - " Ze", - " Zealand", - " Zeit", - " Zero", - " Zeus", - " Zhang", - " Zhou", - " Zimbabwe", - " Zone", - " Zoo", - " Zuid", - " [", - " [\"", - " ['", - " [(", - " [-", - " [...", - " [:", - " [@", - " [[", - " []", - " [],", - " [];", - " [`", - " [{", - " […", - " \\", - " \\\"", - " ]", - " ])", - " ],", - " ];", - " ^", - " _", - " _.", - " __", - " `", - " `-", - " `.", - " `/", - " ``", - " ```", - " a", - " aa", - " aan", - " aantal", - " ab", - " abandon", - " abandoned", - " abans", - " abbreviated", - " abc", - " abd", - " abdul", - " abel", - " aber", - " abilities", - " ability", - " able", - " aboard", - " abolished", - " aboriginal", - " abort", - " abortion", - " about", - " above", - " abraham", - " abril", - " abroad", - " abs", - " absence", - " absent", - " absolute", - " absolutely", - " absorbed", - " absorption", - " abstract", - " abu", - " abundance", - " abundant", - " abuse", - " aby", - " ac", - " academia", - " academic", - " academics", - " academy", - " acc", - " acceleration", - " accent", - " accept", - " acceptable", - " acceptance", - " accepted", - " accepting", - " accepts", - " access", - " accessed", - " accessibility", - " accessible", - " accessing", - " accessor", - " accessories", - " accident", - " accidentally", - " accidents", - " acclaim", - " acclaimed", - " accommodate", - " accommodation", - " accompanied", - " accompanying", - " accomplish", - " accomplished", - " accord", - " accordance", - " according", - " accordingly", - " accordion", - " account", - " accountability", - " accounting", - " accounts", - " accumulated", - " accuracy", - " accurate", - " accurately", - " accusations", - " accused", - " ace", - " această", - " acest", - " achieve", - " achieved", - " achievement", - " achievements", - " achieving", - " acid", - " acids", - " acknowledge", - " acknowledged", - " acontecimientos", - " acordo", - " acoustic", - " acquire", - " acquired", - " acquiring", - " acquisition", - " acre", - " acres", - " across", - " act", - " acted", - " acting", - " action", - " actions", - " activate", - " activated", - " activation", - " active", - " actively", - " activism", - " activist", - " activists", - " activities", - " activity", - " actor", - " actors", - " actress", - " actresses", - " acts", - " actual", - " actually", - " acute", - " ad", - " ada", - " adalah", - " adam", - " adapt", - " adaptation", - " adapted", - " adapter", - " adaptive", - " add", - " added", - " addiction", - " adding", - " addition", - " additional", - " additionally", - " additions", - " addon", - " addr", - " address", - " addressed", - " addresses", - " addressing", - " adds", - " además", - " adequate", - " adj", - " adjacent", - " adjust", - " adjusted", - " adjustment", - " admin", - " administered", - " administration", - " administrativa", - " administrative", - " administrator", - " administrators", - " admiral", - " admission", - " admit", - " admits", - " admitted", - " adobe", - " adolf", - " adopt", - " adopted", - " adoption", - " ads", - " adult", - " adults", - " advance", - " advanced", - " advancement", - " advances", - " advancing", - " advantage", - " advantages", - " advent", - " adventure", - " adventures", - " adverse", - " advertisement", - " advertisements", - " advertising", - " advice", - " advised", - " adviser", - " advisor", - " advisory", - " advocacy", - " advocate", - " advocates", - " ae", - " aerial", - " aerospace", - " aesthetic", - " af", - " affair", - " affairs", - " affect", - " affected", - " affecting", - " affects", - " affiliate", - " affiliated", - " afford", - " affordable", - " afghanistan", - " afraid", - " africa", - " african", - " after", - " aftermath", - " afternoon", - " afterward", - " afterwards", - " ag", - " again", - " against", - " age", - " aged", - " agencies", - " agency", - " agenda", - " agent", - " agents", - " ages", - " aggregate", - " aggressive", - " aging", - " agli", - " ago", - " agosto", - " agree", - " agreed", - " agreement", - " agreements", - " agrees", - " agricultura", - " agricultural", - " agriculture", - " agua", - " ah", - " ahead", - " ahol", - " ai", - " aici", - " aid", - " aide", - " aided", - " aids", - " ailleurs", - " aim", - " aimed", - " aims", - " ain", - " ainda", - " ainsi", - " air", - " aircraft", - " aire", - " aired", - " aires", - " airline", - " airlines", - " airplane", - " airport", - " airports", - " així", - " això", - " aj", - " ajax", - " ak", - " aka", - " akan", - " aki", - " akkor", - " ako", - " al", - " alabama", - " alan", - " alarm", - " alaska", - " alatt", - " alba", - " albeit", - " albert", - " album", - " albums", - " alcohol", - " alcune", - " alcuni", - " ale", - " alert", - " alerts", - " ales", - " alex", - " alexander", - " alexandra", - " alexandre", - " alfa", - " alfred", - " algebra", - " algo", - " algorithm", - " algorithms", - " algumas", - " algunos", - " alguns", - " ali", - " alias", - " aliases", - " alice", - " alien", - " aliens", - " align", - " aligned", - " alignment", - " alike", - " alive", - " all", - " alla", - " allan", - " alle", - " alleen", - " allegations", - " alleged", - " allegedly", - " allem", - " allen", - " alliance", - " allied", - " allies", - " allocated", - " allocation", - " allow", - " allowed", - " allowing", - " allows", - " ally", - " alma", - " almost", - " alone", - " along", - " alongside", - " alors", - " alpha", - " alphabet", - " alpine", - " alps", - " already", - " als", - " also", - " alt", - " alta", - " altar", - " alte", - " alter", - " altered", - " alternate", - " alternative", - " alternatively", - " alternatives", - " although", - " altitude", - " alto", - " altogether", - " altra", - " altre", - " altres", - " altri", - " altro", - " altura", - " aluminum", - " alumni", - " always", - " além", - " am", - " amateur", - " amazing", - " amazon", - " amb", - " ambassador", - " amber", - " ambient", - " ambiente", - " ambitious", - " amely", - " amended", - " amendment", - " amendments", - " america", - " american", - " americana", - " americans", - " amet", - " ami", - " amid", - " amikor", - " amino", - " amit", - " ammunition", - " among", - " amongst", - " amor", - " amount", - " amounts", - " amp", - " amplitude", - " amsterdam", - " amt", - " amusing", - " amy", - " an", - " ana", - " anal", - " analog", - " analyse", - " analyses", - " analysis", - " analyst", - " analysts", - " analytical", - " analytics", - " analyze", - " analyzed", - " analyzer", - " analyzing", - " anatomy", - " ancestor", - " ancestors", - " ancestry", - " anche", - " anchor", - " ancien", - " ancient", - " ancora", - " and", - " anden", - " andere", - " anderen", - " anders", - " anderson", - " andet", - " andra", - " andre", - " andrea", - " andrew", - " andrews", - " android", - " androidx", - " ang", - " angel", - " angeles", - " angels", - " anger", - " angle", - " angles", - " anglican", - " angry", - " angular", - " ani", - " animal", - " animals", - " animate", - " animated", - " animation", - " animations", - " animator", - " anime", - " ankle", - " ann", - " anna", - " annat", - " anne", - " annexed", - " anni", - " anniversary", - " anno", - " annotation", - " annotations", - " announce", - " announced", - " announcement", - " announces", - " announcing", - " annual", - " annually", - " année", - " années", - " ano", - " anonymous", - " anos", - " another", - " ans", - " ansible", - " answer", - " answered", - " answers", - " ant", - " antal", - " ante", - " antenna", - " anterior", - " antes", - " anthem", - " anthology", - " anthony", - " anti", - " antic", - " anticipated", - " antiga", - " antigas", - " antigua", - " antoine", - " anton", - " antoni", - " antonio", - " anul", - " används", - " anxiety", - " any", - " anybody", - " anymore", - " anyone", - " anys", - " anything", - " anyway", - " anywhere", - " ao", - " aos", - " août", - " ap", - " apache", - " apart", - " apartment", - " apartments", - " apenas", - " apex", - " api", - " apis", - " apoi", - " apollo", - " app", - " apparatus", - " apparent", - " apparently", - " appeal", - " appeals", - " appear", - " appearance", - " appearances", - " appeared", - " appearing", - " appears", - " appellant", - " append", - " appetite", - " apple", - " applicable", - " application", - " applications", - " applied", - " applies", - " apply", - " applying", - " appointed", - " appointment", - " appointments", - " appreciate", - " appreciated", - " appreciation", - " approach", - " approached", - " approaches", - " approaching", - " appropriate", - " approval", - " approve", - " approved", - " approximate", - " approximately", - " apps", - " apr", - " april", - " après", - " apt", - " após", - " aquest", - " aquesta", - " aquestes", - " aquests", - " ar", - " ara", - " arab", - " arabic", - " arbitrary", - " arc", - " arcade", - " arch", - " archaeological", - " archaeology", - " archbishop", - " architect", - " architects", - " architectural", - " architecture", - " archive", - " archived", - " archives", - " archivo", - " arduino", - " are", - " area", - " areas", - " aren", - " arena", - " arg", - " argc", - " argentina", - " argentine", - " args", - " arguably", - " argue", - " argued", - " argues", - " arguing", - " argument", - " arguments", - " argv", - " aria", - " arise", - " arising", - " arithmetic", - " arizona", - " ark", - " arm", - " armed", - " armies", - " armor", - " arms", - " army", - " arnold", - " arose", - " around", - " arquivo", - " arr", - " arrange", - " arranged", - " arrangement", - " arrangements", - " array", - " arrays", - " arrest", - " arrested", - " arrests", - " arrival", - " arrive", - " arrived", - " arrives", - " arriving", - " arrow", - " arrows", - " arsenal", - " art", - " arte", - " arter", - " arthur", - " article", - " articles", - " artifact", - " artifacts", - " artificial", - " artikel", - " artillery", - " artist", - " artistic", - " artists", - " arts", - " artwork", - " as", - " ascending", - " ascii", - " asemenea", - " ash", - " ashley", - " asi", - " asia", - " asian", - " aside", - " ask", - " asked", - " asking", - " asks", - " asp", - " aspect", - " aspects", - " ass", - " assassination", - " assault", - " assembled", - " assembly", - " assert", - " assertEquals", - " assertTrue", - " assertion", - " assertions", - " assess", - " assessed", - " assessment", - " asset", - " assets", - " assign", - " assigned", - " assignment", - " assignments", - " assigns", - " assim", - " assist", - " assistance", - " assistant", - " assisted", - " assists", - " associate", - " associated", - " associates", - " association", - " associations", - " assume", - " assumed", - " assumes", - " assuming", - " assumption", - " assumptions", - " assured", - " ast", - " asteroid", - " astfel", - " astronom", - " astronomical", - " astronomy", - " asupra", - " asylum", - " async", - " así", - " at", - " atau", - " ate", - " athens", - " athlete", - " athletes", - " athletic", - " athletics", - " atlanta", - " atlantic", - " atlas", - " atmosphere", - " atmospheric", - " atom", - " atomic", - " atoms", - " através", - " att", - " attach", - " attached", - " attachment", - " attack", - " attacked", - " attacking", - " attacks", - " attempt", - " attempted", - " attempting", - " attempts", - " attend", - " attendance", - " attended", - " attending", - " attention", - " attitude", - " attitudes", - " attorney", - " attorneys", - " attr", - " attract", - " attracted", - " attraction", - " attractions", - " attractive", - " attribute", - " attributed", - " attributes", - " attribution", - " attrs", - " atual", - " até", - " au", - " auch", - " auction", - " audience", - " audiences", - " audio", - " audit", - " auf", - " aug", - " august", - " augustus", - " aujourd", - " aunque", - " aunt", - " aus", - " aussi", - " australia", - " australian", - " austria", - " austro", - " auth", - " authentic", - " authenticate", - " authenticated", - " authentication", - " author", - " authored", - " authorities", - " authority", - " authorization", - " authorize", - " authorized", - " authors", - " autism", - " auto", - " autobiography", - " automated", - " automatic", - " automatically", - " automation", - " automobile", - " automotive", - " autonomous", - " autor", - " autre", - " autres", - " autumn", - " aux", - " auxiliary", - " av", - " availability", - " available", - " avant", - " avatar", - " ave", - " avea", - " avec", - " avenue", - " average", - " averaged", - " averaging", - " aveva", - " avg", - " aviation", - " avoid", - " avoided", - " avoiding", - " avoir", - " avril", - " avut", - " await", - " award", - " awarded", - " awards", - " aware", - " awareness", - " away", - " awesome", - " awful", - " aws", - " ax", - " axes", - " axios", - " axis", - " ay", - " az", - " azerbaijan", - " azonban", - " azt", - " azure", - " að", - " año", - " años", - " až", - " à", - " b", - " ba", - " babel", - " babies", - " baby", - " bach", - " bachelor", - " back", - " backbone", - " backdrop", - " backed", - " backend", - " backends", - " background", - " backgroundColor", - " backgrounds", - " backing", - " backs", - " backup", - " backward", - " backwards", - " bacon", - " bacteria", - " bacterial", - " bad", - " baden", - " badge", - " badges", - " badly", - " bag", - " bags", - " bail", - " bajo", - " baker", - " bal", - " balance", - " balanced", - " baldwin", - " ball", - " ballet", - " balloon", - " ballot", - " balls", - " ban", - " banana", - " banco", - " band", - " banda", - " bands", - " bandwidth", - " bang", - " bank", - " banker", - " banking", - " bankruptcy", - " banks", - " banned", - " banner", - " baptist", - " bar", - " bara", - " barbara", - " barcelona", - " bardzo", - " bare", - " barely", - " bark", - " barn", - " baron", - " barrel", - " barrier", - " barriers", - " barry", - " bars", - " bart", - " bas", - " base", - " baseball", - " based", - " baseline", - " basement", - " basename", - " bases", - " bash", - " basic", - " basically", - " basics", - " basin", - " basis", - " basket", - " basketball", - " bass", - " bassist", - " bat", - " bataille", - " batalla", - " batch", - " bath", - " bathroom", - " battalion", - " batteries", - " battery", - " batting", - " battle", - " battlefield", - " battles", - " bay", - " bb", - " bbox", - " bc", - " bd", - " be", - " beach", - " beaches", - " beacon", - " beam", - " bean", - " beans", - " bear", - " beard", - " bearer", - " bearing", - " bears", - " beast", - " beat", - " beaten", - " beating", - " beats", - " beautiful", - " beauty", - " became", - " because", - " beck", - " become", - " becomes", - " becoming", - " bed", - " bedroom", - " beds", - " bee", - " beef", - " been", - " beer", - " beetle", - " beetles", - " before", - " began", - " begin", - " beginning", - " begins", - " begun", - " behalf", - " behavior", - " behavioral", - " behaviors", - " behaviour", - " behind", - " bei", - " beide", - " beiden", - " beim", - " being", - " beings", - " bekend", - " belief", - " beliefs", - " believe", - " believed", - " believers", - " believes", - " believing", - " bell", - " bella", - " belle", - " bells", - " belly", - " belong", - " belonged", - " belonging", - " belongs", - " beloved", - " below", - " belt", - " bem", - " ben", - " bench", - " benchmark", - " bend", - " beneath", - " beneficial", - " benefit", - " benefits", - " benjamin", - " bent", - " bereits", - " berg", - " bergen", - " berkeley", - " berlin", - " bernard", - " berry", - " bert", - " beside", - " besides", - " best", - " bestaat", - " beste", - " består", - " bet", - " beta", - " beth", - " better", - " betting", - " between", - " betyder", - " beyond", - " bez", - " bezeichnet", - " bf", - " bg", - " bgcolor", - " bi", - " bias", - " bible", - " biblical", - " bibliography", - " biblioteca", - " bicycle", - " bid", - " bien", - " big", - " bigger", - " biggest", - " bij", - " bijvoorbeeld", - " bike", - " bikes", - " bil", - " bila", - " bilateral", - " bile", - " bili", - " bill", - " billboard", - " billing", - " billion", - " billions", - " bills", - " billy", - " bilo", - " bin", - " binary", - " bind", - " binding", - " binnen", - " bins", - " bio", - " biographical", - " biography", - " biological", - " biology", - " bir", - " bird", - " birds", - " birth", - " birthday", - " births", - " bis", - " bishop", - " bishops", - " bit", - " bitcoin", - " bite", - " biti", - " bitmap", - " bits", - " bitter", - " bizarre", - " bl", - " black", - " blacks", - " blade", - " blame", - " blamed", - " blanc", - " bland", - " blandt", - " blank", - " blast", - " bleeding", - " blend", - " blessed", - " blessing", - " blev", - " blevet", - " bli", - " blind", - " blir", - " blive", - " bliver", - " blob", - " bloc", - " block", - " blockchain", - " blocked", - " blocking", - " blocks", - " blog", - " blogger", - " blogs", - " blonde", - " blood", - " bloody", - " bloom", - " blow", - " blown", - " blu", - " blue", - " blueprint", - " blues", - " bluetooth", - " blur", - " bn", - " bo", - " board", - " boarding", - " boards", - " boat", - " boats", - " bob", - " bobby", - " bod", - " bodies", - " body", - " bog", - " bold", - " bolt", - " bomb", - " bomber", - " bombing", - " bombs", - " bon", - " bonaparte", - " bond", - " bonds", - " bone", - " bones", - " bonus", - " book", - " booking", - " bookmark", - " books", - " bool", - " boolean", - " boom", - " boost", - " boot", - " booth", - " boots", - " bootstrap", - " border", - " bordered", - " borders", - " bore", - " boring", - " boris", - " born", - " borough", - " borrowed", - " boss", - " boston", - " bot", - " botanical", - " both", - " boto", - " bottle", - " bottles", - " bottom", - " bought", - " boulder", - " boulevard", - " bounce", - " bound", - " boundaries", - " boundary", - " bounded", - " bounds", - " bourbon", - " bout", - " bow", - " bowl", - " bowling", - " box", - " boxer", - " boxes", - " boxing", - " boy", - " boyfriend", - " boys", - " bp", - " br", - " bracket", - " brackets", - " bradley", - " brain", - " brake", - " branch", - " branches", - " brand", - " branded", - " brands", - " brasil", - " brasileiro", - " brass", - " brave", - " brazil", - " brazilian", - " breach", - " bread", - " break", - " breakdown", - " breakfast", - " breaking", - " breaks", - " breakthrough", - " breast", - " breath", - " breathing", - " bred", - " breed", - " breeding", - " breeds", - " bremen", - " brett", - " brew", - " brewery", - " brewing", - " brian", - " brick", - " bride", - " bridge", - " bridges", - " brief", - " briefly", - " brigade", - " bright", - " brightness", - " brilliant", - " bring", - " bringing", - " brings", - " bristol", - " brit", - " britain", - " british", - " broad", - " broadcast", - " broadcaster", - " broadcasting", - " broadcasts", - " broader", - " broadly", - " broadway", - " broj", - " broke", - " broken", - " broker", - " bronze", - " brook", - " brooklyn", - " brooks", - " bros", - " brother", - " brotherhood", - " brothers", - " brought", - " brown", - " browse", - " browser", - " browsers", - " bruce", - " bruges", - " bruno", - " brush", - " brutal", - " bryant", - " bs", - " bt", - " btn", - " bu", - " bubble", - " buck", - " bucket", - " buddha", - " buddy", - " budget", - " buenos", - " buf", - " buff", - " buffalo", - " buffer", - " bug", - " bugs", - " build", - " builder", - " builders", - " building", - " buildings", - " builds", - " built", - " bulk", - " bull", - " bullet", - " bulletin", - " bullets", - " bulls", - " bump", - " bunch", - " bundle", - " burden", - " bureau", - " burger", - " burial", - " buried", - " burn", - " burned", - " burning", - " burns", - " burnt", - " burst", - " bus", - " buses", - " bush", - " business", - " businesses", - " businessman", - " bust", - " busy", - " but", - " butter", - " butterfly", - " button", - " buttons", - " buy", - " buyer", - " buyers", - " buying", - " buzz", - " by", - " bye", - " byen", - " byl", - " byla", - " byli", - " bylo", - " byly", - " bypass", - " byron", - " byte", - " bytes", - " być", - " był", - " była", - " było", - " były", - " bzw", - " både", - " började", - " början", - " být", - " během", - " c", - " ca", - " cab", - " cabin", - " cabinet", - " cable", - " cables", - " cabo", - " cache", - " cached", - " cada", - " cafe", - " café", - " cage", - " cairo", - " cake", - " cal", - " calc", - " calcium", - " calculate", - " calculated", - " calculating", - " calculation", - " calculations", - " calculator", - " calendar", - " calendario", - " california", - " call", - " callable", - " callback", - " callbacks", - " called", - " caller", - " calling", - " calls", - " calm", - " calories", - " cam", - " came", - " camera", - " cameras", - " camp", - " campaign", - " campaigns", - " campbell", - " camping", - " campo", - " campos", - " camps", - " campus", - " can", - " canada", - " canadian", - " canal", - " cancel", - " canceled", - " cancelled", - " cancer", - " candidate", - " candidates", - " candy", - " cannabis", - " cannon", - " cannot", - " canon", - " canonical", - " cant", - " cantidad", - " canton", - " canvas", - " canyon", - " cao", - " cap", - " capabilities", - " capability", - " capable", - " capacity", - " cape", - " capita", - " capital", - " capitale", - " capitalism", - " capitalize", - " capitals", - " caps", - " captain", - " caption", - " capture", - " captured", - " captures", - " capturing", - " car", - " cara", - " características", - " carbon", - " card", - " cardiac", - " cardinal", - " cards", - " care", - " career", - " careers", - " careful", - " carefully", - " carey", - " cargo", - " caribbean", - " caring", - " carl", - " carnival", - " carol", - " carolina", - " carousel", - " carpenter", - " carpet", - " carr", - " carried", - " carrier", - " carriers", - " carries", - " carroll", - " carry", - " carrying", - " cars", - " cart", - " carta", - " carte", - " carter", - " cartoon", - " carved", - " cas", - " casa", - " cascade", - " case", - " cases", - " casey", - " cash", - " casi", - " casino", - " caso", - " casos", - " cast", - " castell", - " casting", - " castle", - " castro", - " casual", - " casualties", - " cat", - " catalana", - " catalog", - " catalogue", - " catalyst", - " català", - " catch", - " catches", - " catching", - " categoria", - " categorical", - " categories", - " category", - " cathedral", - " catherine", - " catholic", - " cats", - " cattle", - " caught", - " causa", - " cause", - " caused", - " causes", - " causing", - " cavalry", - " cave", - " caves", - " cavity", - " cb", - " cbd", - " cc", - " cd", - " ce", - " cea", - " cease", - " ceased", - " cecil", - " cedar", - " cei", - " ceil", - " ceiling", - " cel", - " cele", - " celebrate", - " celebrated", - " celebrates", - " celebrating", - " celebration", - " celebrations", - " celebrities", - " celebrity", - " cell", - " celle", - " cells", - " cellular", - " celtic", - " celui", - " cement", - " cemetery", - " censo", - " census", - " cent", - " center", - " centered", - " centers", - " central", - " centrale", - " centre", - " centres", - " centro", - " centrum", - " cents", - " centuries", - " century", - " ceramic", - " cerca", - " ceremonies", - " ceremony", - " cert", - " certain", - " certainly", - " certificate", - " certificates", - " certification", - " certified", - " ces", - " cette", - " cf", - " cfg", - " ch", - " chai", - " chain", - " chains", - " chair", - " chairman", - " chairs", - " chalk", - " challenge", - " challenged", - " challenger", - " challenges", - " challenging", - " chamber", - " chambers", - " champion", - " champions", - " championship", - " championships", - " chan", - " chance", - " chancellor", - " chances", - " chang", - " change", - " changed", - " changelog", - " changes", - " changing", - " channel", - " channels", - " chaos", - " chapel", - " chapter", - " chapters", - " char", - " character", - " characteristic", - " characteristics", - " characterized", - " characters", - " charge", - " charged", - " charges", - " charging", - " charitable", - " charity", - " charles", - " charleston", - " charlotte", - " charm", - " chars", - " charset", - " chart", - " charter", - " chartered", - " charts", - " chase", - " chassis", - " chat", - " che", - " cheap", - " cheaper", - " check", - " checkbox", - " checked", - " checker", - " checking", - " checkout", - " checkpoint", - " checks", - " cheese", - " chef", - " chemical", - " chemicals", - " chemistry", - " chen", - " cherry", - " chess", - " chest", - " chester", - " chi", - " chicago", - " chicken", - " chief", - " chiefs", - " child", - " childhood", - " children", - " chile", - " chin", - " china", - " chinese", - " chip", - " chips", - " chmod", - " cho", - " chocolate", - " choice", - " choices", - " choir", - " choose", - " choosing", - " chord", - " chorus", - " chose", - " chosen", - " chr", - " chris", - " christ", - " christian", - " christina", - " christmas", - " christopher", - " chrome", - " chromosome", - " chronic", - " chronicle", - " chronicles", - " chu", - " chuck", - " chunk", - " chunks", - " church", - " churches", - " churchill", - " château", - " ci", - " cialis", - " cidade", - " cin", - " cinco", - " cinema", - " cipher", - " circa", - " circle", - " circles", - " circuit", - " circuits", - " circular", - " circulation", - " circumstances", - " circus", - " cirka", - " cisco", - " citation", - " citations", - " cite", - " cited", - " cities", - " citing", - " citizen", - " citizens", - " citizenship", - " città", - " city", - " ciudad", - " ciutat", - " civic", - " civil", - " civilian", - " civilians", - " civilization", - " cl", - " claim", - " claimed", - " claiming", - " claims", - " claire", - " clan", - " clara", - " clare", - " clarity", - " clark", - " clase", - " clash", - " class", - " className", - " classe", - " classes", - " classic", - " classical", - " classics", - " classification", - " classifications", - " classified", - " classifier", - " classify", - " classroom", - " claude", - " clause", - " clay", - " clayton", - " clean", - " cleaned", - " cleaning", - " cleanup", - " clear", - " cleared", - " clearing", - " clearly", - " clergy", - " clerk", - " cleveland", - " clever", - " clf", - " cli", - " click", - " clicked", - " clicking", - " clicks", - " client", - " cliente", - " clients", - " cliff", - " clima", - " climat", - " climate", - " climb", - " climbing", - " clinic", - " clinical", - " clinton", - " clip", - " clipboard", - " clips", - " clock", - " clone", - " close", - " closed", - " closely", - " closer", - " closes", - " closest", - " closing", - " closure", - " cloth", - " clothes", - " clothing", - " cloud", - " clouds", - " cls", - " club", - " clube", - " clubs", - " cluster", - " clustering", - " clusters", - " cm", - " cmake", - " cmd", - " cms", - " cn", - " cnt", - " co", - " coach", - " coached", - " coaches", - " coaching", - " coal", - " coalition", - " coast", - " coastal", - " coat", - " coating", - " cobra", - " coca", - " cocaine", - " cock", - " cod", - " code", - " codec", - " coded", - " codes", - " codigo", - " coding", - " coefficient", - " coffee", - " cognitive", - " cohen", - " coin", - " coined", - " coins", - " col", - " cola", - " cold", - " cole", - " colin", - " collaborate", - " collaborated", - " collaboration", - " collaborative", - " collapse", - " collapsed", - " collar", - " colleague", - " colleagues", - " collect", - " collected", - " collecting", - " collection", - " collections", - " collective", - " collectively", - " collector", - " collectors", - " college", - " colleges", - " collegiate", - " collins", - " collision", - " colonel", - " colonial", - " colonies", - " colony", - " color", - " colorado", - " colored", - " colors", - " colour", - " colours", - " cols", - " colspan", - " columbia", - " columbus", - " column", - " columnist", - " columns", - " com", - " comando", - " comarca", - " combat", - " combination", - " combinations", - " combine", - " combined", - " combines", - " combining", - " combo", - " come", - " comeback", - " comedian", - " comedy", - " comes", - " comfort", - " comfortable", - " comic", - " comics", - " coming", - " comm", - " comma", - " command", - " commanded", - " commander", - " commanders", - " commanding", - " commands", - " comme", - " commence", - " commenced", - " comment", - " commentary", - " commented", - " commenting", - " comments", - " commerce", - " commercial", - " commercially", - " commission", - " commissioned", - " commissioner", - " commissioners", - " commit", - " commitment", - " commits", - " committed", - " committee", - " committees", - " commodity", - " common", - " commonly", - " commons", - " commonwealth", - " commune", - " communes", - " communicate", - " communication", - " communications", - " communion", - " communist", - " communities", - " community", - " como", - " comp", - " compact", - " companies", - " companion", - " companions", - " company", - " comparable", - " comparative", - " compare", - " compared", - " comparing", - " comparison", - " compass", - " compatibility", - " compatible", - " compelling", - " compensation", - " compete", - " competed", - " competing", - " competition", - " competitions", - " competitive", - " competitor", - " competitors", - " compilation", - " compile", - " compiled", - " compiler", - " complained", - " complaint", - " complaints", - " complement", - " complete", - " completed", - " completely", - " completing", - " completion", - " complex", - " complexity", - " compliance", - " complicated", - " complications", - " comply", - " component", - " components", - " compose", - " composed", - " composer", - " composers", - " composite", - " composition", - " compositions", - " compositor", - " compound", - " compounds", - " comprehensive", - " compress", - " compressed", - " compression", - " comprise", - " comprised", - " comprises", - " comprising", - " compromise", - " compte", - " computation", - " computational", - " compute", - " computed", - " computer", - " computers", - " computing", - " comum", - " comuna", - " comune", - " comuni", - " común", - " con", - " concat", - " conceived", - " concentrate", - " concentrated", - " concentration", - " concept", - " conception", - " concepts", - " concern", - " concerned", - " concerning", - " concerns", - " concert", - " concerts", - " conclude", - " concluded", - " conclusion", - " conclusions", - " concrete", - " concurrent", - " condemned", - " condition", - " conditional", - " conditioning", - " conditions", - " conduct", - " conducted", - " conducting", - " conductor", - " cone", - " conf", - " confederation", - " conference", - " conferences", - " confession", - " confidence", - " confident", - " config", - " configs", - " configuration", - " configurations", - " configure", - " configured", - " confined", - " confirm", - " confirmation", - " confirmed", - " confirms", - " conflict", - " conflicts", - " conform", - " confused", - " confusion", - " congregation", - " congress", - " congressional", - " congressman", - " conhecido", - " conjunction", - " conjunto", - " conn", - " connect", - " connected", - " connecting", - " connection", - " connections", - " connectivity", - " connector", - " connects", - " connor", - " conquered", - " conquest", - " cons", - " conscience", - " conscious", - " consciousness", - " consectetur", - " consecutive", - " conseil", - " consensus", - " consent", - " consequence", - " consequences", - " consequently", - " conservation", - " conservative", - " conservatives", - " consider", - " considera", - " considerable", - " considerably", - " consideration", - " considerations", - " considered", - " considering", - " considers", - " consist", - " consisted", - " consistency", - " consistent", - " consistently", - " consisting", - " consists", - " console", - " consolidated", - " consortium", - " conspiracy", - " const", - " constant", - " constantly", - " constants", - " constellation", - " constituencies", - " constituency", - " constituent", - " constitute", - " constitution", - " constitutional", - " constraint", - " constraints", - " construct", - " constructed", - " construction", - " constructor", - " consul", - " consultant", - " consultation", - " consulting", - " consume", - " consumed", - " consumer", - " consumers", - " consuming", - " consumption", - " cont", - " conta", - " contact", - " contacted", - " contacts", - " contador", - " contain", - " contained", - " container", - " containers", - " containing", - " contains", - " conte", - " contemporary", - " content", - " contents", - " contest", - " contestant", - " contestants", - " contested", - " contests", - " context", - " contexts", - " continent", - " continental", - " continuation", - " continue", - " continued", - " continues", - " continuing", - " continuous", - " continuously", - " contra", - " contract", - " contracted", - " contractor", - " contractors", - " contracts", - " contradiction", - " contrary", - " contrast", - " contre", - " contrib", - " contribute", - " contributed", - " contributing", - " contribution", - " contributions", - " contributor", - " contributors", - " contro", - " control", - " controlled", - " controller", - " controllers", - " controlling", - " controls", - " controversial", - " controversy", - " conv", - " convenience", - " convenient", - " convention", - " conventional", - " conventions", - " conversation", - " conversations", - " conversion", - " convert", - " converted", - " converter", - " converting", - " converts", - " convicted", - " conviction", - " convince", - " convinced", - " convoy", - " cook", - " cookbook", - " cookie", - " cookies", - " cooking", - " cool", - " cooling", - " cooper", - " cooperation", - " cooperative", - " coord", - " coordinate", - " coordinates", - " coordination", - " coordinator", - " coords", - " cop", - " copa", - " cope", - " copied", - " copies", - " copper", - " cops", - " copy", - " copying", - " copyright", - " cor", - " coral", - " cord", - " core", - " cores", - " cork", - " corn", - " corner", - " corners", - " corona", - " coronavirus", - " corp", - " corpo", - " corporate", - " corporation", - " corporations", - " corps", - " corpus", - " correct", - " correction", - " corrections", - " correctly", - " correlation", - " correspond", - " correspondence", - " correspondent", - " corresponding", - " corresponds", - " corridor", - " corrupt", - " corruption", - " cors", - " corso", - " cos", - " cosa", - " cosmic", - " cosmos", - " cost", - " costa", - " costly", - " costs", - " costume", - " così", - " cottage", - " cotton", - " could", - " couldn", - " council", - " councils", - " counsel", - " count", - " countdown", - " counted", - " counter", - " counties", - " counting", - " countless", - " countries", - " country", - " countryside", - " counts", - " county", - " coup", - " couple", - " coupled", - " couples", - " coupling", - " courage", - " courier", - " cours", - " course", - " courses", - " court", - " courtesy", - " courthouse", - " courts", - " cousin", - " cout", - " covenant", - " cover", - " coverage", - " covered", - " covering", - " covers", - " covid", - " cow", - " což", - " cp", - " cpp", - " cpu", - " cr", - " crack", - " craft", - " craig", - " crane", - " crash", - " crashed", - " crashes", - " crater", - " crawler", - " crazy", - " cream", - " crear", - " create", - " createElement", - " created", - " creates", - " creating", - " creation", - " creative", - " creativity", - " creator", - " creators", - " creature", - " creatures", - " credential", - " credentials", - " credit", - " credited", - " credits", - " creek", - " crew", - " crews", - " criar", - " cricket", - " crime", - " crimes", - " criminal", - " criminals", - " crisis", - " criteria", - " criterion", - " critic", - " critical", - " critically", - " criticism", - " criticized", - " critics", - " critique", - " croatia", - " crop", - " crops", - " cross", - " crossed", - " crosses", - " crossing", - " crow", - " crowd", - " crowds", - " crown", - " crowned", - " crucial", - " crud", - " crude", - " cruel", - " cruise", - " crush", - " crusher", - " crushing", - " cruz", - " cry", - " crying", - " crypto", - " cryptocurrency", - " crystal", - " création", - " cs", - " csak", - " csrf", - " css", - " csv", - " ct", - " ctrl", - " ctx", - " cu", - " cual", - " cuando", - " cuba", - " cube", - " cubic", - " cucumber", - " cuda", - " cuenta", - " cui", - " cuisine", - " cult", - " cultivation", - " cultura", - " cultural", - " culture", - " cultures", - " cum", - " cup", - " cups", - " cur", - " curator", - " cure", - " curious", - " curl", - " curr", - " currencies", - " currency", - " current", - " currently", - " curriculum", - " curry", - " curse", - " curso", - " cursor", - " curtis", - " curve", - " curved", - " curves", - " custody", - " custom", - " customer", - " customers", - " customize", - " customs", - " cut", - " cute", - " cuts", - " cutting", - " cv", - " cx", - " cy", - " cyan", - " cyber", - " cycle", - " cycles", - " cycling", - " cyclist", - " cyclists", - " cylinder", - " czasie", - " czech", - " czy", - " czyli", - " często", - " części", - " các", - " când", - " células", - " có", - " código", - " công", - " că", - " către", - " của", - " d", - " da", - " daar", - " dabei", - " dad", - " daddy", - " dado", - " dados", - " daemon", - " dag", - " dagen", - " dagens", - " dai", - " daily", - " dairy", - " dal", - " dalam", - " dale", - " dall", - " dalla", - " dalle", - " další", - " dam", - " damage", - " damaged", - " damages", - " dame", - " damit", - " damn", - " dan", - " dana", - " danas", - " dance", - " dancer", - " dancers", - " dancing", - " dane", - " danes", - " danger", - " dangerous", - " dangers", - " daniel", - " danmark", - " dann", - " dans", - " dansk", - " danske", - " dao", - " dapat", - " dar", - " dare", - " dari", - " dark", - " darker", - " darkness", - " dart", - " darwin", - " das", - " dash", - " dashboard", - " dass", - " dat", - " data", - " database", - " databases", - " dataset", - " datasets", - " date", - " dated", - " dates", - " datetime", - " dating", - " dato", - " datos", - " datum", - " daughter", - " daughters", - " dave", - " david", - " davies", - " davis", - " dawn", - " day", - " days", - " db", - " dc", - " dd", - " de", - " dead", - " deadline", - " deadly", - " deaf", - " deal", - " dealer", - " dealers", - " dealing", - " dealings", - " deals", - " dealt", - " dean", - " dear", - " death", - " deaths", - " debate", - " debates", - " debe", - " debian", - " debido", - " debris", - " debt", - " debug", - " debugging", - " debut", - " dec", - " decade", - " decades", - " decay", - " deceased", - " december", - " decent", - " decide", - " decided", - " decides", - " deciding", - " decimal", - " decision", - " decisions", - " decisive", - " deck", - " declaration", - " declarations", - " declare", - " declared", - " declares", - " declaring", - " decline", - " declined", - " declining", - " decode", - " decoded", - " decoder", - " decorated", - " decoration", - " decorator", - " decrease", - " decreased", - " decree", - " decreto", - " decrypt", - " dedicated", - " dedication", - " dee", - " deed", - " deel", - " deemed", - " deep", - " deeper", - " deeply", - " deer", - " def", - " default", - " defaults", - " defeat", - " defeated", - " defeating", - " defeats", - " defence", - " defend", - " defendant", - " defendants", - " defended", - " defender", - " defenders", - " defending", - " defense", - " defensive", - " defer", - " deficit", - " define", - " defined", - " defines", - " defining", - " definitely", - " definition", - " definitions", - " defunct", - " deg", - " degli", - " degree", - " degrees", - " dei", - " deity", - " del", - " dela", - " delay", - " delayed", - " delays", - " dele", - " delegate", - " delegates", - " delegation", - " delen", - " delete", - " deleted", - " deletion", - " deliberately", - " delimiter", - " deliver", - " delivered", - " delivering", - " delivers", - " delivery", - " dell", - " della", - " delle", - " dello", - " delo", - " dels", - " delta", - " dem", - " demand", - " demanded", - " demanding", - " demands", - " demo", - " democracy", - " democrat", - " democratic", - " demographic", - " demographics", - " demolished", - " demon", - " demons", - " demonstrate", - " demonstrated", - " demonstrates", - " demonstration", - " demonstrations", - " demos", - " den", - " dengan", - " denial", - " denied", - " denis", - " denna", - " denne", - " dennis", - " denomination", - " dense", - " density", - " dental", - " dentro", - " deny", - " dep", - " departed", - " department", - " departments", - " departure", - " depend", - " dependencies", - " dependency", - " dependent", - " depending", - " depends", - " depicted", - " depicting", - " depicts", - " deploy", - " deployed", - " deployment", - " depois", - " deposit", - " deposits", - " depot", - " deprecated", - " depression", - " deps", - " dept", - " depth", - " depths", - " depuis", - " deputies", - " deputy", - " der", - " derby", - " derek", - " deren", - " deres", - " derfor", - " deriva", - " derivative", - " derivatives", - " derive", - " derived", - " derives", - " des", - " desarrollo", - " desc", - " descendants", - " descended", - " descent", - " describe", - " described", - " describes", - " describing", - " description", - " descriptions", - " descriptor", - " desde", - " desenvolvimento", - " desert", - " deserve", - " design", - " designated", - " designation", - " designed", - " designer", - " designers", - " designing", - " designs", - " desire", - " desired", - " desires", - " desk", - " desktop", - " desperate", - " despite", - " despre", - " després", - " después", - " dess", - " dessa", - " dessen", - " dest", - " desta", - " destination", - " destinations", - " destiny", - " destroy", - " destroyed", - " destroyer", - " destroying", - " destruction", - " det", - " detail", - " detailed", - " details", - " detained", - " detect", - " detected", - " detecting", - " detection", - " detective", - " detector", - " detention", - " determination", - " determine", - " determined", - " determines", - " determining", - " detroit", - " detta", - " dette", - " deutsch", - " deutsche", - " deutschen", - " deutscher", - " deutschland", - " deux", - " dev", - " devastating", - " deve", - " develop", - " developed", - " developer", - " developers", - " developing", - " development", - " developmental", - " developments", - " develops", - " deviation", - " device", - " devices", - " devido", - " devient", - " devil", - " devils", - " devise", - " devoted", - " deze", - " dezembro", - " df", - " dhe", - " di", - " dia", - " diabetes", - " diagnosed", - " diagnosis", - " diagnostic", - " diagonal", - " diagram", - " dial", - " dialect", - " dialog", - " dialogue", - " diameter", - " diamond", - " diamonds", - " diary", - " dias", - " dic", - " dice", - " dick", - " dict", - " dictionary", - " did", - " didn", - " die", - " died", - " dies", - " diese", - " diesel", - " diesem", - " dieser", - " diet", - " dietary", - " diferentes", - " diferents", - " diff", - " differ", - " difference", - " differences", - " different", - " differential", - " differently", - " differs", - " difficult", - " difficulties", - " difficulty", - " dig", - " digest", - " digit", - " digital", - " digitalWrite", - " digits", - " dignity", - " dim", - " dimension", - " dimensional", - " dimensions", - " dims", - " din", - " dining", - " dinner", - " dins", - " dintre", - " dio", - " dioxide", - " diploma", - " diplomat", - " diplomatic", - " dir", - " dira", - " dire", - " direct", - " directed", - " directing", - " direction", - " directions", - " directive", - " directly", - " director", - " directories", - " directors", - " directory", - " dirname", - " dirs", - " dirt", - " dirty", - " dis", - " disabilities", - " disability", - " disable", - " disabled", - " disappeared", - " disappointed", - " disaster", - " disasters", - " disbanded", - " disc", - " discharge", - " disciples", - " discipline", - " disciplines", - " disclaimer", - " disclosed", - " disclosure", - " disco", - " disconnect", - " discontinued", - " discord", - " discount", - " discourse", - " discover", - " discovered", - " discoveries", - " discovering", - " discovers", - " discovery", - " discrete", - " discrimination", - " discuss", - " discussed", - " discusses", - " discussing", - " discussion", - " discussions", - " disease", - " diseases", - " dish", - " dishes", - " disk", - " dismiss", - " dismissed", - " disney", - " disorder", - " disorders", - " dispatch", - " dispatcher", - " displaced", - " displacement", - " display", - " displayed", - " displaying", - " displays", - " disposal", - " dispose", - " disposed", - " disposing", - " disposition", - " dispute", - " disputed", - " disputes", - " disse", - " dissertation", - " dissolution", - " dissolved", - " dist", - " distance", - " distances", - " distant", - " distinct", - " distinction", - " distinctive", - " distinguish", - " distinguished", - " distribute", - " distributed", - " distribution", - " distributions", - " district", - " districts", - " distrito", - " dit", - " div", - " dive", - " diverse", - " diverses", - " diversity", - " diversos", - " divide", - " divided", - " dividend", - " divine", - " diving", - " division", - " divisions", - " división", - " divorce", - " divorced", - " django", - " dk", - " dl", - " dla", - " dll", - " dm", - " dni", - " dns", - " do", - " doar", - " době", - " doc", - " dock", - " docker", - " docs", - " doctor", - " doctoral", - " doctorate", - " doctors", - " doctrine", - " document", - " documentary", - " documentation", - " documented", - " documento", - " documents", - " dodge", - " doe", - " does", - " doesn", - " dog", - " dogs", - " doi", - " doing", - " dois", - " dok", - " dollar", - " dollars", - " dolor", - " dolphins", - " dom", - " domain", - " domains", - " dome", - " domestic", - " dominant", - " dominated", - " domingo", - " domini", - " don", - " dona", - " donald", - " donate", - " donated", - " donation", - " donations", - " donc", - " donde", - " done", - " dong", - " donna", - " données", - " donor", - " donors", - " dont", - " doom", - " door", - " doors", - " dopo", - " dort", - " dos", - " dose", - " doses", - " dot", - " dots", - " double", - " doubled", - " doubles", - " doubt", - " doug", - " douglas", - " două", - " dove", - " dow", - " down", - " download", - " downloaded", - " downloading", - " downloads", - " downs", - " downstream", - " downtown", - " dozen", - " dozens", - " dp", - " dr", - " draft", - " drafted", - " drag", - " dragon", - " dragons", - " drain", - " drainage", - " drake", - " drama", - " dramatic", - " dramatically", - " draw", - " drawable", - " drawer", - " drawing", - " drawings", - " drawn", - " draws", - " dream", - " dreams", - " drei", - " dress", - " dressed", - " drew", - " drie", - " dried", - " drift", - " drill", - " drilling", - " drink", - " drinking", - " drinks", - " drive", - " driven", - " driver", - " drivers", - " drives", - " driving", - " drone", - " drop", - " dropdown", - " dropout", - " dropped", - " dropping", - " drops", - " drought", - " drove", - " drug", - " druga", - " druge", - " drugi", - " drugih", - " drugim", - " drugo", - " drugs", - " drum", - " drummer", - " drums", - " drunk", - " dry", - " država", - " države", - " ds", - " dst", - " dt", - " dto", - " dtype", - " du", - " dual", - " duas", - " dubbed", - " duc", - " duck", - " due", - " dues", - " duke", - " dummy", - " dump", - " dumps", - " duncan", - " duo", - " duplicate", - " după", - " dur", - " durant", - " durante", - " duration", - " durch", - " during", - " dus", - " dust", - " dutch", - " duties", - " duty", - " dva", - " dvije", - " dwelling", - " dx", - " dy", - " dying", - " dynamic", - " dynamics", - " dynasty", - " dysfunction", - " där", - " då", - " début", - " década", - " département", - " député", - " día", - " días", - " də", - " e", - " ea", - " each", - " eager", - " eagle", - " eagles", - " ear", - " earl", - " earlier", - " earliest", - " early", - " earn", - " earned", - " earning", - " earnings", - " ears", - " earth", - " earthquake", - " ease", - " easier", - " easily", - " east", - " easter", - " eastern", - " easy", - " eat", - " eaten", - " eating", - " eau", - " eb", - " ec", - " echo", - " echter", - " eclipse", - " eco", - " ecological", - " ecology", - " economia", - " economic", - " economics", - " economies", - " economist", - " economists", - " economy", - " ecosystem", - " ed", - " edad", - " eddie", - " eden", - " edgar", - " edge", - " edges", - " edit", - " edited", - " editing", - " edition", - " editions", - " editor", - " editorial", - " editors", - " edmund", - " edo", - " eds", - " edu", - " educated", - " education", - " educational", - " educator", - " educators", - " edward", - " ee", - " een", - " eerst", - " eerste", - " eeuw", - " ef", - " effect", - " effective", - " effectively", - " effectiveness", - " effects", - " effet", - " efficiency", - " efficient", - " efficiently", - " effort", - " efforts", - " efter", - " eftersom", - " eg", - " egen", - " egg", - " eggs", - " ego", - " egy", - " egyik", - " egypt", - " egyptian", - " eh", - " ei", - " eigen", - " eight", - " eighteen", - " eighth", - " ein", - " eine", - " einem", - " einen", - " einer", - " eines", - " either", - " ejemplo", - " ekki", - " eks", - " el", - " ela", - " elaborate", - " elapsed", - " elastic", - " elasticsearch", - " elder", - " elderly", - " eldest", - " ele", - " elect", - " elected", - " election", - " elections", - " electoral", - " electric", - " electrical", - " electricity", - " electrode", - " electromagnetic", - " electron", - " electronic", - " electronics", - " electrons", - " elegant", - " elem", - " element", - " elementary", - " elementi", - " elemento", - " elementos", - " elements", - " elephant", - " elevated", - " elevation", - " elevator", - " eleven", - " eli", - " elif", - " eligible", - " eliminate", - " eliminated", - " elimination", - " elit", - " elite", - " elizabeth", - " elk", - " elkaar", - " ella", - " elle", - " ellen", - " eller", - " ellis", - " elm", - " els", - " else", - " elsewhere", - " elsif", - " első", - " em", - " email", - " emails", - " embargo", - " embassy", - " embed", - " embedded", - " embedding", - " ember", - " embrace", - " emerge", - " emerged", - " emergence", - " emergency", - " emerging", - " emigrants", - " emil", - " emily", - " emission", - " emissions", - " emit", - " emoji", - " emotion", - " emotional", - " emotions", - " emp", - " emperor", - " emphasis", - " emphasized", - " empire", - " employ", - " employed", - " employee", - " employees", - " employer", - " employers", - " employment", - " empresa", - " empty", - " en", - " ena", - " enable", - " enabled", - " enables", - " enabling", - " enacted", - " enc", - " encara", - " enclosed", - " encode", - " encoded", - " encoder", - " encoding", - " encompasses", - " encore", - " encounter", - " encountered", - " encounters", - " encourage", - " encouraged", - " encouraging", - " encrypt", - " encrypted", - " encryption", - " encuentra", - " encyclopedia", - " end", - " endangered", - " endast", - " ende", - " ended", - " endemic", - " endif", - " ending", - " endings", - " endl", - " endless", - " endorsed", - " endpoint", - " endpoints", - " ends", - " enemies", - " enemy", - " energia", - " energie", - " energy", - " enero", - " enforce", - " enforcement", - " eng", - " engage", - " engaged", - " engagement", - " engaging", - " engels", - " engine", - " engineer", - " engineering", - " engineers", - " engines", - " england", - " english", - " enhance", - " enhanced", - " enhancement", - " enjoy", - " enjoyed", - " enjoying", - " enjoys", - " enkele", - " enkelte", - " enlaces", - " enlarged", - " enligt", - " enlisted", - " enormous", - " enough", - " enrolled", - " enrollment", - " ensemble", - " ensure", - " ensures", - " ensuring", - " enter", - " entered", - " entering", - " enterprise", - " enterprises", - " enters", - " entertaining", - " entertainment", - " enthusiasm", - " entire", - " entirely", - " entities", - " entitled", - " entity", - " entonces", - " entrada", - " entrance", - " entre", - " entrepreneur", - " entrepreneurs", - " entries", - " entropy", - " entry", - " então", - " enum", - " enumerate", - " env", - " envelope", - " environ", - " environment", - " environmental", - " environments", - " enzyme", - " ep", - " epic", - " epidemic", - " episcopal", - " episode", - " episodes", - " epoch", - " epochs", - " eps", - " epsilon", - " epub", - " eq", - " equal", - " equality", - " equally", - " equals", - " equation", - " equations", - " equipment", - " equipped", - " equity", - " equiv", - " equivalent", - " er", - " era", - " eram", - " erano", - " erb", - " ere", - " erected", - " erectile", - " eric", - " erik", - " erne", - " ernst", - " err", - " errno", - " erro", - " error", - " errors", - " ers", - " erst", - " erste", - " ersten", - " eru", - " es", - " escape", - " escaped", - " escola", - " escort", - " escorts", - " ese", - " esempio", - " esp", - " español", - " española", - " especially", - " especies", - " essa", - " essay", - " essays", - " esse", - " essence", - " essential", - " essentially", - " essere", - " est", - " esta", - " establish", - " established", - " establishing", - " establishment", - " establishments", - " estado", - " estados", - " estar", - " estas", - " estat", - " estate", - " estates", - " estava", - " este", - " estimate", - " estimated", - " estimates", - " estimation", - " esto", - " estos", - " estructura", - " està", - " está", - " están", - " et", - " eta", - " etc", - " eternal", - " eth", - " ethereum", - " ethernet", - " ethical", - " ethics", - " ethnic", - " ett", - " että", - " etwa", - " eu", - " euler", - " euro", - " europa", - " europe", - " europea", - " european", - " euros", - " ev", - " eva", - " eval", - " evaluate", - " evaluated", - " evaluation", - " evangelical", - " eve", - " even", - " evening", - " event", - " eventi", - " evento", - " eventos", - " events", - " eventual", - " eventually", - " ever", - " every", - " everybody", - " everyday", - " everyone", - " everything", - " everywhere", - " evidence", - " evident", - " evil", - " evolution", - " evolutionary", - " evolved", - " evt", - " ex", - " exact", - " exactly", - " exam", - " examination", - " examine", - " examined", - " examining", - " example", - " examples", - " exc", - " exceed", - " exceeded", - " excel", - " excellence", - " excellent", - " except", - " exception", - " exceptional", - " exceptions", - " excerpt", - " excess", - " excessive", - " exchange", - " exchanges", - " excited", - " excitement", - " exciting", - " exclude", - " excluded", - " excluding", - " exclusive", - " exclusively", - " excuse", - " exe", - " exec", - " executable", - " execute", - " executed", - " executing", - " execution", - " executive", - " executives", - " executor", - " exempel", - " exemple", - " exemplo", - " exempt", - " exercise", - " exercises", - " exhibit", - " exhibited", - " exhibition", - " exhibitions", - " exhibits", - " exile", - " exist", - " existe", - " existed", - " existence", - " existing", - " exists", - " există", - " exit", - " exits", - " exodus", - " exotic", - " exp", - " expand", - " expanded", - " expanding", - " expansion", - " expect", - " expectations", - " expected", - " expecting", - " expects", - " expedition", - " expelled", - " expense", - " expenses", - " expensive", - " experience", - " experienced", - " experiences", - " experiencing", - " experiment", - " experimental", - " experiments", - " expert", - " expertise", - " experts", - " expire", - " expired", - " expires", - " explain", - " explained", - " explaining", - " explains", - " explanation", - " explicit", - " explicitly", - " exploit", - " exploitation", - " exploration", - " explore", - " explored", - " explorer", - " explores", - " exploring", - " explosion", - " explosive", - " expo", - " export", - " exported", - " exports", - " expose", - " exposed", - " exposition", - " exposure", - " expr", - " express", - " expressed", - " expressing", - " expression", - " expressions", - " ext", - " extend", - " extended", - " extending", - " extends", - " extension", - " extensions", - " extensive", - " extensively", - " extent", - " exterior", - " extern", - " externa", - " external", - " externe", - " externos", - " extinct", - " extinction", - " extra", - " extract", - " extracted", - " extraction", - " extraordinary", - " extras", - " extreme", - " extremely", - " eye", - " eyes", - " ez", - " ezt", - " f", - " fa", - " fab", - " fabric", - " facade", - " face", - " facebook", - " faced", - " faces", - " facial", - " facilitate", - " facilities", - " facility", - " facing", - " fact", - " faction", - " facto", - " factor", - " factorial", - " factories", - " factors", - " factory", - " facts", - " faculty", - " fade", - " fail", - " failed", - " failing", - " fails", - " failure", - " failures", - " fair", - " faire", - " fairly", - " fairy", - " fait", - " faith", - " faithful", - " fake", - " faker", - " falcon", - " fall", - " fallen", - " falling", - " falls", - " false", - " fame", - " famiglia", - " familia", - " familiar", - " familie", - " families", - " famille", - " family", - " famous", - " família", - " fan", - " fancy", - " fans", - " fantastic", - " fantasy", - " far", - " fare", - " farm", - " farmer", - " farmers", - " farming", - " farms", - " fars", - " fas", - " fascinating", - " fase", - " fashion", - " fast", - " faster", - " fastest", - " fat", - " fatal", - " fate", - " father", - " fathers", - " fatto", - " fatty", - " fault", - " fauna", - " favicon", - " favor", - " favorable", - " favorite", - " favorites", - " favour", - " favourite", - " fazer", - " fb", - " fc", - " fd", - " fe", - " fear", - " feared", - " fears", - " feast", - " feat", - " feature", - " featured", - " features", - " featuring", - " feb", - " febrero", - " februar", - " februari", - " february", - " fecha", - " fed", - " federal", - " federation", - " fee", - " feed", - " feedback", - " feeding", - " feeds", - " feel", - " feeling", - " feelings", - " feels", - " fees", - " feet", - " feira", - " fel", - " fell", - " fellow", - " fellows", - " fellowship", - " felt", - " fem", - " female", - " females", - " feminine", - " feminist", - " fence", - " feng", - " fer", - " ferdinand", - " ferguson", - " fernando", - " ferro", - " ferry", - " fertile", - " fertility", - " fest", - " festa", - " festival", - " festivals", - " fet", - " fetch", - " fever", - " few", - " fewer", - " ff", - " fg", - " fi", - " fiber", - " fibonacci", - " fick", - " fiction", - " fictional", - " fie", - " field", - " fields", - " fierce", - " fifa", - " fifteen", - " fifth", - " fifty", - " fig", - " fight", - " fighter", - " fighters", - " fighting", - " fights", - " figura", - " figure", - " figured", - " figures", - " fiind", - " fik", - " fil", - " file", - " fileName", - " filed", - " filename", - " filepath", - " files", - " filesystem", - " filho", - " filing", - " filip", - " fill", - " filled", - " filling", - " fills", - " film", - " filme", - " filmed", - " filming", - " filmmaker", - " films", - " filmu", - " fils", - " filter", - " filtered", - " filtering", - " filters", - " fim", - " fin", - " final", - " finale", - " finalist", - " finally", - " finals", - " finance", - " finances", - " financial", - " financially", - " financing", - " find", - " findViewById", - " finder", - " findes", - " finding", - " findings", - " finds", - " fine", - " finest", - " finger", - " fingers", - " finish", - " finished", - " finishing", - " finite", - " finland", - " finn", - " finnish", - " finns", - " fino", - " fins", - " fire", - " firearms", - " firebase", - " fired", - " firefox", - " fires", - " firing", - " firm", - " firma", - " firmly", - " firms", - " firmware", - " first", - " firstName", - " firstname", - " fiscal", - " fischer", - " fish", - " fisher", - " fishing", - " fit", - " fitness", - " fits", - " fitted", - " fitting", - " five", - " fix", - " fixed", - " fixes", - " fixing", - " fixture", - " fixtures", - " fl", - " flag", - " flags", - " flagship", - " flame", - " flames", - " flash", - " flask", - " flat", - " flatten", - " flavor", - " fled", - " flee", - " fleet", - " flera", - " flere", - " flesh", - " flew", - " flex", - " flexibility", - " flexible", - " flies", - " flight", - " flights", - " flip", - " float", - " floating", - " flood", - " flooding", - " floods", - " floor", - " floors", - " flora", - " flores", - " florida", - " flour", - " flow", - " flower", - " flowering", - " flowers", - " flowing", - " flows", - " flu", - " fluid", - " flush", - " flutter", - " flux", - " fly", - " flying", - " fm", - " fmt", - " fn", - " fname", - " fo", - " foam", - " foarte", - " focal", - " focus", - " focused", - " focuses", - " focusing", - " fog", - " foi", - " fois", - " fold", - " folder", - " folders", - " folk", - " folklore", - " folks", - " follow", - " followed", - " followers", - " following", - " follows", - " fonction", - " fond", - " font", - " fontSize", - " fonte", - " fonts", - " foo", - " food", - " foods", - " fool", - " foot", - " footage", - " football", - " footballer", - " footer", - " for", - " forEach", - " foram", - " forbes", - " forbidden", - " force", - " forced", - " forces", - " forcing", - " ford", - " fore", - " foreach", - " forecast", - " foreign", - " forest", - " forests", - " forever", - " forex", - " forge", - " forget", - " forgot", - " forgotten", - " forhold", - " fork", - " form", - " forma", - " formal", - " formally", - " formar", - " format", - " formation", - " formations", - " formato", - " formats", - " formatted", - " formatter", - " formatting", - " forme", - " formed", - " former", - " formerly", - " forming", - " forms", - " formula", - " forskellige", - " fort", - " forte", - " forth", - " fortress", - " fortune", - " forty", - " forum", - " forums", - " forward", - " forwards", - " força", - " fossil", - " fost", - " foster", - " foto", - " fou", - " fought", - " found", - " foundation", - " foundations", - " founded", - " founder", - " founders", - " founding", - " fountain", - " four", - " fourteen", - " fourth", - " fox", - " fp", - " fprintf", - " fps", - " fr", - " fra", - " fraction", - " fragment", - " fragments", - " fram", - " frame", - " frames", - " framework", - " frameworks", - " franc", - " france", - " frances", - " francesa", - " francesco", - " franchise", - " francis", - " francisco", - " franco", - " frank", - " frankfurt", - " franklin", - " franz", - " français", - " française", - " fraud", - " fred", - " frederick", - " free", - " freed", - " freedom", - " freely", - " freeman", - " freestyle", - " freeze", - " freight", - " frem", - " french", - " freq", - " frequencies", - " frequency", - " frequent", - " frequently", - " fresh", - " freshman", - " fri", - " friction", - " friday", - " friend", - " friendly", - " friends", - " friendship", - " from", - " front", - " frontend", - " frontier", - " frost", - " frozen", - " fruit", - " fruits", - " frustrated", - " från", - " fs", - " ft", - " fu", - " fuck", - " fucking", - " fue", - " fuel", - " fueron", - " fulfill", - " fulfilled", - " full", - " fuller", - " fully", - " fun", - " func", - " función", - " function", - " functional", - " functionality", - " functioning", - " functions", - " fund", - " fundamental", - " funded", - " funding", - " funds", - " funeral", - " fungi", - " funk", - " funny", - " função", - " fur", - " furnished", - " furniture", - " further", - " furthermore", - " fury", - " fusion", - " fut", - " future", - " futures", - " fw", - " fx", - " fyrir", - " få", - " får", - " février", - " física", - " för", - " före", - " först", - " första", - " før", - " først", - " første", - " für", - " g", - " ga", - " gain", - " gained", - " gaining", - " gains", - " galaxy", - " galleries", - " gallery", - " gambling", - " game", - " gameplay", - " games", - " gaming", - " gamla", - " gamle", - " gamma", - " gan", - " gang", - " gap", - " gaps", - " garage", - " garbage", - " garcía", - " garde", - " garden", - " gardens", - " garrison", - " gary", - " gas", - " gases", - " gate", - " gates", - " gateway", - " gather", - " gathered", - " gathering", - " gauge", - " gaussian", - " gav", - " gave", - " gay", - " gazette", - " gb", - " gc", - " gcc", - " gdje", - " gdy", - " gdzie", - " ge", - " gear", - " gebied", - " geboren", - " gebruik", - " gebruikt", - " geen", - " gegen", - " gel", - " gem", - " gemeente", - " gems", - " gen", - " genannt", - " gender", - " gene", - " gener", - " genera", - " general", - " generale", - " generally", - " generals", - " generate", - " generated", - " generates", - " generating", - " generation", - " generations", - " generator", - " generators", - " generic", - " generous", - " genes", - " genesis", - " genetic", - " genetics", - " genius", - " gennaio", - " gennem", - " genocide", - " genoemd", - " genom", - " genome", - " genre", - " genres", - " gentle", - " gentleman", - " genuine", - " genus", - " geo", - " geographic", - " geographical", - " geography", - " geological", - " geology", - " geometric", - " geometry", - " georg", - " george", - " georgetown", - " georgia", - " german", - " germans", - " germany", - " geschiedenis", - " gesture", - " get", - " getData", - " getId", - " getInstance", - " getMessage", - " getName", - " getString", - " getText", - " getValue", - " gets", - " getter", - " getting", - " gh", - " ghost", - " gi", - " giant", - " giants", - " gibt", - " gif", - " gift", - " gifts", - " gil", - " gill", - " gilt", - " gin", - " ging", - " girl", - " girlfriend", - " girls", - " git", - " github", - " give", - " given", - " gives", - " giving", - " già", - " gjorde", - " gl", - " glacier", - " glad", - " glasgow", - " glass", - " glasses", - " glen", - " gli", - " glob", - " global", - " globally", - " globals", - " globe", - " gloria", - " glory", - " glucose", - " gmail", - " go", - " goal", - " goalkeeper", - " goals", - " gobierno", - " god", - " goddess", - " godina", - " godine", - " gods", - " goes", - " going", - " gold", - " golden", - " golf", - " gone", - " gonna", - " gonzález", - " good", - " goodbye", - " goods", - " google", - " gore", - " gorgeous", - " gospel", - " got", - " gothic", - " goto", - " gotten", - " gov", - " govern", - " governance", - " governed", - " governing", - " government", - " governmental", - " governments", - " governo", - " governor", - " governors", - " govt", - " gpio", - " gpu", - " gr", - " grab", - " grabbed", - " grace", - " grad", - " grada", - " grade", - " grades", - " gradient", - " gradually", - " graduate", - " graduated", - " graduates", - " graduating", - " graduation", - " graf", - " grain", - " gram", - " grammar", - " gran", - " grand", - " grande", - " grandes", - " grandfather", - " grandmother", - " grands", - " grandson", - " granite", - " grant", - " granted", - " grants", - " grape", - " graph", - " graphic", - " graphics", - " graphs", - " grass", - " grateful", - " grave", - " graves", - " gravity", - " gray", - " great", - " greater", - " greatest", - " greatly", - " grec", - " greco", - " greece", - " greek", - " green", - " greenhouse", - " greeting", - " greg", - " gregory", - " grep", - " grew", - " grey", - " grid", - " grief", - " grinding", - " grip", - " grocery", - " groot", - " grootste", - " groove", - " gross", - " grote", - " ground", - " grounds", - " group", - " groupe", - " grouped", - " groups", - " grove", - " grow", - " growing", - " grown", - " grows", - " growth", - " große", - " grund", - " grunt", - " grup", - " grupa", - " grupo", - " grupos", - " gruppe", - " gruppo", - " gs", - " gson", - " gt", - " gtk", - " guarantee", - " guaranteed", - " guard", - " guardian", - " guards", - " gud", - " guerra", - " guerre", - " guess", - " guest", - " guests", - " gui", - " guid", - " guidance", - " guide", - " guided", - " guidelines", - " guides", - " guild", - " guilt", - " guilty", - " guinea", - " guitar", - " guitarist", - " guitars", - " gujarat", - " gulf", - " gulp", - " gun", - " guns", - " guru", - " gut", - " guy", - " guys", - " gym", - " gz", - " går", - " género", - " général", - " h", - " ha", - " haar", - " hab", - " haben", - " habit", - " habitantes", - " habitants", - " habitat", - " habits", - " había", - " hace", - " hacer", - " hacia", - " hack", - " had", - " hade", - " hadn", - " hai", - " hair", - " haiti", - " hal", - " half", - " halfway", - " hall", - " halloween", - " halls", - " halt", - " ham", - " hamburg", - " hamilton", - " hammer", - " han", - " hand", - " handbook", - " handed", - " handel", - " handful", - " handle", - " handled", - " handler", - " handlers", - " handles", - " handling", - " hands", - " hang", - " hanging", - " hanno", - " hans", - " happen", - " happened", - " happening", - " happens", - " happiness", - " happy", - " har", - " harassment", - " harbor", - " harbour", - " hard", - " hardcore", - " harder", - " hardly", - " hardware", - " hardy", - " harm", - " harmful", - " harmony", - " harper", - " harris", - " harsh", - " hart", - " harvest", - " has", - " hash", - " hasil", - " hasn", - " hassan", - " hasta", - " hat", - " hate", - " hatred", - " hatte", - " haute", - " havde", - " have", - " haven", - " haver", - " havia", - " having", - " hawk", - " hay", - " he", - " head", - " headed", - " header", - " headers", - " heading", - " headline", - " headlines", - " headquarters", - " heads", - " heal", - " healing", - " health", - " healthcare", - " healthy", - " heap", - " hear", - " heard", - " hearing", - " heart", - " hearts", - " heat", - " heated", - " heath", - " heating", - " heaven", - " heavily", - " heavy", - " heavyweight", - " hebben", - " hebrew", - " hedge", - " heeft", - " heel", - " height", - " heights", - " heinrich", - " heir", - " hela", - " held", - " hele", - " helicopter", - " hell", - " hello", - " helm", - " helmet", - " help", - " helped", - " helper", - " helpers", - " helpful", - " helping", - " helps", - " helt", - " hem", - " hemisphere", - " hemp", - " hen", - " hence", - " henderson", - " hennes", - " henri", - " henry", - " her", - " herald", - " herb", - " herbert", - " herbs", - " here", - " hereby", - " heritage", - " herman", - " hermann", - " hero", - " heroes", - " herself", - " herzog", - " het", - " heute", - " hex", - " hey", - " hi", - " hidden", - " hide", - " hiding", - " hier", - " hierarchy", - " high", - " higher", - " highest", - " highland", - " highlight", - " highlighted", - " highlighting", - " highlights", - " highly", - " highway", - " highways", - " hij", - " hijo", - " hiking", - " hill", - " hills", - " him", - " himself", - " hindi", - " hindu", - " hint", - " hints", - " hip", - " hire", - " hired", - " hiring", - " his", - " hist", - " histogram", - " histoire", - " historia", - " historian", - " historians", - " historic", - " historical", - " historically", - " historie", - " histories", - " history", - " història", - " história", - " hit", - " hitler", - " hits", - " hitting", - " ho", - " hobby", - " hockey", - " hogy", - " hoje", - " hold", - " holder", - " holders", - " holding", - " holdings", - " holds", - " hole", - " holes", - " holiday", - " holidays", - " holland", - " hollow", - " hollywood", - " holocaust", - " holy", - " home", - " homeland", - " homeless", - " homepage", - " homer", - " homes", - " hometown", - " homework", - " homme", - " homo", - " hon", - " honda", - " honest", - " honestly", - " honey", - " hong", - " honom", - " honor", - " honorary", - " honored", - " honors", - " honour", - " honours", - " hood", - " hook", - " hooks", - " hop", - " hope", - " hoped", - " hopefully", - " hopes", - " hoping", - " hora", - " horizon", - " horizontal", - " hormone", - " horn", - " horrible", - " horror", - " horse", - " horses", - " hos", - " hospital", - " hospitals", - " host", - " hosted", - " hostile", - " hosting", - " hostname", - " hosts", - " hot", - " hotel", - " hotels", - " hour", - " hours", - " house", - " housed", - " household", - " households", - " houses", - " housing", - " houston", - " hover", - " how", - " howard", - " however", - " hp", - " hr", - " href", - " hrs", - " html", - " http", - " https", - " hu", - " hub", - " hudson", - " huge", - " hughes", - " hui", - " huit", - " hull", - " human", - " humanitarian", - " humanities", - " humanity", - " humans", - " humble", - " humid", - " humidity", - " humor", - " hun", - " hundred", - " hundreds", - " hung", - " hungarian", - " hungary", - " hunger", - " hungry", - " hunt", - " hunter", - " hunters", - " hunting", - " hur", - " hurricane", - " hurt", - " husband", - " hver", - " hvilket", - " hvis", - " hvor", - " hw", - " hybrid", - " hydrogen", - " hypothesis", - " hz", - " há", - " három", - " här", - " học", - " i", - " iOS", - " iPad", - " iPhone", - " iTunes", - " ia", - " ian", - " iar", - " ibn", - " ic", - " ice", - " ich", - " ico", - " icon", - " iconic", - " icons", - " id", - " ida", - " idade", - " ide", - " idea", - " ideal", - " ideas", - " identical", - " identification", - " identified", - " identifier", - " identifies", - " identify", - " identifying", - " identity", - " ideology", - " idle", - " idol", - " ids", - " idx", - " ie", - " ieee", - " if", - " ifdef", - " ifndef", - " iframe", - " ig", - " igen", - " ignore", - " ignored", - " igor", - " igreja", - " igual", - " ih", - " ihm", - " ihr", - " ihre", - " ihrer", - " ii", - " ikke", - " il", - " ile", - " ilha", - " ili", - " ill", - " illa", - " illegal", - " illetve", - " illinois", - " illness", - " illuminate", - " illustrated", - " illustration", - " illustrations", - " ils", - " im", - " ima", - " image", - " imagen", - " imagery", - " images", - " imagination", - " imagine", - " imaging", - " imam", - " ime", - " img", - " imgs", - " immediate", - " immediately", - " immigrant", - " immigrants", - " immigration", - " immune", - " immunity", - " imp", - " impact", - " impacts", - " imperial", - " impl", - " implement", - " implementation", - " implementations", - " implemented", - " implementing", - " implements", - " implications", - " implicit", - " implied", - " implies", - " import", - " importance", - " important", - " importante", - " importantes", - " importantly", - " imported", - " importing", - " imports", - " impose", - " imposed", - " impossible", - " impressed", - " impression", - " impressive", - " imprisoned", - " imprisonment", - " improve", - " improved", - " improvement", - " improvements", - " improving", - " imread", - " in", - " inability", - " inactive", - " inappropriate", - " inaugural", - " inbox", - " inc", - " inception", - " inch", - " inches", - " incident", - " incidents", - " include", - " included", - " includes", - " including", - " inclusion", - " inclusive", - " income", - " incoming", - " incomplete", - " incorporate", - " incorporated", - " incorporating", - " incorporation", - " incorrect", - " increase", - " increased", - " increases", - " increasing", - " increasingly", - " incredible", - " incredibly", - " increment", - " incumbent", - " ind", - " indeed", - " inden", - " indent", - " independence", - " independent", - " independently", - " index", - " indexOf", - " indexed", - " indexes", - " india", - " indian", - " indiana", - " indica", - " indicate", - " indicated", - " indicates", - " indicating", - " indication", - " indicator", - " indicators", - " indices", - " indie", - " indien", - " indies", - " indigenous", - " indirect", - " individual", - " individually", - " individuals", - " indo", - " indonesia", - " indoor", - " induced", - " inducted", - " industrial", - " industries", - " industry", - " inequality", - " inet", - " inevitable", - " inf", - " infamous", - " infant", - " infantry", - " infatti", - " infected", - " infection", - " infections", - " infectious", - " inference", - " inferior", - " infinite", - " infinity", - " inflammation", - " inflammatory", - " inflate", - " inflation", - " influence", - " influenced", - " influences", - " influential", - " info", - " inform", - " información", - " informal", - " information", - " informed", - " infrastructure", - " ing", - " ingen", - " ingredient", - " ingredients", - " inhabitants", - " inhabited", - " inherit", - " inheritance", - " inherited", - " ini", - " inicial", - " inicio", - " init", - " initial", - " initialization", - " initialize", - " initialized", - " initially", - " initiated", - " initiative", - " initiatives", - " inject", - " injectable", - " injection", - " injured", - " injuries", - " injury", - " ink", - " inland", - " inlet", - " inline", - " inmates", - " inn", - " innan", - " inne", - " inner", - " innings", - " innocent", - " innovation", - " innovations", - " innovative", - " innych", - " inoltre", - " inom", - " inp", - " input", - " inputs", - " inquiry", - " ins", - " inscription", - " insects", - " insert", - " inserted", - " insertion", - " inside", - " insider", - " insieme", - " insight", - " insights", - " insisted", - " inspect", - " inspection", - " inspector", - " inspiration", - " inspire", - " inspired", - " inspiring", - " inst", - " instagram", - " install", - " installation", - " installations", - " installed", - " installer", - " installing", - " instance", - " instanceof", - " instances", - " instant", - " instantly", - " instead", - " institut", - " institute", - " institutes", - " institution", - " institutional", - " institutions", - " instituto", - " instruction", - " instructions", - " instructor", - " instrument", - " instrumental", - " instruments", - " insufficient", - " insulin", - " insurance", - " int", - " intact", - " intake", - " inte", - " integer", - " integers", - " integral", - " integrate", - " integrated", - " integration", - " integrity", - " intel", - " intellectual", - " intelligence", - " intelligent", - " intended", - " intense", - " intensity", - " intensive", - " intent", - " intention", - " intentions", - " inter", - " interact", - " interaction", - " interactions", - " interactive", - " interchange", - " interesse", - " interest", - " interested", - " interesting", - " interests", - " interface", - " interfaces", - " interference", - " interim", - " interior", - " intermediate", - " intern", - " internacional", - " internal", - " internally", - " international", - " internationale", - " internationally", - " internet", - " interno", - " interpret", - " interpretation", - " interpreted", - " interpreter", - " interrupt", - " interrupted", - " intersection", - " interstate", - " interval", - " intervals", - " intervention", - " interview", - " interviewed", - " interviews", - " intimate", - " into", - " intro", - " introduce", - " introduced", - " introduces", - " introducing", - " introduction", - " inv", - " invaded", - " invalid", - " invasion", - " invece", - " invented", - " invention", - " inventor", - " inventory", - " inverse", - " invest", - " invested", - " investigate", - " investigated", - " investigating", - " investigation", - " investigations", - " investigators", - " investing", - " investment", - " investments", - " investor", - " investors", - " invisible", - " invitation", - " invite", - " invited", - " invoice", - " invoke", - " involve", - " involved", - " involvement", - " involves", - " involving", - " início", - " io", - " ion", - " ionic", - " ions", - " ios", - " ip", - " ipsum", - " ir", - " iran", - " ireland", - " iris", - " irish", - " iron", - " irregular", - " irrigation", - " is", - " isEmpty", - " isabel", - " isabella", - " isbn", - " isinstance", - " isis", - " isla", - " islam", - " island", - " islands", - " isle", - " isn", - " iso", - " isolated", - " isolation", - " israel", - " isset", - " isso", - " issue", - " issued", - " issues", - " ist", - " isto", - " istoric", - " istván", - " især", - " it", - " italia", - " italian", - " italiana", - " italiano", - " italic", - " italien", - " italy", - " item", - " items", - " iter", - " iterate", - " iteration", - " iterations", - " iterator", - " its", - " itself", - " itt", - " iv", - " ivan", - " ivory", - " ivy", - " ix", - " iz", - " izan", - " između", - " için", - " j", - " jQuery", - " ja", - " jaar", - " jack", - " jacket", - " jackson", - " jade", - " jahr", - " jail", - " jak", - " jakarta", - " jako", - " jam", - " james", - " jamie", - " jan", - " jana", - " jane", - " janeiro", - " januar", - " januari", - " january", - " janvier", - " japan", - " japanese", - " jar", - " jaren", - " jason", - " java", - " javascript", - " javax", - " jaw", - " jay", - " jazz", - " jdbc", - " je", - " jean", - " jedan", - " jeden", - " jedna", - " jednak", - " jedoch", - " jeff", - " jeffrey", - " jeg", - " jego", - " jeho", - " jej", - " jejich", - " její", - " jen", - " jennifer", - " jenny", - " jer", - " jerry", - " jersey", - " jessica", - " jest", - " jesus", - " jet", - " jets", - " jew", - " jewelry", - " jewish", - " jews", - " ji", - " jih", - " jim", - " jimmy", - " jin", - " již", - " jo", - " job", - " jobs", - " joe", - " johan", - " johannes", - " john", - " johnny", - " johns", - " johnson", - " joi", - " join", - " joined", - " joining", - " joins", - " joint", - " jointly", - " joints", - " joke", - " jokes", - " jon", - " jonathan", - " jones", - " jong", - " jordan", - " jorge", - " jos", - " jose", - " joseph", - " josé", - " jour", - " journal", - " journalism", - " journalist", - " journalists", - " journals", - " journey", - " joy", - " još", - " jp", - " jpeg", - " jpg", - " jquery", - " jr", - " js", - " json", - " jsou", - " jsp", - " jsx", - " ju", - " judge", - " judges", - " judgment", - " judicial", - " judiciary", - " juice", - " juillet", - " juin", - " jul", - " julho", - " juli", - " julia", - " julian", - " julie", - " julio", - " july", - " jump", - " jumped", - " jumping", - " jun", - " junction", - " june", - " jung", - " jungle", - " junho", - " juni", - " junior", - " junit", - " junto", - " jupiter", - " jurisdiction", - " jury", - " jusqu", - " just", - " justice", - " justified", - " justify", - " juvenile", - " już", - " jwt", - " já", - " k", - " ka", - " kad", - " kada", - " kafka", - " kai", - " kaiser", - " kaj", - " kako", - " kam", - " kan", - " kane", - " kann", - " kansas", - " kant", - " kao", - " kar", - " karl", - " karma", - " kas", - " kata", - " kate", - " katherine", - " kay", - " kazakhstan", - " kb", - " kde", - " kdy", - " když", - " ke", - " keen", - " keep", - " keeper", - " keeping", - " keeps", - " keine", - " keith", - " kelly", - " ken", - " kennedy", - " kent", - " kenya", - " kept", - " ker", - " keras", - " kern", - " kernel", - " kevin", - " key", - " keyboard", - " keyboards", - " keys", - " keyword", - " keywords", - " kg", - " khan", - " không", - " ki", - " kick", - " kicked", - " kicks", - " kid", - " kidney", - " kids", - " kill", - " killed", - " killer", - " killing", - " kills", - " kilometer", - " kilometers", - " kilometres", - " kim", - " kind", - " kindle", - " kinds", - " king", - " kingdom", - " kingdoms", - " kings", - " kirk", - " kis", - " kiss", - " kit", - " kitchen", - " kitt", - " kjer", - " klaus", - " klein", - " kleine", - " klub", - " km", - " knee", - " knew", - " knife", - " knight", - " knights", - " knock", - " knocked", - " knockout", - " know", - " knowing", - " knowledge", - " known", - " knows", - " ko", - " koch", - " kod", - " koja", - " koje", - " kojem", - " koji", - " kojima", - " koju", - " kom", - " komen", - " kommer", - " kommun", - " kommune", - " komt", - " kon", - " kong", - " koning", - " korea", - " korean", - " kort", - " kot", - " kotlin", - " kr", - " kraft", - " kraj", - " kraju", - " kreeg", - " kroz", - " kt", - " která", - " které", - " který", - " która", - " które", - " której", - " który", - " których", - " ku", - " kui", - " kultur", - " kumar", - " kun", - " kunde", - " kung", - " kunne", - " kunnen", - " kunst", - " kurt", - " kwam", - " kwargs", - " két", - " könig", - " können", - " között", - " københavn", - " l", - " la", - " laatste", - " lab", - " label", - " labeled", - " labels", - " labor", - " laboratories", - " laboratory", - " labour", - " labs", - " lac", - " lack", - " lacking", - " lacks", - " ladder", - " laden", - " ladies", - " lado", - " lady", - " lag", - " lago", - " lahko", - " lai", - " laid", - " lake", - " lakes", - " lamb", - " lambda", - " lamp", - " lan", - " lance", - " land", - " landed", - " landen", - " landet", - " landing", - " landmark", - " landmarks", - " lands", - " landscape", - " landscapes", - " lane", - " lanes", - " lang", - " lange", - " langs", - " language", - " languages", - " langue", - " lanka", - " lap", - " laptop", - " large", - " largely", - " larger", - " largest", - " largo", - " larry", - " lars", - " larvae", - " las", - " laser", - " last", - " lastName", - " lasted", - " lasting", - " lastname", - " lat", - " late", - " lately", - " later", - " lateral", - " latest", - " latex", - " latin", - " latina", - " latino", - " latitude", - " latter", - " laugh", - " launch", - " launched", - " launcher", - " launches", - " launching", - " laura", - " law", - " lawmakers", - " lawn", - " laws", - " lawsuit", - " lawyer", - " lawyers", - " lay", - " layer", - " layers", - " laying", - " layout", - " layouts", - " lazy", - " lb", - " lcd", - " le", - " lea", - " lead", - " leader", - " leaders", - " leadership", - " leading", - " leads", - " leaf", - " league", - " leagues", - " leak", - " leaked", - " lean", - " leap", - " learn", - " learned", - " learning", - " learns", - " lease", - " least", - " leather", - " leave", - " leaves", - " leaving", - " leben", - " lecture", - " lecturer", - " lectures", - " led", - " lee", - " left", - " leg", - " legacy", - " legal", - " legally", - " legend", - " legendary", - " legends", - " leger", - " legion", - " legislation", - " legislative", - " legislators", - " legislature", - " legitimate", - " legs", - " lehet", - " lei", - " leiden", - " leisure", - " len", - " lending", - " length", - " lengths", - " lengthy", - " lens", - " leo", - " leon", - " leonardo", - " leone", - " leopold", - " les", - " lesbian", - " less", - " lesser", - " lesson", - " lessons", - " let", - " leta", - " leto", - " letra", - " lets", - " lett", - " letter", - " letters", - " letting", - " leur", - " leurs", - " level", - " levels", - " leven", - " lever", - " leverage", - " levy", - " lewis", - " león", - " lg", - " li", - " liability", - " liable", - " liaison", - " lib", - " liberal", - " liberals", - " liberation", - " liberty", - " libraries", - " library", - " libre", - " libro", - " libs", - " licence", - " license", - " licensed", - " licenses", - " licensing", - " lid", - " lie", - " liegt", - " liens", - " lies", - " lieu", - " lieutenant", - " life", - " lifecycle", - " lifestyle", - " lifetime", - " lift", - " lifted", - " lifting", - " liga", - " lige", - " ligger", - " light", - " lighter", - " lighthouse", - " lighting", - " lightning", - " lights", - " lightweight", - " ligne", - " ligt", - " lijst", - " like", - " liked", - " likelihood", - " likely", - " likes", - " likewise", - " lille", - " lily", - " lima", - " lime", - " limestone", - " limit", - " limitation", - " limitations", - " limite", - " limited", - " limiting", - " limits", - " lin", - " lincoln", - " linda", - " line", - " linear", - " linebacker", - " lined", - " liner", - " lines", - " lineup", - " lingua", - " linguistic", - " linha", - " link", - " linked", - " linkedin", - " linking", - " links", - " lint", - " linux", - " lion", - " lions", - " lip", - " lips", - " liquid", - " lisa", - " lisboa", - " list", - " lista", - " liste", - " listed", - " listen", - " listened", - " listener", - " listeners", - " listening", - " listing", - " listings", - " lists", - " lit", - " lite", - " literacy", - " literal", - " literally", - " literals", - " literary", - " literatura", - " literature", - " lithuanian", - " litigation", - " little", - " liu", - " liv", - " live", - " lived", - " liver", - " lives", - " livestock", - " living", - " livre", - " ljudi", - " ll", - " lloc", - " ln", - " lng", - " lo", - " load", - " loaded", - " loader", - " loading", - " loads", - " loan", - " loans", - " lobby", - " loc", - " local", - " localStorage", - " locale", - " localhost", - " locality", - " locally", - " locals", - " locate", - " located", - " location", - " locations", - " lock", - " locked", - " locks", - " locomotive", - " locomotives", - " lodge", - " log", - " logan", - " logged", - " logger", - " logging", - " logic", - " logical", - " login", - " logistics", - " logo", - " logos", - " logout", - " logs", - " lok", - " lombok", - " lon", - " london", - " lone", - " lonely", - " long", - " longer", - " longest", - " longitude", - " longtime", - " look", - " looked", - " looking", - " looks", - " lookup", - " loop", - " loops", - " loose", - " lor", - " lord", - " lords", - " lorem", - " lorenzo", - " loro", - " lors", - " los", - " lose", - " loses", - " losing", - " loss", - " losses", - " lost", - " lot", - " lots", - " lottery", - " lotus", - " lou", - " loud", - " louis", - " love", - " loved", - " lovely", - " lover", - " lovers", - " loves", - " loving", - " low", - " lower", - " lowercase", - " lowest", - " loyal", - " loyalty", - " lr", - " ls", - " lst", - " lstm", - " lt", - " ltd", - " lu", - " lua", - " lub", - " luck", - " lucky", - " ludwig", - " lugar", - " lugares", - " lui", - " luigi", - " luis", - " luke", - " lumber", - " luna", - " lunar", - " lunch", - " lung", - " lungo", - " luxury", - " luz", - " ly", - " lying", - " lynch", - " lynn", - " lyon", - " lyrics", - " lze", - " là", - " län", - " m", - " ma", - " maar", - " maart", - " mac", - " machine", - " machinery", - " machines", - " macht", - " macro", - " mad", - " made", - " madison", - " madre", - " madrid", - " mae", - " mag", - " magazine", - " magazines", - " maggio", - " magic", - " magical", - " magna", - " magnetic", - " magnificent", - " magnitude", - " magyar", - " mai", - " maiden", - " maig", - " mail", - " main", - " mainland", - " mainly", - " mainstream", - " maintain", - " maintained", - " maintaining", - " maintains", - " maintenance", - " maio", - " maior", - " maire", - " mais", - " maj", - " maja", - " majd", - " major", - " majority", - " make", - " maken", - " maker", - " makers", - " makes", - " makeup", - " making", - " mal", - " malaysia", - " male", - " males", - " mali", - " malik", - " mall", - " malloc", - " malo", - " mama", - " mammals", - " man", - " manage", - " managed", - " management", - " manager", - " managers", - " manages", - " managing", - " manchester", - " mandate", - " mandatory", - " manera", - " manga", - " mange", - " manifest", - " manila", - " manipulation", - " mankind", - " mann", - " manner", - " manning", - " manor", - " mans", - " mansion", - " manual", - " manually", - " manuel", - " manufacture", - " manufactured", - " manufacturer", - " manufacturers", - " manufacturing", - " manuscript", - " manuscripts", - " many", - " map", - " maple", - " mapped", - " mapper", - " mapping", - " maps", - " mar", - " marathon", - " marble", - " marc", - " marca", - " march", - " marco", - " marcus", - " mare", - " margaret", - " margin", - " margins", - " mari", - " maria", - " marijuana", - " marina", - " marine", - " marines", - " mario", - " maritime", - " mark", - " markdown", - " marked", - " marker", - " markers", - " market", - " marketed", - " marketing", - " marketplace", - " markets", - " marking", - " marks", - " markup", - " marriage", - " marriages", - " married", - " marry", - " mars", - " marsh", - " marshal", - " mart", - " martial", - " martin", - " marts", - " marvel", - " marx", - " mary", - " marzo", - " març", - " março", - " maría", - " mas", - " masa", - " masculine", - " mask", - " masked", - " masks", - " mason", - " mass", - " massa", - " massachusetts", - " massacre", - " massage", - " masse", - " masses", - " massive", - " master", - " masters", - " mat", - " mata", - " match", - " matched", - " matcher", - " matches", - " matching", - " mate", - " mateix", - " material", - " materials", - " maternal", - " math", - " mathematical", - " mathematician", - " mathematics", - " matlab", - " matplotlib", - " matrices", - " matrix", - " matriz", - " matt", - " matter", - " matters", - " mature", - " maurice", - " max", - " maximize", - " maximum", - " may", - " maya", - " maybe", - " mayo", - " mayor", - " mayors", - " maze", - " mb", - " mc", - " md", - " me", - " meal", - " meals", - " mean", - " meaning", - " meaningful", - " meanings", - " means", - " meant", - " meanwhile", - " measure", - " measured", - " measurement", - " measurements", - " measures", - " measuring", - " meat", - " mechanical", - " mechanics", - " mechanism", - " mechanisms", - " med", - " medal", - " medals", - " medan", - " media", - " median", - " mediante", - " medical", - " medication", - " medications", - " medicina", - " medicine", - " medicines", - " medieval", - " medio", - " meditation", - " mediterranean", - " medium", - " medlem", - " meer", - " meestal", - " meet", - " meeting", - " meetings", - " meets", - " meg", - " mega", - " meget", - " mehr", - " mei", - " meio", - " meist", - " mejor", - " mel", - " melbourne", - " mellan", - " mellem", - " mellett", - " melody", - " mely", - " mem", - " member", - " members", - " membership", - " membrane", - " membre", - " membres", - " membri", - " memo", - " memoir", - " memorable", - " memoria", - " memorial", - " memories", - " memory", - " men", - " menor", - " menos", - " mens", - " mensaje", - " menschen", - " mensen", - " mental", - " mentally", - " mention", - " mentioned", - " mentions", - " mentor", - " mentre", - " menu", - " mer", - " merchandise", - " merchant", - " merchants", - " mercury", - " mercy", - " mere", - " merely", - " merge", - " merged", - " merger", - " merit", - " mes", - " mesa", - " mesh", - " mesmo", - " mess", - " message", - " messages", - " messaging", - " messenger", - " mest", - " mesta", - " mesto", - " met", - " meta", - " metabolism", - " metadata", - " metal", - " metals", - " meteor", - " meter", - " meters", - " method", - " methodology", - " methods", - " metre", - " metres", - " metri", - " metric", - " metrics", - " metro", - " metropolitan", - " metros", - " mexican", - " mexico", - " meyer", - " mezi", - " með", - " među", - " mg", - " mga", - " mi", - " miami", - " miasta", - " miatt", - " mic", - " mice", - " michael", - " michigan", - " micro", - " microsoft", - " mid", - " middle", - " middleware", - " midfielder", - " midi", - " midnight", - " midst", - " mientras", - " might", - " mighty", - " migrants", - " migrate", - " migration", - " migrations", - " mike", - " mil", - " milan", - " milano", - " mild", - " mile", - " miles", - " milestone", - " militant", - " militants", - " militar", - " military", - " militia", - " milk", - " mill", - " millennium", - " miller", - " million", - " millions", - " mills", - " milwaukee", - " mime", - " mimo", - " min", - " mind", - " minded", - " minden", - " mindre", - " minds", - " mine", - " minecraft", - " mineral", - " minerals", - " miners", - " mines", - " ming", - " mini", - " minimal", - " minimize", - " minimum", - " mining", - " minister", - " ministers", - " ministre", - " ministry", - " minor", - " minorities", - " minority", - " mins", - " mint", - " minus", - " minute", - " minutes", - " mir", - " miracle", - " mirror", - " mirrors", - " mis", - " misc", - " mise", - " mismo", - " miss", - " missed", - " missile", - " missiles", - " missing", - " mission", - " missionaries", - " missionary", - " missions", - " mistake", - " mistakes", - " mit", - " mitchell", - " mitt", - " mix", - " mixed", - " mixer", - " mixing", - " mixture", - " między", - " mjesto", - " mk", - " mkdir", - " ml", - " mm", - " mn", - " mnist", - " mo", - " mob", - " mobile", - " mobility", - " mock", - " mod", - " modal", - " mode", - " model", - " modeling", - " modelo", - " models", - " moderate", - " modern", - " moderna", - " moderne", - " modes", - " modest", - " modi", - " modification", - " modifications", - " modified", - " modifier", - " modify", - " modo", - " module", - " modules", - " moet", - " mogelijk", - " mogu", - " moins", - " moisture", - " mol", - " molecular", - " molecule", - " molecules", - " molt", - " molto", - " mom", - " moment", - " momento", - " moments", - " momentum", - " mon", - " monarch", - " monarchy", - " monastery", - " monday", - " monde", - " mondial", - " mondiale", - " mondo", - " monetary", - " money", - " mongo", - " mongodb", - " mongoose", - " monitor", - " monitoring", - " monitors", - " monk", - " monkey", - " monks", - " mono", - " monster", - " monsters", - " mont", - " monte", - " montenegro", - " montgomery", - " month", - " monthly", - " months", - " montreal", - " monument", - " monuments", - " mood", - " moon", - " moore", - " mor", - " mora", - " moral", - " more", - " moreover", - " morgan", - " morning", - " morocco", - " morrison", - " mort", - " mortality", - " morte", - " mortgage", - " moscow", - " moses", - " mosque", - " moss", - " most", - " mostly", - " mot", - " moth", - " mother", - " mothers", - " moths", - " motion", - " motivated", - " motivation", - " motor", - " motorcycle", - " motors", - " motto", - " mount", - " mountain", - " mountains", - " mounted", - " mounting", - " mouse", - " mouth", - " mov", - " move", - " moved", - " movement", - " movements", - " moves", - " movie", - " movies", - " movimento", - " moving", - " moyenne", - " mozilla", - " może", - " można", - " može", - " mp", - " mph", - " mqtt", - " mr", - " ms", - " msg", - " msgs", - " mt", - " mu", - " much", - " mud", - " muerte", - " muhammad", - " mui", - " muito", - " mul", - " mult", - " multe", - " multi", - " multimedia", - " multiple", - " multiplication", - " multiply", - " mundial", - " mundo", - " municipal", - " municipalities", - " municipality", - " município", - " murder", - " murdered", - " murders", - " murphy", - " muscle", - " muscles", - " museo", - " museum", - " museums", - " music", - " musical", - " musician", - " musicians", - " musik", - " muslim", - " must", - " mut", - " mutation", - " mutations", - " mutex", - " mutual", - " muy", - " mv", - " mvc", - " mx", - " my", - " mycket", - " myself", - " mysql", - " mysqli", - " mysteries", - " mysterious", - " mystery", - " myth", - " mythology", - " myths", - " má", - " már", - " más", - " män", - " må", - " många", - " média", - " még", - " més", - " método", - " même", - " më", - " món", - " música", - " münchen", - " může", - " một", - " n", - " na", - " naam", - " naar", - " nach", - " nacional", - " nad", - " nagy", - " nail", - " naive", - " naj", - " najbolj", - " naked", - " nakon", - " nalazi", - " nam", - " nama", - " name", - " named", - " namely", - " namen", - " names", - " namespace", - " naming", - " namn", - " nan", - " nano", - " napoleon", - " například", - " narrative", - " narrator", - " narrow", - " nas", - " nasa", - " nash", - " nat", - " natal", - " nation", - " national", - " nationale", - " nationalism", - " nationalist", - " nationality", - " nationally", - " nationals", - " nations", - " nationwide", - " native", - " natives", - " nato", - " natura", - " natural", - " naturally", - " nature", - " nav", - " naval", - " navbar", - " nave", - " navigate", - " navigation", - " navigator", - " navn", - " navy", - " nazi", - " nazionale", - " nazis", - " naziv", - " način", - " nb", - " nbsp", - " nc", - " nd", - " ne", - " neal", - " near", - " nearby", - " nearest", - " nearly", - " neat", - " nebo", - " necessarily", - " necessary", - " necessity", - " neck", - " ned", - " nederland", - " need", - " needed", - " needle", - " needs", - " neg", - " negative", - " negli", - " nego", - " negotiate", - " negotiations", - " negro", - " nei", - " neighbor", - " neighborhood", - " neighborhoods", - " neighboring", - " neighbors", - " neighbourhood", - " neighbouring", - " neighbours", - " neil", - " neither", - " nekaj", - " neki", - " nekoliko", - " nel", - " nell", - " nella", - " nelle", - " nelson", - " nem", - " není", - " neo", - " nephew", - " nero", - " nerve", - " nervous", - " nest", - " nested", - " net", - " netflix", - " netherlands", - " nets", - " network", - " networking", - " networks", - " neu", - " neue", - " neural", - " neurons", - " neutral", - " neve", - " never", - " nevertheless", - " new", - " newer", - " newest", - " newly", - " news", - " newsletter", - " newsletters", - " newspaper", - " newspapers", - " next", - " než", - " ng", - " nga", - " nginx", - " người", - " như", - " những", - " ni", - " nice", - " nich", - " nicht", - " nick", - " nickname", - " nicknamed", - " nie", - " nielsen", - " niet", - " nieuwe", - " nigeria", - " night", - " nightmare", - " nights", - " nije", - " nike", - " nil", - " nilai", - " nim", - " nin", - " nina", - " nine", - " nineteenth", - " ning", - " ninja", - " nintendo", - " ninth", - " nio", - " nisu", - " nitrogen", - " niveau", - " nivel", - " nixon", - " njegov", - " njegova", - " njegove", - " njih", - " një", - " nl", - " nm", - " nn", - " no", - " nobel", - " nobility", - " noble", - " nobles", - " nobody", - " noch", - " node", - " nodes", - " nog", - " nogle", - " noir", - " noise", - " nom", - " nombre", - " nombres", - " nome", - " nominal", - " nominated", - " nomination", - " nominations", - " nominee", - " nominees", - " només", - " non", - " none", - " nonetheless", - " nonprofit", - " noon", - " noord", - " nor", - " nord", - " norge", - " norm", - " normal", - " normale", - " normalize", - " normalized", - " normally", - " norman", - " norte", - " north", - " northeast", - " northeastern", - " northern", - " northwest", - " northwestern", - " norway", - " norwegian", - " nos", - " nose", - " nossa", - " not", - " nota", - " notable", - " notably", - " notamment", - " notation", - " note", - " notebook", - " notebooks", - " noted", - " noter", - " notes", - " nothing", - " notice", - " noticed", - " notices", - " notification", - " notifications", - " notify", - " noting", - " notion", - " notorious", - " notre", - " nou", - " noun", - " nous", - " nouveau", - " nouvelle", - " nov", - " nova", - " nove", - " novel", - " novelist", - " novels", - " november", - " novembre", - " novi", - " novo", - " now", - " nowadays", - " nowhere", - " np", - " npm", - " nr", - " ns", - " nth", - " nu", - " nuclear", - " nucleus", - " nude", - " nueva", - " nuevo", - " null", - " nullable", - " nullptr", - " num", - " numa", - " number", - " numbered", - " numbers", - " numeric", - " numerical", - " numero", - " numerous", - " nummer", - " numpy", - " nums", - " nun", - " nuovo", - " nur", - " nurse", - " nurses", - " nursing", - " nutrients", - " nutrition", - " nuts", - " nx", - " ny", - " nya", - " nye", - " này", - " não", - " när", - " något", - " några", - " når", - " né", - " née", - " në", - " número", - " números", - " o", - " oak", - " oath", - " oauth", - " ob", - " obama", - " období", - " obesity", - " obj", - " object", - " objective", - " objectives", - " objects", - " objetivo", - " objeto", - " oblast", - " oblasti", - " obligation", - " obligations", - " obra", - " obras", - " obs", - " observable", - " observation", - " observations", - " observatory", - " observe", - " observed", - " observer", - " observers", - " obstacle", - " obstacles", - " obtain", - " obtained", - " obtaining", - " obvious", - " obviously", - " occasion", - " occasional", - " occasionally", - " occasions", - " occidental", - " occupation", - " occupied", - " occupy", - " occur", - " occurred", - " occurrence", - " occurring", - " occurs", - " ocean", - " och", - " också", - " oct", - " october", - " octobre", - " octubre", - " od", - " odd", - " odds", - " oder", - " oeste", - " of", - " off", - " offense", - " offensive", - " offer", - " offered", - " offering", - " offerings", - " offers", - " office", - " officer", - " officers", - " offices", - " official", - " officially", - " officials", - " offline", - " offs", - " offset", - " offshore", - " offspring", - " oficial", - " oft", - " ofta", - " ofte", - " often", - " og", - " oggi", - " ogni", - " også", - " oh", - " ohio", - " ohne", - " oil", - " oils", - " ok", - " okay", - " oko", - " okoli", - " około", - " okres", - " oktober", - " ol", - " olan", - " old", - " older", - " oldest", - " ole", - " oli", - " olika", - " olive", - " oltre", - " olyan", - " olympic", - " olympics", - " om", - " omdat", - " omega", - " omkring", - " område", - " området", - " on", - " onChange", - " onClick", - " onCreate", - " ona", - " once", - " onclick", - " onde", - " onder", - " one", - " ones", - " ongeveer", - " ongoing", - " oni", - " online", - " only", - " onset", - " ont", - " ontario", - " onto", - " onwards", - " ook", - " op", - " opacity", - " open", - " opened", - " opener", - " opening", - " openly", - " opens", - " opera", - " operate", - " operated", - " operates", - " operating", - " operation", - " operational", - " operations", - " operative", - " operator", - " operators", - " opere", - " opinion", - " opinions", - " opponent", - " opponents", - " opportunities", - " opportunity", - " oppose", - " opposed", - " opposing", - " opposite", - " opposition", - " ops", - " opt", - " opted", - " optical", - " optimal", - " optimization", - " optimize", - " optimizer", - " option", - " optional", - " options", - " opts", - " opus", - " or", - " ora", - " oracle", - " oral", - " orange", - " oraz", - " orbit", - " orbital", - " orchestra", - " ord", - " ordained", - " ordem", - " orden", - " order", - " ordered", - " ordering", - " orders", - " ordinary", - " ordre", - " ore", - " org", - " organ", - " organic", - " organisation", - " organisations", - " organised", - " organism", - " organisms", - " organization", - " organizational", - " organizations", - " organize", - " organized", - " organizing", - " organs", - " ori", - " orient", - " oriental", - " orientation", - " oriented", - " orig", - " origem", - " origen", - " origin", - " original", - " originally", - " originated", - " origine", - " origins", - " orlando", - " orleans", - " orm", - " oro", - " orthodox", - " os", - " oslo", - " other", - " others", - " otherwise", - " otra", - " otras", - " otro", - " otros", - " ottawa", - " ou", - " oude", - " ought", - " our", - " ourselves", - " out", - " outbreak", - " outcome", - " outcomes", - " outdoor", - " outer", - " outfit", - " outlet", - " outlets", - " outline", - " outlined", - " outlook", - " output", - " outputs", - " outras", - " outro", - " outros", - " outside", - " outstanding", - " outubro", - " oval", - " over", - " overall", - " overcome", - " overflow", - " overhead", - " overlap", - " overlay", - " overleden", - " overnight", - " override", - " overseas", - " oversight", - " overtime", - " overview", - " overwhelming", - " owing", - " owl", - " own", - " owned", - " owner", - " owners", - " ownership", - " owns", - " ox", - " oxford", - " oxide", - " oxygen", - " oz", - " où", - " p", - " pH", - " pa", - " pac", - " pace", - " pacific", - " pack", - " package", - " packages", - " packaging", - " packed", - " packet", - " packets", - " pad", - " pada", - " padding", - " paddle", - " padre", - " pady", - " paese", - " page", - " pages", - " pagination", - " pai", - " paid", - " pain", - " painful", - " paint", - " painted", - " painter", - " painters", - " painting", - " paintings", - " pair", - " paired", - " pairs", - " pak", - " pakistan", - " palabra", - " palace", - " palavra", - " pale", - " palette", - " palm", - " pan", - " pandas", - " pandemic", - " panel", - " panels", - " panic", - " pants", - " papa", - " papal", - " papel", - " paper", - " papers", - " papua", - " par", - " para", - " parade", - " paradise", - " paragraph", - " parallel", - " param", - " parameter", - " parameters", - " paramount", - " params", - " pare", - " parent", - " parents", - " paris", - " parish", - " park", - " parker", - " parking", - " parks", - " parlament", - " parliament", - " parliamentary", - " parse", - " parseInt", - " parsed", - " parser", - " parsing", - " part", - " parte", - " partea", - " parti", - " partial", - " partially", - " participant", - " participants", - " participate", - " participated", - " participating", - " participation", - " particle", - " particles", - " particolare", - " particular", - " particularly", - " partido", - " partie", - " parties", - " partir", - " partisan", - " partit", - " partition", - " partly", - " partner", - " partners", - " partnership", - " partnerships", - " parts", - " party", - " pas", - " paso", - " pass", - " passa", - " passage", - " passages", - " passar", - " passed", - " passenger", - " passengers", - " passes", - " passing", - " passion", - " passionate", - " passive", - " passou", - " passport", - " passwd", - " password", - " passwords", - " past", - " pasta", - " paste", - " pastor", - " pastoral", - " pat", - " patch", - " patches", - " patent", - " patents", - " path", - " pathname", - " paths", - " pathway", - " patience", - " patient", - " patients", - " patriarch", - " patrick", - " patrol", - " patron", - " pattern", - " patterns", - " patterson", - " pau", - " paul", - " pause", - " pay", - " paying", - " payload", - " payment", - " payments", - " pays", - " paz", - " país", - " países", - " pb", - " pc", - " pd", - " pdf", - " pe", - " peace", - " peaceful", - " peak", - " peaked", - " peaks", - " pearl", - " pedig", - " peek", - " peer", - " peers", - " pel", - " pela", - " pelo", - " pelos", - " pels", - " película", - " pen", - " penalties", - " penalty", - " pendant", - " pending", - " peninsula", - " penis", - " penn", - " penny", - " pension", - " pentru", - " people", - " peoples", - " pepper", - " per", - " perceived", - " percent", - " percentage", - " perception", - " percussion", - " pere", - " perfect", - " perfectly", - " perform", - " performance", - " performances", - " performed", - " performer", - " performers", - " performing", - " performs", - " perhaps", - " perioada", - " period", - " periode", - " periodic", - " periodo", - " periods", - " peripheral", - " perl", - " permalink", - " permanent", - " permanently", - " permet", - " permission", - " permissions", - " permit", - " permite", - " permits", - " permitted", - " pero", - " persecution", - " persist", - " persistence", - " persistent", - " person", - " persona", - " personal", - " personalities", - " personality", - " personally", - " personas", - " personer", - " personnel", - " persons", - " perspective", - " perspectives", - " peru", - " período", - " però", - " peso", - " pessoa", - " pessoas", - " pest", - " peste", - " pet", - " pete", - " peter", - " petit", - " petition", - " petroleum", - " pets", - " peu", - " peut", - " peuvent", - " pg", - " ph", - " phantom", - " pharmaceutical", - " pharmacy", - " phase", - " phases", - " phenomena", - " phenomenon", - " phi", - " phil", - " philadelphia", - " philippines", - " philosopher", - " philosophers", - " philosophical", - " philosophy", - " phoenix", - " phone", - " phones", - " photo", - " photograph", - " photographer", - " photographers", - " photographs", - " photography", - " photos", - " php", - " phrase", - " phrases", - " physical", - " physically", - " physician", - " physicians", - " physicist", - " physics", - " pi", - " pianist", - " piano", - " pic", - " pick", - " picked", - " picker", - " picking", - " pickle", - " picks", - " pickup", - " pics", - " picture", - " pictures", - " pid", - " pie", - " piece", - " pieces", - " pier", - " pierce", - " pierre", - " pierwszy", - " pig", - " pile", - " pill", - " pills", - " pilot", - " pilots", - " pin", - " pinMode", - " pine", - " ping", - " pink", - " pins", - " pinterest", - " pioneer", - " pioneers", - " pip", - " pipe", - " pipeline", - " pipes", - " pirates", - " pit", - " pitch", - " pitched", - " pitcher", - " pius", - " pivot", - " pixel", - " pixels", - " pizza", - " più", - " pk", - " pkg", - " pl", - " plaats", - " place", - " placed", - " placeholder", - " placement", - " places", - " placing", - " plague", - " plain", - " plains", - " plaintiff", - " plan", - " plane", - " planes", - " planet", - " planeta", - " planetary", - " planets", - " planned", - " planning", - " plans", - " plant", - " plantas", - " plantation", - " planted", - " plants", - " plasma", - " plastic", - " plate", - " plateau", - " plates", - " platform", - " platforms", - " platinum", - " play", - " played", - " player", - " players", - " playground", - " playing", - " playlist", - " playoff", - " playoffs", - " plays", - " playwright", - " plaza", - " plea", - " pleasant", - " please", - " pleased", - " pleasure", - " pledge", - " plenty", - " plot", - " plots", - " plotting", - " plt", - " plug", - " plugin", - " plugins", - " plural", - " plurality", - " plus", - " plusieurs", - " pm", - " png", - " po", - " poate", - " población", - " poble", - " poc", - " pocket", - " poco", - " pod", - " podcast", - " podczas", - " pode", - " podem", - " poden", - " poder", - " podle", - " području", - " pods", - " poem", - " poems", - " poet", - " poeta", - " poetry", - " poets", - " poi", - " point", - " pointed", - " pointer", - " pointing", - " points", - " poison", - " pokemon", - " poker", - " pol", - " poland", - " polar", - " pole", - " poles", - " police", - " policies", - " policy", - " polish", - " political", - " politically", - " politician", - " politicians", - " politics", - " politik", - " politique", - " polk", - " poll", - " polling", - " polls", - " pollution", - " polo", - " polska", - " poly", - " polygon", - " polymer", - " polynomial", - " política", - " político", - " pond", - " ponovno", - " pont", - " ponte", - " pool", - " pools", - " poor", - " poorly", - " pop", - " pope", - " popular", - " popularity", - " populate", - " populated", - " population", - " populations", - " população", - " populous", - " popup", - " por", - " porn", - " porque", - " port", - " porta", - " portable", - " portal", - " porter", - " portfolio", - " portion", - " portions", - " portland", - " porto", - " portrait", - " portraits", - " portrayed", - " ports", - " portugal", - " portuguesa", - " portuguese", - " português", - " pos", - " pose", - " posed", - " poses", - " position", - " positioned", - " positioning", - " positions", - " positive", - " possess", - " possessed", - " possession", - " possibilities", - " possibility", - " possible", - " possibly", - " possui", - " post", - " postal", - " posted", - " poster", - " posterior", - " posteriormente", - " postgres", - " postgresql", - " posting", - " posto", - " posts", - " pot", - " potato", - " potential", - " potentially", - " potter", - " pottery", - " pound", - " pounds", - " pour", - " pouze", - " poverty", - " pow", - " powder", - " power", - " powered", - " powerful", - " powers", - " pp", - " pr", - " practical", - " practically", - " practice", - " practiced", - " practices", - " practicing", - " practitioners", - " pragma", - " prairie", - " praise", - " praised", - " pray", - " prayer", - " prayers", - " pre", - " preceded", - " preceding", - " precio", - " precious", - " precipitation", - " precise", - " precisely", - " precision", - " precum", - " pred", - " predecessor", - " predetermined", - " predict", - " predicted", - " prediction", - " predictions", - " predominantly", - " predvsem", - " prefer", - " preference", - " preferences", - " preferred", - " prefix", - " pregnancy", - " pregnant", - " prehistoric", - " prej", - " preko", - " preliminary", - " prema", - " premier", - " premiere", - " premiered", - " premiers", - " premio", - " premise", - " premises", - " premium", - " première", - " prep", - " preparation", - " preparations", - " prepare", - " prepared", - " preparing", - " preprocessing", - " prerequisites", - " prescribed", - " prescription", - " presence", - " present", - " presenta", - " presentation", - " presentations", - " presente", - " presented", - " presenter", - " presenting", - " presents", - " presenza", - " preservation", - " preserve", - " preserved", - " preset", - " presidency", - " president", - " presidente", - " presidential", - " presidents", - " press", - " pressed", - " pressing", - " presso", - " pressure", - " prestigious", - " presumably", - " prettier", - " pretty", - " prev", - " prevalent", - " prevent", - " prevented", - " preventing", - " prevention", - " prevents", - " preview", - " previous", - " previously", - " prey", - " pri", - " price", - " prices", - " pricing", - " pride", - " priest", - " priests", - " prije", - " prima", - " primarily", - " primary", - " prime", - " primeira", - " primeiro", - " primer", - " primera", - " primers", - " primi", - " primitive", - " primo", - " primul", - " prin", - " prince", - " princes", - " princess", - " principais", - " principal", - " principale", - " principales", - " principalmente", - " principals", - " principe", - " principle", - " principles", - " prins", - " print", - " printed", - " printer", - " printf", - " printing", - " println", - " prints", - " prior", - " priorities", - " priority", - " prison", - " prisoner", - " prisoners", - " privacy", - " private", - " privately", - " privilege", - " privileges", - " prix", - " prize", - " prizes", - " pro", - " prob", - " probability", - " probable", - " probably", - " probe", - " problem", - " problema", - " problems", - " proc", - " procedure", - " procedures", - " proceed", - " proceeded", - " proceedings", - " proceeds", - " proces", - " proceso", - " process", - " processed", - " processes", - " processing", - " processo", - " processor", - " processors", - " proche", - " proclaimed", - " procurement", - " prod", - " produce", - " produced", - " producer", - " producers", - " produces", - " producing", - " product", - " production", - " productions", - " productive", - " productivity", - " producto", - " productos", - " products", - " produto", - " produtos", - " prof", - " profesor", - " profession", - " professional", - " professionally", - " professionals", - " professor", - " professors", - " profile", - " profiles", - " profit", - " profitable", - " profits", - " profound", - " prog", - " program", - " programa", - " programme", - " programmer", - " programmes", - " programming", - " programs", - " progress", - " progression", - " progressive", - " prohibited", - " prohibition", - " proj", - " project", - " projected", - " projection", - " projects", - " projekt", - " projet", - " projeto", - " prominence", - " prominent", - " promise", - " promised", - " promises", - " promising", - " promote", - " promoted", - " promotes", - " promoting", - " promotion", - " promotional", - " prompt", - " prompted", - " prone", - " pronounced", - " pronunciation", - " proof", - " prop", - " propaganda", - " proper", - " properly", - " properties", - " property", - " prophet", - " proportion", - " proposal", - " proposals", - " propose", - " proposed", - " proposition", - " proprio", - " props", - " pros", - " prose", - " prosecution", - " prosecutor", - " prosecutors", - " prospect", - " prospects", - " prosperity", - " protagonist", - " protect", - " protected", - " protecting", - " protection", - " protective", - " protein", - " proteins", - " protest", - " protesters", - " protests", - " proti", - " protiv", - " proto", - " protocol", - " protocols", - " prototype", - " proud", - " prove", - " proved", - " proven", - " proves", - " provide", - " provided", - " provider", - " providers", - " provides", - " providing", - " province", - " provinces", - " provincia", - " provincial", - " provincie", - " proving", - " provision", - " provisional", - " provisions", - " proximity", - " proxy", - " proyecto", - " prve", - " prvi", - " první", - " prvo", - " przed", - " przez", - " przy", - " près", - " président", - " ps", - " psalm", - " pseudo", - " psychiatric", - " psychological", - " psychology", - " pt", - " pthread", - " ptr", - " pts", - " pub", - " public", - " publication", - " publications", - " publicity", - " publicly", - " publish", - " published", - " publisher", - " publishers", - " publishing", - " pueblo", - " puede", - " pueden", - " puerto", - " puis", - " pull", - " pulled", - " pulling", - " pulls", - " pulse", - " pump", - " punch", - " punct", - " pune", - " punishment", - " punk", - " punkt", - " punt", - " punto", - " pupils", - " puppet", - " purchase", - " purchased", - " purchases", - " purchasing", - " pure", - " purely", - " purple", - " purpose", - " purposes", - " pursuant", - " pursue", - " pursued", - " pursuing", - " pursuit", - " push", - " pushed", - " pushing", - " pussy", - " put", - " puts", - " putting", - " puzzle", - " può", - " pw", - " pwd", - " px", - " py", - " pygame", - " pyplot", - " pyramid", - " pytest", - " python", - " página", - " până", - " på", - " père", - " période", - " për", - " público", - " př", - " před", - " při", - " q", - " qa", - " qi", - " qq", - " qt", - " qty", - " qu", - " quad", - " qual", - " quale", - " quali", - " qualification", - " qualified", - " qualifier", - " qualify", - " qualifying", - " qualities", - " quality", - " quals", - " quan", - " quando", - " quantidade", - " quantities", - " quantity", - " quanto", - " quantum", - " quarter", - " quarterback", - " quarterly", - " quarters", - " quartet", - " quasi", - " quatre", - " que", - " queen", - " queens", - " quella", - " quello", - " queries", - " query", - " quest", - " questa", - " questi", - " question", - " questioned", - " questioning", - " questions", - " questo", - " queue", - " qui", - " quick", - " quickly", - " quien", - " quiet", - " quietly", - " quindi", - " quinta", - " quit", - " quite", - " quiz", - " quo", - " quot", - " quota", - " quote", - " quoted", - " quotes", - " què", - " química", - " që", - " r", - " ra", - " rabbi", - " rabbit", - " race", - " races", - " rachel", - " racial", - " racing", - " racism", - " racist", - " rack", - " rad", - " rada", - " radar", - " radiation", - " radical", - " radio", - " radius", - " rafael", - " rage", - " raid", - " raids", - " rail", - " railroad", - " rails", - " railway", - " railways", - " rain", - " rainbow", - " rainfall", - " raise", - " raised", - " raises", - " raising", - " raj", - " raja", - " rake", - " rally", - " ralph", - " ram", - " rama", - " rams", - " ran", - " ranch", - " rand", - " random", - " randomly", - " rang", - " range", - " ranger", - " ranges", - " ranging", - " rank", - " ranked", - " ranking", - " rankings", - " ranks", - " rap", - " rape", - " rapid", - " rapidly", - " rapper", - " rapport", - " rare", - " rarely", - " raspberry", - " rat", - " rata", - " rate", - " rated", - " rates", - " rather", - " rating", - " ratings", - " ratio", - " rational", - " rats", - " raw", - " ray", - " raymond", - " rays", - " razor", - " rb", - " rc", - " rd", - " re", - " reach", - " reached", - " reaches", - " reaching", - " react", - " reaction", - " reactions", - " reactive", - " reactor", - " read", - " readable", - " reader", - " readers", - " readily", - " reading", - " readings", - " readline", - " readme", - " readonly", - " reads", - " ready", - " real", - " realistic", - " reality", - " realizar", - " realize", - " realized", - " realizes", - " really", - " realm", - " rear", - " reason", - " reasonable", - " reasoning", - " reasons", - " rebel", - " rebellion", - " rebels", - " rebounds", - " rebuild", - " rebuilt", - " rec", - " recall", - " recalled", - " recalls", - " recap", - " receipt", - " receive", - " received", - " receiver", - " receivers", - " receives", - " receiving", - " recent", - " recently", - " reception", - " receptor", - " recession", - " recipe", - " recipes", - " recipient", - " recipients", - " recognised", - " recognition", - " recognize", - " recognized", - " recommend", - " recommendation", - " recommendations", - " recommended", - " reconnaissance", - " reconstruction", - " record", - " recorded", - " recorder", - " recording", - " recordings", - " records", - " recover", - " recovered", - " recovering", - " recovery", - " recreation", - " recreational", - " recruit", - " recruited", - " recruiting", - " recruitment", - " rect", - " rectangle", - " rectangular", - " rector", - " recurring", - " recursive", - " recursos", - " recv", - " red", - " reda", - " redan", - " reddit", - " redirect", - " redis", - " redistribute", - " reduce", - " reduced", - " reducer", - " reduces", - " reducing", - " reduction", - " redux", - " reed", - " reef", - " ref", - " refer", - " referee", - " reference", - " referenced", - " references", - " referencias", - " referendum", - " referred", - " referring", - " refers", - " refined", - " reflect", - " reflected", - " reflecting", - " reflection", - " reflects", - " reform", - " reforma", - " reformed", - " reforms", - " refresh", - " refs", - " refuge", - " refugee", - " refugees", - " refuse", - " refused", - " refuses", - " refusing", - " reg", - " regalo", - " regard", - " regarded", - " regarding", - " regardless", - " regards", - " regel", - " regering", - " regex", - " regexp", - " regime", - " regiment", - " regina", - " region", - " regional", - " regions", - " register", - " registered", - " registers", - " registration", - " registro", - " registry", - " região", - " región", - " regression", - " regular", - " regularly", - " regulate", - " regulated", - " regulation", - " regulations", - " regulatory", - " rehabilitation", - " rei", - " reich", - " reign", - " reino", - " reis", - " reject", - " rejected", - " rejection", - " rel", - " relate", - " related", - " relates", - " relating", - " relation", - " relations", - " relationship", - " relationships", - " relative", - " relatively", - " relatives", - " relay", - " release", - " released", - " releases", - " releasing", - " relegated", - " relevant", - " reliability", - " reliable", - " relied", - " relief", - " relies", - " religion", - " religions", - " religious", - " reload", - " relocated", - " relu", - " rely", - " rem", - " remain", - " remainder", - " remained", - " remaining", - " remains", - " remake", - " remarkable", - " remarks", - " remedy", - " remember", - " remembered", - " remind", - " reminded", - " reminder", - " remix", - " remote", - " removal", - " remove", - " removed", - " removes", - " removing", - " renaissance", - " rename", - " renamed", - " render", - " rendered", - " renderer", - " rendering", - " renders", - " renewable", - " renewal", - " renewed", - " renovation", - " renowned", - " rent", - " rental", - " rep", - " repair", - " repairs", - " repeat", - " repeated", - " repeatedly", - " replace", - " replaced", - " replacement", - " replacing", - " replay", - " replica", - " replied", - " replies", - " reply", - " repo", - " report", - " reported", - " reportedly", - " reporter", - " reporters", - " reporting", - " reports", - " repos", - " repositories", - " repository", - " repr", - " represent", - " representa", - " representation", - " representations", - " representative", - " representatives", - " represented", - " representing", - " represents", - " reproduce", - " reproduction", - " reproductive", - " republic", - " republican", - " republicans", - " republik", - " reputation", - " req", - " request", - " requested", - " requesting", - " requests", - " require", - " required", - " requirement", - " requirements", - " requires", - " requiring", - " res", - " rescue", - " rescued", - " research", - " researcher", - " researchers", - " reservation", - " reserve", - " reserved", - " reserves", - " reservoir", - " reset", - " reshape", - " resided", - " residence", - " resident", - " residential", - " residents", - " residing", - " resign", - " resignation", - " resigned", - " resist", - " resistance", - " resistant", - " resize", - " resolution", - " resolve", - " resolved", - " resolver", - " resort", - " resource", - " resources", - " resp", - " respect", - " respected", - " respective", - " respectively", - " respiratory", - " respond", - " responded", - " responding", - " responds", - " response", - " responses", - " responsibilities", - " responsibility", - " responsible", - " responsive", - " rest", - " resta", - " restart", - " restaurant", - " restaurants", - " reste", - " resto", - " restoration", - " restore", - " restored", - " restrict", - " restricted", - " restriction", - " restrictions", - " result", - " resultado", - " resulted", - " resulting", - " results", - " resume", - " resumed", - " resurrection", - " ret", - " retail", - " retailers", - " retain", - " retained", - " retention", - " retire", - " retired", - " retirement", - " retiring", - " retreat", - " retrieve", - " retrieved", - " retrofit", - " retry", - " return", - " returned", - " returning", - " returns", - " reunion", - " rev", - " reveal", - " revealed", - " revealing", - " reveals", - " revelation", - " revenge", - " revenue", - " revenues", - " reverse", - " reversed", - " review", - " reviewed", - " reviewer", - " reviewing", - " reviews", - " revised", - " revision", - " revista", - " revival", - " revolt", - " revolution", - " revolutionary", - " reward", - " rewards", - " rex", - " rey", - " rf", - " rgb", - " rgba", - " rhetoric", - " rhythm", - " ri", - " ribbon", - " rica", - " rice", - " rich", - " richard", - " richards", - " richmond", - " rick", - " rico", - " rid", - " ride", - " rider", - " riders", - " rides", - " ridge", - " riding", - " rifle", - " rifles", - " right", - " rights", - " rigid", - " rijk", - " rim", - " ring", - " rings", - " rio", - " riot", - " riots", - " rise", - " risen", - " rises", - " rising", - " risk", - " risks", - " ritual", - " rival", - " rivalry", - " rivals", - " river", - " rivers", - " rm", - " ro", - " road", - " roads", - " rob", - " robbery", - " robert", - " roberts", - " robin", - " robinson", - " robot", - " robots", - " robust", - " roce", - " rock", - " rocket", - " rockets", - " rocks", - " rocky", - " rod", - " rode", - " rodriguez", - " roi", - " rok", - " roku", - " rol", - " role", - " roles", - " roll", - " rolle", - " rolled", - " roller", - " rolling", - " rolls", - " rom", - " roma", - " roman", - " romana", - " romance", - " romano", - " romans", - " romantic", - " román", - " ron", - " rond", - " roof", - " rookie", - " room", - " rooms", - " root", - " roots", - " rope", - " ros", - " rosa", - " rose", - " roses", - " ross", - " roster", - " rot", - " rotate", - " rotating", - " rotation", - " rotterdam", - " rouge", - " rough", - " roughly", - " round", - " rounded", - " rounds", - " route", - " router", - " routes", - " routine", - " routing", - " rover", - " row", - " rowing", - " rows", - " roy", - " royal", - " royaume", - " rpm", - " rs", - " rst", - " rt", - " ru", - " rubber", - " ruby", - " rue", - " rugby", - " ruins", - " rule", - " ruled", - " ruler", - " rulers", - " rules", - " ruling", - " rum", - " rumors", - " run", - " runner", - " runners", - " running", - " runs", - " runtime", - " runway", - " rural", - " rus", - " rush", - " rushed", - " rushing", - " russell", - " russia", - " russian", - " rust", - " ruth", - " rv", - " rx", - " ryan", - " række", - " références", - " région", - " río", - " również", - " s", - " sa", - " sacred", - " sacrifice", - " sad", - " sadly", - " safari", - " safe", - " safely", - " safer", - " safety", - " saga", - " sage", - " said", - " sail", - " sailed", - " sailing", - " sailor", - " sailors", - " saint", - " saints", - " saj", - " sake", - " sal", - " sala", - " salary", - " sale", - " sales", - " sally", - " salmon", - " salon", - " salt", - " salvador", - " salvation", - " sam", - " sama", - " same", - " samen", - " samma", - " samme", - " sammen", - " samo", - " sample", - " samples", - " sampling", - " samsung", - " samt", - " samuel", - " san", - " sanctions", - " sanctuary", - " sand", - " sandbox", - " sandwich", - " sandy", - " sang", - " sankt", - " sans", - " sanskrit", - " sant", - " santa", - " santo", - " santos", - " sara", - " sarah", - " sass", - " sat", - " satan", - " satellite", - " satellites", - " satisfaction", - " satisfied", - " satisfy", - " saturday", - " saturn", - " sau", - " sauce", - " savage", - " save", - " saved", - " saves", - " saving", - " savings", - " saw", - " say", - " saying", - " says", - " sb", - " sc", - " scaffold", - " scala", - " scalar", - " scale", - " scaled", - " scales", - " scaling", - " scan", - " scandal", - " scanf", - " scanner", - " scanning", - " scared", - " scary", - " scatter", - " scattered", - " scenario", - " scenarios", - " scene", - " scenes", - " scenic", - " schedule", - " scheduled", - " scheduler", - " scheduling", - " schema", - " schemas", - " scheme", - " schemes", - " schmidt", - " scholar", - " scholarly", - " scholars", - " scholarship", - " school", - " schools", - " sci", - " science", - " sciences", - " scientific", - " scientist", - " scientists", - " scipy", - " scissors", - " scope", - " score", - " scored", - " scorer", - " scores", - " scoring", - " scotia", - " scotland", - " scott", - " scout", - " scouts", - " scratch", - " screen", - " screening", - " screenplay", - " screens", - " screenshot", - " screenshots", - " script", - " scripts", - " scripture", - " scroll", - " sculpture", - " sculptures", - " sd", - " sdk", - " se", - " sea", - " seal", - " sealed", - " sean", - " search", - " searched", - " searches", - " searching", - " seas", - " season", - " seasonal", - " seasons", - " seat", - " seated", - " seats", - " seattle", - " sec", - " second", - " seconda", - " secondary", - " secondo", - " seconds", - " secret", - " secretary", - " secretly", - " secrets", - " sect", - " section", - " sections", - " sector", - " sectors", - " secular", - " secure", - " secured", - " securing", - " securities", - " security", - " sed", - " sedan", - " sede", - " see", - " seed", - " seeds", - " seeing", - " seek", - " seeking", - " seeks", - " seem", - " seemed", - " seemingly", - " seems", - " seen", - " sees", - " seg", - " segment", - " segments", - " segons", - " seguito", - " segunda", - " segundo", - " según", - " sehr", - " sei", - " sein", - " seine", - " seinem", - " seinen", - " seiner", - " seit", - " seized", - " seja", - " sel", - " select", - " selected", - " selecting", - " selection", - " selections", - " selective", - " selector", - " selenium", - " self", - " sell", - " seller", - " sellers", - " selling", - " sells", - " selo", - " selon", - " selv", - " sem", - " semantic", - " semester", - " semi", - " semiconductor", - " semifinals", - " seminary", - " sempre", - " sen", - " senare", - " senate", - " senator", - " senators", - " send", - " sender", - " sending", - " sendo", - " sends", - " senere", - " senha", - " senhora", - " senior", - " seniors", - " sens", - " sensation", - " sense", - " sensing", - " sensitive", - " sensitivity", - " sensor", - " sensors", - " sent", - " sentence", - " sentenced", - " sentences", - " sentiment", - " sentinel", - " sep", - " separate", - " separated", - " separately", - " separation", - " separator", - " sept", - " september", - " septembre", - " seq", - " sequel", - " sequence", - " sequences", - " sequential", - " ser", - " sera", - " serbia", - " serbian", - " sergeant", - " seria", - " serial", - " serialize", - " serie", - " series", - " serif", - " serious", - " seriously", - " sermon", - " servant", - " servants", - " serve", - " served", - " server", - " servers", - " serves", - " service", - " services", - " servidor", - " serving", - " servlet", - " servo", - " será", - " ses", - " sess", - " session", - " sessions", - " set", - " setState", - " setText", - " setTimeout", - " setUp", - " setValue", - " setembro", - " seth", - " sets", - " setter", - " setting", - " settings", - " settle", - " settled", - " settlement", - " settlements", - " settlers", - " settling", - " setup", - " seu", - " seus", - " seva", - " seven", - " seventeen", - " seventh", - " several", - " severe", - " severely", - " severity", - " seves", - " sex", - " sexual", - " sexuality", - " sexually", - " sexy", - " seznam", - " sf", - " sg", - " sh", - " sha", - " shade", - " shader", - " shadow", - " shadows", - " shaft", - " shah", - " shake", - " shakespeare", - " shall", - " shallow", - " shame", - " shape", - " shaped", - " shapes", - " share", - " shared", - " shareholders", - " shares", - " sharing", - " shark", - " sharks", - " sharma", - " sharp", - " shaw", - " she", - " shed", - " sheep", - " sheet", - " sheets", - " shelf", - " shell", - " shells", - " shelter", - " shepherd", - " sheriff", - " shi", - " shield", - " shields", - " shift", - " shifted", - " shifting", - " shifts", - " shin", - " shine", - " ship", - " shipped", - " shipping", - " ships", - " shirt", - " shirts", - " shit", - " shock", - " shocked", - " shocking", - " shoe", - " shoes", - " shoot", - " shooter", - " shooting", - " shoots", - " shop", - " shopping", - " shops", - " shore", - " shores", - " short", - " shortage", - " shortcuts", - " shortened", - " shorter", - " shortest", - " shortly", - " shorts", - " shot", - " shots", - " should", - " shoulder", - " shoulders", - " shouldn", - " show", - " showcase", - " showed", - " shower", - " showing", - " shown", - " shows", - " shrine", - " shuffle", - " shut", - " shutdown", - " shuttle", - " shy", - " si", - " sia", - " siblings", - " sich", - " sick", - " sid", - " side", - " sidebar", - " sided", - " siden", - " sides", - " sido", - " sidste", - " sie", - " siege", - " siehe", - " siendo", - " sierra", - " sig", - " sight", - " sigma", - " sigmoid", - " sign", - " signal", - " signals", - " signature", - " signatures", - " signed", - " significa", - " significance", - " significant", - " significantly", - " signin", - " signing", - " signs", - " signup", - " siguiente", - " silence", - " silent", - " silicon", - " silk", - " silly", - " silver", - " sim", - " similar", - " similarities", - " similarity", - " similarly", - " simon", - " simple", - " simplified", - " simply", - " simpson", - " simulate", - " simulation", - " simulator", - " simultaneously", - " sin", - " sina", - " since", - " sind", - " sinds", - " sine", - " sing", - " singapore", - " singer", - " singers", - " singh", - " singing", - " single", - " singles", - " singleton", - " singular", - " sinh", - " sink", - " sino", - " sins", - " sint", - " sir", - " sistem", - " sistema", - " sistemas", - " sister", - " sisters", - " sit", - " site", - " sites", - " sits", - " sitt", - " sitting", - " situada", - " situated", - " situation", - " situations", - " située", - " six", - " sixteen", - " sixth", - " sixty", - " size", - " sized", - " sizeof", - " sizes", - " sizing", - " się", - " sk", - " ska", - " skal", - " skating", - " skeleton", - " sketch", - " ski", - " skiing", - " skill", - " skilled", - " skills", - " skin", - " skip", - " sklearn", - " skrev", - " skull", - " skulle", - " sky", - " sl", - " slack", - " slag", - " slam", - " slash", - " slate", - " slave", - " slavery", - " slaves", - " sleep", - " sleeping", - " sleeve", - " slice", - " slide", - " slider", - " slides", - " sliding", - " slight", - " slightly", - " slim", - " slip", - " slope", - " slopes", - " slot", - " slots", - " slow", - " slower", - " slowly", - " slug", - " sluts", - " sm", - " small", - " smaller", - " smallest", - " smart", - " smartphone", - " smartphones", - " smell", - " smile", - " smiled", - " smith", - " smoke", - " smoking", - " smooth", - " smrti", - " smtp", - " små", - " snake", - " snap", - " snapshot", - " snippet", - " snow", - " sns", - " so", - " soap", - " sob", - " sobre", - " soccer", - " social", - " sociale", - " socialism", - " socialist", - " societies", - " society", - " società", - " sociology", - " société", - " sock", - " socket", - " sodium", - " soft", - " softball", - " software", - " soil", - " soit", - " sok", - " sol", - " solar", - " sold", - " soldier", - " soldiers", - " sole", - " solely", - " solid", - " solidarity", - " solo", - " sols", - " solution", - " solutions", - " solve", - " solved", - " solver", - " solving", - " som", - " soma", - " some", - " somebody", - " somehow", - " someone", - " something", - " sometime", - " sometimes", - " somewhat", - " somewhere", - " son", - " song", - " songs", - " songwriter", - " sonic", - " sono", - " sons", - " sont", - " sony", - " soon", - " sophie", - " sophisticated", - " sophomore", - " sorry", - " sort", - " sorted", - " sorting", - " sorts", - " során", - " sota", - " sotto", - " sought", - " soul", - " souls", - " sound", - " sounds", - " soundtrack", - " soup", - " source", - " sources", - " sous", - " south", - " southeast", - " southeastern", - " southern", - " southwest", - " southwestern", - " sovereign", - " sovereignty", - " soviet", - " sowie", - " sox", - " sp", - " spa", - " space", - " spacecraft", - " spaces", - " spacing", - " spain", - " spam", - " span", - " spanish", - " spanning", - " spans", - " spare", - " spark", - " sparked", - " sparse", - " spatial", - " spawn", - " speak", - " speaker", - " speakers", - " speaking", - " speaks", - " spec", - " special", - " specialist", - " specialists", - " specialized", - " specially", - " specialty", - " species", - " specific", - " specifically", - " specification", - " specifications", - " specified", - " specify", - " specimen", - " specimens", - " specs", - " spectacular", - " spectrum", - " speculation", - " speech", - " speeches", - " speed", - " speeds", - " spell", - " spelled", - " spelling", - " spencer", - " spend", - " spending", - " spent", - " sphere", - " sphinx", - " spider", - " spike", - " spin", - " spine", - " spinner", - " spinning", - " spiral", - " spirit", - " spirits", - " spiritual", - " spite", - " splash", - " splice", - " split", - " splits", - " splitting", - " spoke", - " spoken", - " spokesman", - " spokesperson", - " sponsor", - " sponsored", - " sponsors", - " sport", - " sporting", - " sports", - " spot", - " spotify", - " spotlight", - " spots", - " spotted", - " spouse", - " spray", - " spre", - " spread", - " spreading", - " spring", - " springs", - " sprint", - " sprintf", - " sprite", - " sprites", - " spy", - " später", - " sq", - " sql", - " sqlite", - " sqrt", - " squad", - " squadron", - " square", - " squared", - " squares", - " squeeze", - " sr", - " src", - " sri", - " srv", - " ss", - " ssh", - " ssl", - " st", - " sta", - " staat", - " stability", - " stable", - " stack", - " stad", - " stadium", - " staff", - " stage", - " staged", - " stages", - " staging", - " stairs", - " stake", - " stakes", - " stal", - " stalin", - " stamp", - " stamps", - " stan", - " stance", - " stand", - " standalone", - " standard", - " standards", - " standing", - " standings", - " stands", - " stanley", - " star", - " stark", - " starred", - " starring", - " stars", - " start", - " started", - " starter", - " starting", - " starts", - " startup", - " stat", - " stata", - " state", - " stated", - " statement", - " statements", - " staten", - " states", - " stati", - " static", - " stating", - " station", - " stationed", - " stations", - " statistical", - " statistics", - " stato", - " stats", - " statue", - " status", - " statute", - " statutory", - " stay", - " stayed", - " staying", - " stays", - " std", - " stderr", - " stdin", - " stdout", - " steady", - " steal", - " stealing", - " steam", - " steel", - " steep", - " steering", - " stefan", - " stellar", - " stelle", - " stem", - " stems", - " step", - " stephanie", - " stephen", - " stepped", - " stepping", - " steps", - " stereotype", - " sterling", - " stern", - " stesso", - " steve", - " stick", - " sticky", - " stil", - " still", - " stimulus", - " stint", - " stmt", - " stock", - " stockholm", - " stocks", - " stolen", - " stomach", - " stone", - " stones", - " stood", - " stop", - " stopped", - " stopping", - " stops", - " stor", - " stora", - " storage", - " store", - " stored", - " stores", - " storia", - " stories", - " storing", - " storm", - " storms", - " stort", - " story", - " str", - " strada", - " straight", - " strain", - " strait", - " strand", - " strange", - " stranger", - " strani", - " strategic", - " strategies", - " strategy", - " strcmp", - " streak", - " stream", - " streaming", - " streams", - " street", - " streets", - " strength", - " strengthen", - " stress", - " stressed", - " stretch", - " stretched", - " strict", - " strictly", - " stride", - " strike", - " striker", - " strikes", - " striking", - " string", - " stringify", - " strings", - " strip", - " stripe", - " stripped", - " strips", - " strlen", - " stroke", - " strong", - " stronger", - " strongest", - " strongly", - " struck", - " struct", - " structural", - " structure", - " structured", - " structures", - " struggle", - " struggled", - " struggles", - " struggling", - " stub", - " stuck", - " student", - " students", - " studied", - " studies", - " studio", - " studios", - " study", - " studying", - " stuff", - " stunning", - " stupid", - " style", - " styled", - " styles", - " stylesheet", - " styling", - " står", - " större", - " största", - " større", - " største", - " su", - " sua", - " suas", - " sub", - " subdivision", - " subject", - " subjected", - " subjects", - " sublime", - " submarine", - " submarines", - " submission", - " submissions", - " submit", - " submitted", - " subnet", - " subplot", - " subprocess", - " subscribe", - " subscriber", - " subscribers", - " subscription", - " subsequent", - " subsequently", - " subset", - " subsidiary", - " substance", - " substances", - " substantial", - " substantially", - " substitute", - " substr", - " substrate", - " substring", - " subtitle", - " subtle", - " subtract", - " suburb", - " suburban", - " suburbs", - " subway", - " succeed", - " succeeded", - " success", - " successful", - " successfully", - " succession", - " successive", - " successor", - " such", - " sud", - " sudden", - " suddenly", - " sudo", - " sue", - " sued", - " suffer", - " suffered", - " suffering", - " sufficient", - " suffix", - " sugar", - " suggest", - " suggested", - " suggesting", - " suggestion", - " suggestions", - " suggests", - " sui", - " suicide", - " suit", - " suitable", - " suite", - " suited", - " suits", - " sul", - " sulla", - " sum", - " suma", - " summary", - " summer", - " summers", - " summit", - " sun", - " sunday", - " sung", - " sunny", - " sunrise", - " sunset", - " sunshine", - " sunt", - " suo", - " suoi", - " sup", - " super", - " superficie", - " superintendent", - " superior", - " supernatural", - " supervised", - " supervision", - " supervisor", - " supplement", - " supplements", - " supplied", - " supplier", - " suppliers", - " supplies", - " supply", - " support", - " supported", - " supporter", - " supporters", - " supporting", - " supports", - " suppose", - " supposed", - " supposedly", - " suppress", - " supreme", - " sur", - " sure", - " surely", - " surf", - " surface", - " surfaces", - " surge", - " surgeon", - " surgery", - " surgical", - " surname", - " surplus", - " surprise", - " surprised", - " surprising", - " surprisingly", - " surrender", - " surrounded", - " surrounding", - " surveillance", - " survey", - " surveys", - " survival", - " survive", - " survived", - " surviving", - " survivor", - " survivors", - " sus", - " suspect", - " suspected", - " suspects", - " suspend", - " suspended", - " suspension", - " suspicious", - " sustainability", - " sustainable", - " sustained", - " sv", - " sve", - " svensk", - " svenska", - " sverige", - " svg", - " svoj", - " svoje", - " svojim", - " své", - " sw", - " swagger", - " swan", - " swap", - " sweden", - " sweep", - " sweet", - " swept", - " swift", - " swim", - " swimmer", - " swimmers", - " swimming", - " swing", - " swiss", - " switch", - " switched", - " switches", - " switching", - " sword", - " sworn", - " sx", - " sy", - " sydney", - " sym", - " symbol", - " symbolic", - " symbols", - " symmetric", - " symphony", - " symptoms", - " syn", - " sync", - " synchronized", - " syndrome", - " synonym", - " synopsis", - " syntax", - " synthesis", - " synthetic", - " sys", - " system", - " systematic", - " systems", - " système", - " sz", - " szent", - " szerint", - " são", - " så", - " således", - " século", - " série", - " së", - " só", - " són", - " să", - " są", - " số", - " t", - " ta", - " tab", - " tabla", - " table", - " tableau", - " tables", - " tablet", - " tablets", - " tabs", - " tackle", - " tackles", - " tactical", - " tactics", - " tada", - " tag", - " tagged", - " tags", - " tai", - " tail", - " taiwanese", - " taj", - " tak", - " take", - " taken", - " takes", - " taking", - " tako", - " također", - " také", - " także", - " tal", - " tale", - " talent", - " talented", - " talents", - " tales", - " taliban", - " talk", - " talked", - " talking", - " talks", - " tall", - " tam", - " también", - " també", - " também", - " tamil", - " tampa", - " tan", - " tang", - " tank", - " tanks", - " tant", - " tanto", - " tap", - " tape", - " tar", - " tard", - " tarde", - " target", - " targeted", - " targeting", - " targets", - " tas", - " task", - " tasks", - " taste", - " tau", - " taught", - " tax", - " taxa", - " taxation", - " taxes", - " taxi", - " taxonomy", - " taylor", - " tb", - " tbody", - " tc", - " tcp", - " td", - " te", - " tea", - " teach", - " teacher", - " teachers", - " teaches", - " teaching", - " teachings", - " team", - " teammate", - " teammates", - " teams", - " tear", - " tears", - " teatro", - " tech", - " technical", - " technically", - " technique", - " techniques", - " technological", - " technologies", - " technology", - " ted", - " tedy", - " teen", - " teenage", - " teenager", - " teenagers", - " teens", - " teeth", - " tega", - " tegen", - " tego", - " teil", - " tej", - " tek", - " tel", - " telecommunications", - " telegram", - " telegraph", - " telephone", - " telescope", - " television", - " tell", - " telling", - " tells", - " tem", - " tema", - " temp", - " temperatura", - " temperature", - " temperatures", - " template", - " templates", - " temple", - " temples", - " tempo", - " temporal", - " temporarily", - " temporary", - " temps", - " température", - " ten", - " tenant", - " tend", - " tendency", - " tender", - " tendo", - " tends", - " tenen", - " tenir", - " tennis", - " tenor", - " tens", - " tension", - " tensions", - " tensor", - " tensorflow", - " tent", - " tenth", - " tento", - " tenure", - " teoria", - " ter", - " term", - " terme", - " termed", - " terminal", - " terminals", - " terminate", - " terminated", - " termine", - " terminology", - " terminus", - " termo", - " terms", - " terra", - " terraform", - " terrain", - " terre", - " terres", - " terrible", - " territoire", - " territori", - " territorial", - " territories", - " territorio", - " territory", - " território", - " terror", - " terrorism", - " terrorist", - " terrorists", - " terry", - " test", - " testament", - " teste", - " tested", - " testified", - " testimony", - " testing", - " testosterone", - " tests", - " teve", - " tex", - " texas", - " text", - " textarea", - " textile", - " texto", - " texts", - " texture", - " też", - " tf", - " th", - " thai", - " thailand", - " than", - " thank", - " thanks", - " thanksgiving", - " that", - " the", - " theater", - " theaters", - " theatre", - " theatrical", - " thee", - " theft", - " their", - " them", - " theme", - " themed", - " themes", - " themselves", - " then", - " theo", - " theological", - " theology", - " theorem", - " theoretical", - " theories", - " theory", - " therapeutic", - " therapy", - " there", - " thereafter", - " thereby", - " therefore", - " thereof", - " thermal", - " these", - " thesis", - " theta", - " they", - " thick", - " thickness", - " thin", - " thing", - " things", - " think", - " thinking", - " thinks", - " third", - " thirds", - " thirteen", - " thirty", - " this", - " thomas", - " thompson", - " thomson", - " thor", - " thoroughly", - " those", - " thou", - " though", - " thought", - " thoughts", - " thousand", - " thousands", - " thread", - " threading", - " threads", - " threat", - " threatened", - " threatening", - " threatens", - " threats", - " three", - " thresh", - " threshold", - " threw", - " thriller", - " throat", - " throne", - " through", - " throughout", - " throw", - " throwing", - " thrown", - " throws", - " thrust", - " thu", - " thumb", - " thumbnail", - " thunder", - " thus", - " thy", - " ti", - " tick", - " ticker", - " ticket", - " tickets", - " tid", - " tidak", - " tide", - " tiden", - " tidigare", - " tidligere", - " tie", - " tied", - " tiempo", - " tiene", - " tienen", - " tier", - " tierra", - " ties", - " tiger", - " tigers", - " tight", - " tijd", - " tijdens", - " tijekom", - " til", - " tilbage", - " tile", - " tiles", - " till", - " tillsammans", - " tim", - " timber", - " time", - " timeline", - " timeout", - " timer", - " times", - " timestamp", - " timestamps", - " timezone", - " timing", - " timp", - " timpul", - " tin", - " tinha", - " tiny", - " tip", - " tipo", - " tipos", - " tips", - " tipus", - " tire", - " tired", - " tissue", - " tissues", - " titan", - " titans", - " titel", - " title", - " titled", - " titles", - " titre", - " titular", - " titulo", - " tj", - " tk", - " tm", - " tmp", - " to", - " toString", - " toast", - " toate", - " tobacco", - " tod", - " toda", - " todas", - " today", - " todd", - " todo", - " todos", - " toe", - " toen", - " tog", - " toga", - " together", - " toggle", - " toilet", - " tok", - " token", - " tokens", - " tokyo", - " told", - " tolerance", - " toll", - " tom", - " tomb", - " tome", - " tomorrow", - " ton", - " tone", - " tongue", - " tonight", - " tonnes", - " tons", - " tony", - " too", - " took", - " tool", - " toolbar", - " toolkit", - " tools", - " tooltip", - " tooth", - " top", - " topic", - " topics", - " topology", - " topped", - " tops", - " tor", - " torah", - " torch", - " torn", - " tornado", - " toronto", - " torpedo", - " torre", - " tort", - " torture", - " tot", - " total", - " totally", - " tots", - " touch", - " touchdown", - " touched", - " touches", - " touching", - " tough", - " tour", - " toured", - " touring", - " tourism", - " tourist", - " tourists", - " tournament", - " tournaments", - " tours", - " tous", - " tout", - " toward", - " towards", - " tower", - " towers", - " town", - " towns", - " township", - " townships", - " toxic", - " toy", - " toys", - " tp", - " tr", - " tra", - " trabajo", - " trace", - " traced", - " traces", - " track", - " tracked", - " tracker", - " tracking", - " tracks", - " tract", - " tracy", - " trade", - " traded", - " trademark", - " trader", - " traders", - " trades", - " trading", - " tradition", - " traditional", - " traditionally", - " traditions", - " traffic", - " trafficking", - " tragedy", - " tragic", - " trail", - " trailer", - " trailing", - " trails", - " train", - " trained", - " trainer", - " training", - " trains", - " trait", - " traits", - " trajectory", - " trans", - " transaction", - " transactions", - " transcript", - " transfer", - " transferred", - " transfers", - " transform", - " transformation", - " transformed", - " transformer", - " transforms", - " transgender", - " transit", - " transition", - " transitions", - " translate", - " translated", - " translation", - " translations", - " translator", - " transmission", - " transmitted", - " transparency", - " transparent", - " transport", - " transportation", - " transported", - " transpose", - " trap", - " trapped", - " tras", - " trash", - " trauma", - " travel", - " traveled", - " travelers", - " traveling", - " travelled", - " travelling", - " travels", - " traverse", - " través", - " tre", - " treasure", - " treasurer", - " treasury", - " treat", - " treated", - " treaties", - " treating", - " treatment", - " treatments", - " treats", - " treaty", - " tree", - " trees", - " trei", - " trek", - " tremendous", - " trend", - " trending", - " trends", - " tres", - " tri", - " trial", - " trials", - " triangle", - " tribal", - " tribe", - " tribes", - " tribunal", - " tribune", - " tribute", - " trick", - " tricks", - " tried", - " tries", - " trigger", - " triggered", - " triggers", - " trillion", - " trilogy", - " trim", - " trio", - " trip", - " triple", - " trips", - " triumph", - " trois", - " trong", - " troops", - " trophy", - " tropical", - " trouble", - " troubled", - " troubles", - " trouve", - " trova", - " truck", - " trucks", - " true", - " truly", - " trump", - " trumpet", - " trunk", - " trust", - " trusted", - " trustees", - " truth", - " try", - " trying", - " très", - " três", - " ts", - " tsunami", - " tsx", - " tt", - " tu", - " tube", - " tubes", - " tucker", - " tudi", - " tue", - " tumor", - " tune", - " tunisia", - " tunnel", - " tuple", - " turkey", - " turn", - " turned", - " turner", - " turning", - " turns", - " turtle", - " tussen", - " tutorial", - " tutorials", - " tutti", - " tutto", - " tv", - " två", - " tw", - " twee", - " tweede", - " tweet", - " tweets", - " twelve", - " twentieth", - " twenty", - " twice", - " twin", - " twins", - " twist", - " twisted", - " twitter", - " two", - " tx", - " txt", - " ty", - " tylko", - " tym", - " typ", - " type", - " typed", - " typedef", - " typename", - " typeof", - " types", - " typescript", - " typical", - " typically", - " typing", - " typography", - " typu", - " té", - " término", - " této", - " të", - " título", - " több", - " u", - " ua", - " uart", - " uber", - " ubuntu", - " ud", - " uden", - " ugly", - " ui", - " uid", - " uint", - " uit", - " uk", - " ukraine", - " ukrainian", - " ul", - " ultima", - " ultimate", - " ultimately", - " ultimo", - " ultra", - " um", - " uma", - " un", - " una", - " unable", - " unanimous", - " unauthorized", - " uncertain", - " uncertainty", - " unchanged", - " uncle", - " unclear", - " uncomfortable", - " und", - " unde", - " undefined", - " under", - " undergo", - " undergraduate", - " underground", - " underlying", - " underneath", - " understand", - " understanding", - " understood", - " undertaken", - " underwater", - " underwent", - " une", - " unei", - " unemployment", - " unesco", - " unexpected", - " unfortunately", - " unha", - " uni", - " unicode", - " unidos", - " unified", - " uniform", - " union", - " unions", - " unique", - " unit", - " unite", - " united", - " units", - " unittest", - " unity", - " universal", - " universe", - " universidad", - " universitet", - " universities", - " university", - " unix", - " união", - " unknown", - " unless", - " unlike", - " unlikely", - " unlimited", - " unlock", - " unnamed", - " unnecessary", - " uno", - " unofficial", - " unor", - " unprecedented", - " uns", - " unsafe", - " unsigned", - " unsuccessful", - " unter", - " until", - " unto", - " untuk", - " unui", - " unul", - " unused", - " unusual", - " unveiled", - " up", - " upcoming", - " update", - " updated", - " updates", - " updating", - " upgrade", - " upgraded", - " upload", - " uploaded", - " uploads", - " upon", - " upp", - " upper", - " uppercase", - " uprising", - " ups", - " upset", - " upstream", - " ur", - " uranium", - " urban", - " urged", - " urgent", - " uri", - " url", - " urllib", - " urls", - " us", - " usa", - " usado", - " usage", - " usando", - " usar", - " use", - " useState", - " used", - " useful", - " user", - " userData", - " userId", - " userName", - " userid", - " username", - " users", - " uses", - " using", - " uso", - " usr", - " usual", - " usually", - " usuario", - " usuarios", - " ut", - " utah", - " utan", - " utf", - " util", - " utilities", - " utility", - " utilize", - " utilized", - " utilizing", - " utils", - " utrecht", - " után", - " uuid", - " uz", - " už", - " v", - " va", - " vaak", - " vacancy", - " vacant", - " vacation", - " vaccination", - " vaccine", - " vaccines", - " vacuum", - " vader", - " vagrant", - " vagy", - " vai", - " val", - " valamint", - " vale", - " valid", - " validate", - " validated", - " validates", - " validation", - " validator", - " validators", - " validity", - " vall", - " valle", - " valley", - " valleys", - " valor", - " valores", - " vals", - " valuable", - " value", - " valued", - " values", - " valve", - " való", - " vampire", - " van", - " vanaf", - " vancouver", - " vanilla", - " vapor", - " var", - " vara", - " varchar", - " variable", - " variables", - " variance", - " variant", - " variants", - " variation", - " variations", - " varied", - " varies", - " varieties", - " variety", - " varios", - " various", - " varit", - " vars", - " vary", - " varying", - " vas", - " vast", - " vatican", - " vault", - " ve", - " vec", - " vector", - " vectors", - " ved", - " vedere", - " veel", - " vegas", - " vegetables", - " vegetation", - " vehicle", - " vehicles", - " vel", - " vele", - " velika", - " velike", - " veliki", - " veliko", - " velmi", - " velocity", - " vendar", - " vendor", - " vendors", - " venezuela", - " venice", - " venture", - " ventures", - " venue", - " venues", - " venus", - " ver", - " vera", - " verb", - " verbal", - " verbose", - " verde", - " verden", - " verder", - " verdict", - " verification", - " verified", - " verify", - " vernon", - " vers", - " verschillende", - " verse", - " verses", - " version", - " versions", - " verso", - " versus", - " vertex", - " vertical", - " vertices", - " verwendet", - " very", - " vessel", - " vessels", - " vest", - " veteran", - " veterans", - " vez", - " vezi", - " već", - " več", - " vh", - " vi", - " via", - " viable", - " viagra", - " vic", - " vice", - " vicinity", - " victim", - " victims", - " victor", - " victoria", - " victories", - " victory", - " vid", - " vida", - " video", - " videos", - " vie", - " viene", - " vienna", - " vier", - " vietnam", - " view", - " viewed", - " viewer", - " viewers", - " viewing", - " viewport", - " views", - " vigor", - " viii", - " vil", - " vila", - " vilket", - " villa", - " village", - " villages", - " villain", - " ville", - " vim", - " vine", - " vintage", - " vinyl", - " viola", - " violated", - " violation", - " violations", - " violence", - " violent", - " violet", - " violin", - " viral", - " virgin", - " virginia", - " virtual", - " virtually", - " virtue", - " virus", - " vis", - " visa", - " visibility", - " visible", - " vision", - " visit", - " visited", - " visiting", - " visitor", - " visitors", - " visits", - " vissa", - " vista", - " visual", - " visualization", - " vita", - " vital", - " vitamin", - " viz", - " við", - " više", - " vm", - " vo", - " vocab", - " vocabulary", - " vocal", - " vocalist", - " vocals", - " você", - " vode", - " voice", - " voiced", - " voices", - " void", - " voir", - " vol", - " volatile", - " volcanic", - " volcano", - " volgens", - " volleyball", - " volt", - " volta", - " voltage", - " volume", - " volumes", - " voluntary", - " volunteer", - " volunteers", - " vom", - " von", - " voor", - " vooral", - " vor", - " vorm", - " vote", - " voted", - " voter", - " voters", - " votes", - " voting", - " vous", - " voyage", - " vpc", - " vrijeme", - " vrlo", - " vrste", - " vs", - " vse", - " vue", - " vulnerability", - " vulnerable", - " và", - " være", - " været", - " více", - " või", - " však", - " və", - " về", - " với", - " w", - " wa", - " waar", - " waarbij", - " waarin", - " wade", - " wage", - " wages", - " wagon", - " wait", - " waited", - " waiting", - " wake", - " wales", - " walk", - " walked", - " walker", - " walking", - " walks", - " wall", - " wallet", - " walls", - " walmart", - " walsh", - " walter", - " wan", - " wang", - " want", - " wanted", - " wanting", - " wants", - " war", - " ward", - " warehouse", - " waren", - " warfare", - " warm", - " warming", - " warn", - " warned", - " warner", - " warning", - " warnings", - " warns", - " warrant", - " warranties", - " warranty", - " warrior", - " warriors", - " wars", - " warsaw", - " was", - " wash", - " washing", - " washington", - " wasn", - " waste", - " wat", - " watch", - " watched", - " watches", - " watching", - " water", - " waters", - " watershed", - " watts", - " wav", - " wave", - " waves", - " way", - " ways", - " wb", - " we", - " weak", - " weakness", - " wealth", - " wealthy", - " weapon", - " weapons", - " wear", - " wearing", - " weather", - " web", - " webapp", - " webb", - " weber", - " webhook", - " webpack", - " webpage", - " website", - " websites", - " wed", - " wedding", - " wednesday", - " week", - " weekend", - " weekly", - " weeks", - " weer", - " wei", - " weight", - " weighted", - " weights", - " weird", - " weitere", - " wel", - " welcome", - " welcomed", - " welfare", - " well", - " wellness", - " wells", - " wenn", - " went", - " werd", - " werden", - " were", - " weren", - " werk", - " werner", - " west", - " western", - " wet", - " wget", - " whale", - " what", - " whatever", - " wheat", - " wheel", - " wheelchair", - " wheels", - " when", - " whenever", - " where", - " whereas", - " whereby", - " wherein", - " wherever", - " whether", - " which", - " while", - " whilst", - " white", - " whites", - " whitney", - " who", - " whoever", - " whole", - " wholesale", - " wholly", - " whom", - " whose", - " why", - " wi", - " wide", - " widely", - " wider", - " widespread", - " widget", - " widgets", - " widow", - " width", - " wie", - " wieder", - " wieku", - " wife", - " wifi", - " wiki", - " wikipedia", - " wild", - " wilde", - " wilderness", - " wildlife", - " will", - " william", - " williams", - " willing", - " willis", - " win", - " wind", - " window", - " windows", - " winds", - " wine", - " wines", - " wing", - " wings", - " wingspan", - " winner", - " winners", - " winning", - " wins", - " winston", - " winter", - " winters", - " wird", - " wire", - " wireless", - " wisdom", - " wise", - " wish", - " wished", - " wishes", - " wit", - " witch", - " with", - " withdraw", - " withdrawal", - " withdrawn", - " withdrew", - " within", - " without", - " witness", - " witnessed", - " witnesses", - " wives", - " wizard", - " wo", - " wolf", - " wolves", - " woman", - " women", - " won", - " wonder", - " wondered", - " wonderful", - " wondering", - " wong", - " wood", - " wooden", - " woodland", - " woods", - " woody", - " wool", - " word", - " worden", - " wordpress", - " words", - " wordt", - " wore", - " work", - " worked", - " worker", - " workers", - " workflow", - " workflows", - " workforce", - " working", - " workout", - " workplace", - " works", - " worksheet", - " workshop", - " workshops", - " workspace", - " world", - " worlds", - " worldwide", - " worn", - " worried", - " worry", - " worse", - " worship", - " worst", - " worth", - " worthy", - " would", - " wouldn", - " wound", - " wounded", - " wounds", - " wow", - " wp", - " wrap", - " wrapped", - " wrapper", - " wraz", - " wrestler", - " wrestlers", - " wrestling", - " write", - " writer", - " writers", - " writes", - " writing", - " writings", - " written", - " wrong", - " wrote", - " ws", - " wu", - " wurde", - " wurden", - " www", - " wx", - " während", - " x", - " xa", - " xbox", - " xe", - " xff", - " xhr", - " xi", - " xiii", - " xl", - " xlabel", - " xlsx", - " xml", - " xmlns", - " xpath", - " xs", - " xu", - " xviii", - " xx", - " xxx", - " xy", - " xyz", - " y", - " ya", - " yacht", - " yahoo", - " yale", - " yaml", - " yan", - " yang", - " yard", - " yards", - " yarn", - " ye", - " yeah", - " year", - " yearly", - " years", - " yellow", - " yes", - " yesterday", - " yet", - " yi", - " yield", - " yields", - " ylabel", - " yn", - " yo", - " yoga", - " york", - " you", - " young", - " younger", - " youngest", - " your", - " yours", - " yourself", - " youth", - " youtube", - " yr", - " yu", - " yuan", - " yyyy", - " z", - " za", - " zagreb", - " zaradi", - " zato", - " zbog", - " zde", - " ze", - " zee", - " zeer", - " zeit", - " zelo", - " zemlje", - " zen", - " zero", - " zeros", - " zh", - " zi", - " zich", - " zie", - " zij", - " zijn", - " zinc", - " zip", - " zm", - " znak", - " zo", - " zoals", - " zombie", - " zona", - " zonder", - " zone", - " zones", - " zoo", - " zoom", - " zoon", - " został", - " została", - " zou", - " zu", - " zum", - " zur", - " zwei", - " zwischen", - " {", - " {\"", - " {'", - " {...", - " {:", - " {@", - " {{", - " {}", - " {},", - " {};", - " |", - " ||", - " }", - " })", - " }),", - " }).", - " });", - " },", - " }.", - " };", - " }}", - " }}", - "->", - "-{", - "-", - ".", - "..", - "...", - "....", - "......", - "........", - "............", - "................", - "..................", - "........................", - "................................", - "................................................", - "................................................................", - "../", - "./", - ".”", - ".“", - ".”", - "/", - "/*", - "/**", - "//", - "///", - "////", - "//////", - "////////", - "////////////", - "////////////////", - "////////////////////////", - "////////////////////////////////", - "////////////////////////////////////////////////", - "////////////////////////////////////////////////////////////////", - "/>", - "/>", - "=”", - ">", - ">>", - ">>>", - ">>>>", - "?", - "?>", - "???", - "?€", - "?”", - "@", - "@€", - "A", - "AA", - "AB", - "ABC", - "AC", - "ACC", - "ACCESS", - "ACTION", - "AD", - "ADD", - "ADDRESS", - "AF", - "AFP", - "AG", - "AI", - "AIDS", - "AL", - "ALL", - "ALTER", - "AM", - "AMD", - "AN", - "AND", - "ANY", - "AP", - "API", - "APP", - "APPLICATION", - "AR", - "ARE", - "ARM", - "AS", - "ASCII", - "AT", - "ATP", - "AU", - "AUTH", - "AUTHORS", - "AUTO", - "AWS", - "Aaron", - "Ab", - "Abd", - "Abdul", - "Abel", - "About", - "Above", - "Abraham", - "Abstract", - "Abu", - "Academic", - "Academy", - "Accept", - "Access", - "According", - "Account", - "Achievement", - "Act", - "Acting", - "Action", - "Actions", - "Active", - "Activities", - "Activity", - "Actor", - "Acts", - "Actually", - "Ad", - "Ada", - "Adam", - "Adams", - "Add", - "Added", - "Adding", - "Addition", - "Additional", - "Additionally", - "Address", - "Adjacent", - "Admin", - "Administration", - "Administrative", - "Administrator", - "Admiral", - "Adobe", - "Adolf", - "Adult", - "Adults", - "Advanced", - "Adventure", - "Advertisement", - "Affairs", - "Afghanistan", - "Africa", - "African", - "After", - "Again", - "Against", - "Age", - "Agency", - "Agent", - "Ages", - "Agreement", - "Agricultural", - "Agriculture", - "Ahmed", - "Aid", - "Air", - "Aircraft", - "Aires", - "Airlines", - "Airport", - "Ajax", - "Al", - "Alabama", - "Alan", - "Alaska", - "Albanian", - "Albert", - "Album", - "Albums", - "Alert", - "Alex", - "Alexander", - "Alexandre", - "Alfred", - "Algorithm", - "Ali", - "Alice", - "All", - "Allah", - "Allen", - "Alliance", - "Allied", - "Allow", - "Almost", - "Along", - "Alpha", - "Alps", - "Already", - "Als", - "Also", - "Alt", - "Alta", - "Alternative", - "Although", - "Alumni", - "Always", - "Am", - "Amanda", - "Amateur", - "Amazing", - "Amazon", - "Ambassador", - "Amendment", - "America", - "American", - "Americans", - "Among", - "Amount", - "Amsterdam", - "Amy", - "An", - "Ana", - "Analysis", - "Analytics", - "Ancient", - "And", - "Anders", - "Anderson", - "Andre", - "Andrea", - "Andrew", - "Andrews", - "Android", - "Andy", - "Angel", - "Angela", - "Angeles", - "Angelo", - "Anglican", - "Angular", - "Animal", - "Animals", - "Animation", - "Ann", - "Anna", - "Anne", - "Annie", - "Anniversary", - "Anno", - "Annual", - "Anonymous", - "Another", - "Answer", - "Anthony", - "Anti", - "Antoine", - "Anton", - "Antoni", - "Antonio", - "Any", - "Anyone", - "Apache", - "Apart", - "Api", - "Apollo", - "App", - "Appeal", - "Appeals", - "Apple", - "Application", - "Applications", - "Applied", - "Apply", - "Apps", - "Apr", - "April", - "Aquest", - "Arab", - "Arabian", - "Arabic", - "Arc", - "Archaeological", - "Archbishop", - "Architecture", - "Archive", - "Archives", - "Arduino", - "Are", - "Area", - "Areas", - "Arena", - "Argentina", - "Argentine", - "Args", - "Arguments", - "Arial", - "Arizona", - "Arkansas", - "Armed", - "Armenian", - "Arms", - "Army", - "Arnold", - "Around", - "Array", - "ArrayList", - "Arrays", - "Arrow", - "Arsenal", - "Art", - "Arte", - "Arthur", - "Article", - "Articles", - "Artillery", - "Artist", - "Artists", - "Arts", - "As", - "Ashley", - "Asia", - "Asian", - "Ask", - "Asked", - "Assad", - "Assembly", - "Assert", - "Assessment", - "Asset", - "Assets", - "Assignment", - "Assistant", - "Associate", - "Associated", - "Associates", - "Association", - "At", - "Athens", - "Athletes", - "Athletic", - "Atlanta", - "Atlantic", - "Atlas", - "Attack", - "Attorney", - "Attribution", - "Au", - "Auckland", - "Audio", - "Aug", - "August", - "Aurora", - "Austin", - "Australia", - "Australian", - "Austria", - "Austrian", - "Auth", - "Authentication", - "Author", - "Authority", - "Authorization", - "Authors", - "Auto", - "Available", - "Avatar", - "Ave", - "Avenue", - "Average", - "Aviation", - "Award", - "Awards", - "Away", - "Az", - "Azerbaijan", - "Azure", - "A•", - "B", - "BA", - "BASE", - "BB", - "BBC", - "BC", - "BD", - "BE", - "BEGIN", - "BGR", - "BLACK", - "BMW", - "BP", - "BR", - "BS", - "BSD", - "BUILD", - "BUT", - "BY", - "Ba", - "Baby", - "Bachelor", - "Back", - "Backend", - "Background", - "Bad", - "Baden", - "Badge", - "Balance", - "Baldwin", - "Ball", - "Baltimore", - "Ban", - "Band", - "Bang", - "Bank", - "Banking", - "Banks", - "Banner", - "Baptist", - "Bar", - "Barbara", - "Barcelona", - "Baron", - "Barry", - "Base", - "Baseball", - "Based", - "Basic", - "Basin", - "Basketball", - "Bass", - "Bath", - "Batman", - "Battalion", - "Battery", - "Battle", - "Bay", - "Be", - "Beach", - "Bean", - "Bear", - "Bearer", - "Bears", - "Beast", - "Beat", - "Beautiful", - "Beauty", - "Because", - "Beck", - "Been", - "Beer", - "Before", - "Begin", - "Beginning", - "Behind", - "Bei", - "Being", - "Bell", - "Belle", - "Below", - "Belt", - "Ben", - "Benefits", - "Bengal", - "Bengali", - "Benjamin", - "Berg", - "Berkeley", - "Berlin", - "Bernard", - "Bernie", - "Berry", - "Besides", - "Best", - "Beta", - "Beth", - "Better", - "Betty", - "Between", - "Beverly", - "Beyond", - "Bible", - "Bibliography", - "Biden", - "Big", - "Bij", - "Bill", - "Billboard", - "Bills", - "Billy", - "Binary", - "Bio", - "Biography", - "Biology", - "Bird", - "Birmingham", - "Birth", - "Birthday", - "Bishop", - "Bitcoin", - "Black", - "Blake", - "Block", - "Blog", - "Blood", - "Bloomberg", - "Blue", - "Blueprint", - "Blues", - "Bo", - "Board", - "Bob", - "Bobby", - "Bodies", - "Body", - "Bold", - "Bonaparte", - "Bond", - "Book", - "Books", - "Bool", - "Boolean", - "Boot", - "Bootstrap", - "Border", - "Boris", - "Born", - "Boss", - "Boston", - "Bot", - "Both", - "Bottom", - "Bowl", - "Box", - "Boy", - "Boys", - "Brad", - "Bradley", - "Brain", - "Branch", - "Brand", - "Brandon", - "Brasil", - "Brazil", - "Brazilian", - "Break", - "Breaking", - "Bremen", - "Brett", - "Brexit", - "Brian", - "Bridge", - "Brief", - "Brien", - "Brigade", - "Bristol", - "Britain", - "British", - "Broadway", - "Bronze", - "Brook", - "Brooklyn", - "Brooks", - "Bros", - "Brother", - "Brotherhood", - "Brothers", - "Brown", - "Browse", - "Browser", - "Bruce", - "Bruno", - "Bryant", - "Bu", - "Buck", - "Buddha", - "Buddhist", - "Budget", - "Buenos", - "Buffalo", - "Buffer", - "Bug", - "Build", - "Builder", - "Building", - "Buildings", - "Built", - "Bulgarian", - "Bull", - "Bulls", - "Bundle", - "Bureau", - "Burns", - "Bus", - "Bush", - "Business", - "But", - "Button", - "Buy", - "By", - "Byron", - "C", - "CA", - "CASCADE", - "CB", - "CBC", - "CBD", - "CBS", - "CC", - "CD", - "CDC", - "CE", - "CENTER", - "CEO", - "CF", - "CH", - "CHARACTER", - "CHECK", - "CI", - "CIA", - "CLASS", - "CLI", - "CLIENT", - "CM", - "CMD", - "CN", - "CNN", - "CO", - "CODE", - "COLOR", - "COM", - "CONFIG", - "CONNECTION", - "COPYRIGHT", - "COUNT", - "COVID", - "CP", - "CPU", - "CR", - "CREATE", - "CS", - "CSS", - "CSV", - "CT", - "CV", - "Ca", - "Cabinet", - "Cable", - "Cache", - "Cal", - "Calculate", - "Calculator", - "Calendar", - "California", - "Call", - "Called", - "Cambridge", - "Camden", - "Camera", - "Camp", - "Campaign", - "Campbell", - "Campo", - "Campus", - "Can", - "Canada", - "Canadian", - "Canal", - "Cancel", - "Cancer", - "Cannot", - "Canon", - "Canvas", - "Cap", - "Cape", - "Capital", - "Captain", - "Caption", - "Car", - "Carbon", - "Card", - "Cardinal", - "Cards", - "Care", - "Career", - "Caribbean", - "Carl", - "Carlo", - "Carlos", - "Carol", - "Carolina", - "Caroline", - "Carroll", - "Cars", - "Cart", - "Carter", - "Casa", - "Case", - "Cases", - "Casey", - "Cash", - "Casino", - "Cast", - "Castle", - "Castro", - "Cat", - "Categories", - "Category", - "Catherine", - "Catholic", - "Cave", - "Ce", - "Cecil", - "Celebrity", - "Cell", - "Celtic", - "Cemetery", - "Center", - "Centers", - "Central", - "Centre", - "Centro", - "Century", - "Certificate", - "Ces", - "Cette", - "Ch", - "Chain", - "Chair", - "Chairman", - "Challenge", - "Chamber", - "Champion", - "Champions", - "Championship", - "Championships", - "Chan", - "Chang", - "Change", - "Changed", - "Changes", - "Channel", - "Chapel", - "Chapter", - "CharField", - "Character", - "Characters", - "Charles", - "Charleston", - "Charlie", - "Charlotte", - "Chart", - "Charter", - "Charts", - "Chase", - "Chat", - "Check", - "Chef", - "Chelsea", - "Chemical", - "Chemistry", - "Chen", - "Cherokee", - "Cherry", - "Chess", - "Chester", - "Chi", - "Chicago", - "Chief", - "Child", - "Children", - "Chile", - "China", - "Chinese", - "Choice", - "Choose", - "Chr", - "Chris", - "Christ", - "Christian", - "Christianity", - "Christians", - "Christina", - "Christine", - "Christmas", - "Christopher", - "Chrome", - "Chronicle", - "Chronicles", - "Chuck", - "Church", - "Churches", - "Churchill", - "Cinema", - "Circle", - "Circuit", - "Citation", - "Cities", - "Citizens", - "City", - "Ciudad", - "Civil", - "Claims", - "Claire", - "Clare", - "Clark", - "Class", - "Classes", - "Classic", - "Classical", - "Classification", - "Claude", - "Clay", - "Clayton", - "Clean", - "Clear", - "Cleveland", - "Click", - "Client", - "Cliente", - "Climate", - "Clinical", - "Clinton", - "Clock", - "Clone", - "Close", - "Cloud", - "Club", - "Co", - "Coach", - "Coal", - "Coast", - "Code", - "Coffee", - "Cohen", - "Col", - "Cola", - "Cold", - "Cole", - "Colin", - "Collection", - "Collections", - "College", - "Collins", - "Colombia", - "Colombian", - "Colonel", - "Color", - "Colorado", - "Colors", - "Columbia", - "Columbus", - "Column", - "Com", - "Combat", - "Combined", - "Come", - "Comedy", - "Comic", - "Coming", - "Command", - "Commander", - "Commands", - "Comment", - "Comments", - "Commerce", - "Commercial", - "Commission", - "Commissioner", - "Committee", - "Common", - "Commons", - "Commonwealth", - "Communication", - "Communist", - "Communities", - "Community", - "Como", - "Companies", - "Company", - "Compare", - "Compatible", - "Competition", - "Complete", - "Complex", - "Component", - "Components", - "Computer", - "Computing", - "Con", - "Concert", - "Confederate", - "Conference", - "Config", - "Configuration", - "Configure", - "Congress", - "Congressional", - "Connect", - "Connected", - "Connecticut", - "Connection", - "Connor", - "Conservation", - "Conservative", - "Consider", - "Console", - "Constants", - "Constitution", - "Constitutional", - "Construction", - "Constructor", - "Consumer", - "Contact", - "Container", - "Contains", - "Contemporary", - "Content", - "Contents", - "Contest", - "Context", - "Continental", - "Continue", - "Contract", - "Control", - "Controller", - "Controllers", - "Controls", - "Conv", - "Convention", - "Convert", - "Converting", - "Conway", - "Cook", - "Cookie", - "Cool", - "Cooper", - "Copy", - "Copyright", - "Core", - "Corner", - "Cornwall", - "Corona", - "Corp", - "Corporate", - "Corps", - "Cost", - "Costa", - "Cotton", - "Could", - "Council", - "Count", - "Counter", - "Countries", - "Country", - "County", - "Course", - "Court", - "Courts", - "Cover", - "Coverage", - "Covid", - "Craig", - "Create", - "Created", - "Creates", - "Creating", - "Creation", - "Creative", - "Creator", - "Credit", - "Credits", - "Creek", - "Crime", - "Criminal", - "Crisis", - "Critical", - "Critics", - "Croatia", - "Croatian", - "Cross", - "Crown", - "Cruz", - "Crystal", - "Cu", - "Cuba", - "Cuban", - "Cultural", - "Culture", - "Cup", - "Currency", - "Current", - "Currently", - "Curtis", - "Custom", - "Customer", - "Cut", - "Czech", - "C”", - "C", - "D", - "DA", - "DATA", - "DATABASE", - "DATE", - "DB", - "DC", - "DD", - "DE", - "DEBUG", - "DEFAULT", - "DELETE", - "DESC", - "DIR", - "DJ", - "DN", - "DNA", - "DNS", - "DO", - "DOCTYPE", - "DOM", - "DOS", - "DOWN", - "DR", - "DROP", - "DS", - "DVD", - "Da", - "Dad", - "Daily", - "Dal", - "Dallas", - "Dam", - "Dan", - "Dana", - "Dance", - "Dancing", - "Daniel", - "Danish", - "Danny", - "Dans", - "Dark", - "Darwin", - "Das", - "Dashboard", - "Data", - "DataFrame", - "Database", - "Dataset", - "Date", - "DateTime", - "Dating", - "Dave", - "David", - "Davies", - "Davis", - "Dawn", - "Day", - "Days", - "De", - "Dead", - "Deal", - "Dean", - "Dear", - "Death", - "Deaths", - "Debug", - "Dec", - "December", - "Decision", - "Declaration", - "Deep", - "Default", - "Defence", - "Defense", - "Define", - "Definition", - "Del", - "Delaware", - "Delete", - "Delhi", - "Dell", - "Delta", - "Demo", - "Democrat", - "Democratic", - "Democrats", - "Demographics", - "Den", - "Denis", - "Dennis", - "Dense", - "Denver", - "Department", - "Dependencies", - "Deploy", - "Depression", - "Der", - "Derek", - "Des", - "Description", - "Desert", - "Design", - "Designer", - "Desktop", - "Despite", - "Det", - "Detail", - "Details", - "Detection", - "Detroit", - "Dette", - "Deutsche", - "Deutschland", - "Dev", - "Developer", - "Development", - "Device", - "Devil", - "Deze", - "Di", - "Dialog", - "Diamond", - "Diana", - "Dick", - "Dict", - "Dictionary", - "Did", - "Die", - "Diego", - "Dies", - "Diese", - "Diet", - "Different", - "Digital", - "Digite", - "Din", - "Dir", - "Direct", - "Direction", - "Director", - "Directors", - "Directory", - "Discord", - "Discovery", - "Discussion", - "Disease", - "Disney", - "Display", - "Distance", - "Distinguished", - "Distribution", - "District", - "Districts", - "Dit", - "Divine", - "Division", - "Django", - "Do", - "Doc", - "Docker", - "Doctor", - "Document", - "Documentary", - "Documentation", - "Documents", - "Does", - "Dog", - "Dogs", - "Dollar", - "Dom", - "Domain", - "Domini", - "Dominican", - "Don", - "Donald", - "Done", - "Door", - "Dorothy", - "Double", - "Doug", - "Douglas", - "Down", - "Download", - "Downloaded", - "Downloads", - "Downtown", - "Dr", - "Draft", - "Dragon", - "Drake", - "Drama", - "Draw", - "Drawing", - "Dream", - "Dreams", - "Drew", - "Drive", - "Driver", - "Drop", - "Drug", - "Du", - "Dubai", - "Duck", - "Due", - "Duke", - "Duncan", - "Durante", - "Duration", - "During", - "Dutch", - "Dynamic", - "Dynasty", - "E", - "EA", - "EC", - "ED", - "EDT", - "EMAIL", - "EN", - "END", - "ENGINE", - "ENV", - "EOF", - "EP", - "EPA", - "ERA", - "ERROR", - "ES", - "ESP", - "ESPN", - "EST", - "ET", - "EU", - "EUR", - "EVENT", - "EXIT", - "Each", - "Eagle", - "Eagles", - "Earl", - "Earlier", - "Early", - "Earth", - "East", - "Easter", - "Eastern", - "Easy", - "Echo", - "Eclipse", - "Economic", - "Economics", - "Economy", - "Ed", - "Eddie", - "Edgar", - "Edge", - "Edinburgh", - "Edit", - "Edition", - "Editor", - "Editorial", - "Edmonton", - "Edmund", - "Education", - "Educational", - "Edward", - "Een", - "Effect", - "Effects", - "Efter", - "Egypt", - "Egyptian", - "Eight", - "Ein", - "Eine", - "Einstein", - "Either", - "El", - "Elder", - "Eleanor", - "Election", - "Elections", - "Electoral", - "Electric", - "Electronic", - "Element", - "Elementary", - "Elements", - "Elite", - "Elizabeth", - "Elle", - "Ellen", - "Ellis", - "Els", - "Em", - "Email", - "Emergency", - "Emil", - "Emily", - "Emma", - "Emmy", - "Emperor", - "Empire", - "Employee", - "Employment", - "Empty", - "En", - "Enable", - "End", - "Ende", - "Enemy", - "Energy", - "Engine", - "Engineer", - "Engineering", - "Engineers", - "England", - "English", - "Enhanced", - "Enter", - "Enterprise", - "Entertainment", - "Entity", - "Entre", - "Entry", - "Environment", - "Environmental", - "Epic", - "Episcopal", - "Episode", - "Episodes", - "Equal", - "Equipment", - "Er", - "Era", - "Eric", - "Erik", - "Ernest", - "Error", - "Es", - "España", - "Essay", - "Essential", - "Essex", - "Est", - "Esta", - "Estado", - "Estados", - "Estate", - "Este", - "Estonian", - "Et", - "Ett", - "Euro", - "Europa", - "Europe", - "European", - "Eva", - "Eve", - "Even", - "Evening", - "Event", - "Events", - "Eventually", - "Ever", - "Every", - "Everyone", - "Everything", - "Evidence", - "Evil", - "Evolution", - "Ex", - "Example", - "Examples", - "Excel", - "Exception", - "Exchange", - "Execute", - "Executive", - "Exercise", - "Exhibition", - "Exit", - "Expected", - "Experience", - "Expert", - "Explorer", - "Export", - "Express", - "Expression", - "Extended", - "Extension", - "Extensions", - "Externa", - "External", - "Extra", - "Extract", - "Eye", - "Eyes", - "Ez", - "F", - "FA", - "FALSE", - "FAQ", - "FB", - "FBI", - "FC", - "FDA", - "FF", - "FIFA", - "FILE", - "FILES", - "FITNESS", - "FK", - "FL", - "FLAG", - "FLAGS", - "FM", - "FOR", - "FORMAT", - "FR", - "FREE", - "FROM", - "Face", - "Facebook", - "Factor", - "Factory", - "Facts", - "Faculty", - "Failed", - "Fair", - "Faith", - "Fall", - "Falls", - "False", - "Fame", - "Familie", - "Family", - "Famous", - "Fan", - "Fantasy", - "Far", - "Farm", - "Fashion", - "Fast", - "Fat", - "Fatal", - "Father", - "Fe", - "Fear", - "Feature", - "Featured", - "Features", - "Feb", - "Februar", - "February", - "Fed", - "Federal", - "Federation", - "Fee", - "Feed", - "Feel", - "Fellow", - "Female", - "Ferdinand", - "Ferguson", - "Fernando", - "Ferry", - "Festival", - "Few", - "Fi", - "Fiction", - "Field", - "Fields", - "Fifth", - "Fig", - "Fight", - "Fighter", - "Fighting", - "Figure", - "File", - "Filed", - "Files", - "Filipino", - "Fill", - "Film", - "Films", - "Filter", - "Final", - "Finally", - "Finals", - "Finance", - "Financial", - "Find", - "Finding", - "Fine", - "Finland", - "Finnish", - "Fire", - "Firebase", - "Firefox", - "First", - "Fischer", - "Fish", - "Fisher", - "Five", - "Fix", - "Fixed", - "Flag", - "Flash", - "Flask", - "Fleet", - "Flight", - "Float", - "Floor", - "Flora", - "Florence", - "Florida", - "Flow", - "Flutter", - "Flying", - "Focus", - "Foi", - "Folk", - "Follow", - "Following", - "Font", - "Food", - "Foods", - "Football", - "Footer", - "For", - "Forbes", - "Force", - "Forces", - "Ford", - "Foreign", - "Forest", - "Forever", - "Fork", - "Form", - "Format", - "Formation", - "Former", - "Forms", - "Formula", - "Fort", - "Fortune", - "Forum", - "Forums", - "Forward", - "Foster", - "Found", - "Foundation", - "Founded", - "Four", - "Fourth", - "Fox", - "Fr", - "Fra", - "Fragment", - "Frame", - "Framework", - "France", - "Frances", - "Francesco", - "Francis", - "Francisco", - "Franco", - "Frank", - "Franklin", - "Franz", - "François", - "Fred", - "Frederick", - "Free", - "Freedom", - "Freeman", - "French", - "Fresh", - "Friday", - "Friend", - "Friends", - "From", - "Front", - "Frontend", - "Fu", - "Full", - "Fun", - "Function", - "Functions", - "Fund", - "Further", - "Furthermore", - "Future", - "För", - "G", - "GA", - "GB", - "GDP", - "GET", - "GL", - "GM", - "GMT", - "GNU", - "GO", - "GOP", - "GP", - "GPIO", - "GPL", - "GPS", - "GPU", - "GREEN", - "GROUP", - "GT", - "GUI", - "Gabriel", - "Galaxy", - "Gallery", - "Game", - "GameObject", - "Games", - "Gaming", - "Gandhi", - "Gang", - "Gap", - "García", - "Garden", - "Gardens", - "Gary", - "Gas", - "Gate", - "Gates", - "Gateway", - "Gay", - "Gaza", - "Gen", - "Gender", - "Gene", - "General", - "Generally", - "Generate", - "Generated", - "Generation", - "Generator", - "Generic", - "Genesis", - "Genre", - "Geography", - "Georg", - "George", - "Georgetown", - "Georgia", - "Georgian", - "German", - "Germans", - "Germany", - "Get", - "Gets", - "Getting", - "Getty", - "Ghost", - "Giant", - "Gift", - "Gil", - "Girl", - "Girls", - "Git", - "GitHub", - "Github", - "Give", - "Given", - "Glasgow", - "Glass", - "Glen", - "Gli", - "Global", - "Globe", - "Glory", - "Go", - "Goal", - "Goals", - "God", - "Gods", - "Goes", - "Going", - "Gold", - "Golden", - "Golf", - "Gone", - "González", - "Good", - "Google", - "Gordon", - "Gospel", - "Got", - "Gov", - "Government", - "Governor", - "Grace", - "Grade", - "Graduate", - "Graf", - "Graham", - "Grammar", - "Grammy", - "Gran", - "Grand", - "Grande", - "Grant", - "Graph", - "Graphics", - "Gray", - "Great", - "Greater", - "Greatest", - "Greece", - "Greek", - "Greeks", - "Green", - "Greg", - "Gregory", - "Grey", - "Grid", - "Ground", - "Group", - "Groups", - "Growing", - "Growth", - "Guard", - "Guardian", - "Guards", - "Guest", - "Guide", - "Guidelines", - "Guild", - "Guinea", - "Guitar", - "Gujarat", - "Gulf", - "Gun", - "Guy", - "G", - "G", - "H", - "HC", - "HD", - "HEAD", - "HEIGHT", - "HERE", - "HIGH", - "HIV", - "HOME", - "HOST", - "HP", - "HR", - "HTML", - "HTTP", - "Ha", - "Habsburg", - "Had", - "Hair", - "Haiti", - "Half", - "Hall", - "Halloween", - "Ham", - "Hamburg", - "Hamilton", - "Hampshire", - "Han", - "Hand", - "Handle", - "Handler", - "Hannah", - "Hans", - "Happy", - "Harbor", - "Hard", - "Hardware", - "Harper", - "Harris", - "Harry", - "Hart", - "Hartford", - "Harvard", - "Has", - "Hash", - "HashMap", - "Hassan", - "Hat", - "Have", - "Haven", - "Having", - "He", - "Head", - "Header", - "Headers", - "Health", - "Healthcare", - "Heart", - "Heat", - "Heath", - "Heaven", - "Heavy", - "Hebrew", - "Height", - "Heights", - "Heinrich", - "Helen", - "Hell", - "Hello", - "Help", - "Helper", - "Hence", - "Henderson", - "Henri", - "Henry", - "Her", - "Herbert", - "Here", - "Heritage", - "Herman", - "Hermann", - "Hero", - "Heroes", - "Herzog", - "Het", - "Hey", - "Hi", - "Hidden", - "Hide", - "High", - "Higher", - "Highland", - "Highway", - "Hij", - "Hill", - "Hillary", - "Hills", - "Him", - "Hindi", - "Hindu", - "Hip", - "His", - "Hispanic", - "Historia", - "Historic", - "Historical", - "History", - "Hit", - "Hitler", - "Ho", - "Hockey", - "Hold", - "Holdings", - "Holiday", - "Holland", - "Hollywood", - "Holocaust", - "Holy", - "Home", - "HomePage", - "Homepage", - "Hon", - "Honda", - "Hong", - "Honor", - "Honours", - "Hood", - "Hook", - "Hope", - "Horn", - "Horror", - "Horse", - "Hospital", - "Host", - "Hot", - "Hotel", - "Hotels", - "Hour", - "Hours", - "House", - "Houses", - "Housing", - "Houston", - "How", - "Howard", - "However", - "Hr", - "Html", - "Http", - "Hub", - "Hudson", - "Hugh", - "Hughes", - "Hugo", - "Hull", - "Human", - "Hun", - "Hungarian", - "Hungary", - "Hunt", - "Hunter", - "Hurricane", - "Hz", - "I", - "IBM", - "IC", - "ICC", - "ID", - "IDE", - "IE", - "IEEE", - "IF", - "II", - "III", - "IL", - "IMAGE", - "IMG", - "IMPLIED", - "IN", - "INCLUDING", - "INCREMENT", - "INDEX", - "INFO", - "INPUT", - "INSERT", - "INT", - "INTEGER", - "INTO", - "IO", - "IOException", - "IP", - "IPv", - "IR", - "IRC", - "IS", - "ISBN", - "ISIS", - "ISO", - "IT", - "IV", - "IX", - "Ian", - "Ibn", - "Ice", - "Icon", - "Icons", - "Id", - "Ideas", - "Identity", - "If", - "Igor", - "Il", - "Illinois", - "Im", - "Image", - "Images", - "Immigration", - "Impact", - "Imperial", - "Implementation", - "Import", - "Important", - "In", - "Inc", - "Include", - "Including", - "Income", - "Indeed", - "Independence", - "Independent", - "Index", - "India", - "Indian", - "Indiana", - "Indianapolis", - "Indians", - "Indies", - "Indigenous", - "Individual", - "Indo", - "Indonesia", - "Indonesian", - "Indoor", - "Industrial", - "Industries", - "Industry", - "Infantry", - "Info", - "Information", - "Infrastructure", - "Init", - "Initial", - "Initialize", - "Initially", - "Initiative", - "Inn", - "Inner", - "Innovation", - "Input", - "Insert", - "Inside", - "Inspector", - "Instagram", - "Install", - "Installation", - "Installing", - "Instance", - "Instead", - "Institut", - "Institute", - "Institution", - "Instructions", - "Insurance", - "Int", - "Integer", - "Integration", - "Intel", - "Intelligence", - "Intent", - "Inter", - "Interactive", - "Interest", - "Interface", - "Interior", - "Internal", - "International", - "Internet", - "Interview", - "Into", - "Introduction", - "Invalid", - "Investigation", - "Investment", - "Invoice", - "Ion", - "Iowa", - "Iran", - "Iraq", - "Ireland", - "Irish", - "Iron", - "Irving", - "Is", - "Isaac", - "Isabel", - "Isabella", - "Islam", - "Islamic", - "Island", - "Islands", - "Isle", - "Israel", - "Israeli", - "Issue", - "Issues", - "István", - "It", - "Italia", - "Italian", - "Italy", - "Item", - "Items", - "Iterator", - "Its", - "Ivan", - "J", - "JOIN", - "JP", - "JS", - "JSON", - "JWT", - "Jack", - "Jackie", - "Jackson", - "Jacob", - "Jacques", - "Jake", - "James", - "Jamie", - "Jan", - "Jane", - "Januar", - "January", - "Japan", - "Japanese", - "Jason", - "Java", - "JavaScript", - "Javascript", - "Jay", - "Jazz", - "Je", - "Jean", - "Jeff", - "Jefferson", - "Jeffrey", - "Jennifer", - "Jenny", - "Jeremy", - "Jerry", - "Jersey", - "Jessica", - "Jesus", - "Jets", - "Jewish", - "Jews", - "Ji", - "Jim", - "Jimmy", - "Jin", - "Jo", - "Joan", - "Job", - "Jobs", - "Joe", - "Joel", - "Johan", - "Johannes", - "John", - "Johnny", - "Johns", - "Johnson", - "Join", - "Joint", - "Jon", - "Jonathan", - "Jones", - "Jordan", - "Jorge", - "Jos", - "Jose", - "Joseph", - "Josh", - "Joshua", - "José", - "Journal", - "Journey", - "Joy", - "Jr", - "Json", - "Juan", - "Judge", - "Jul", - "Juli", - "Julia", - "Julian", - "Julie", - "July", - "Jump", - "Jun", - "June", - "Junior", - "Jupiter", - "Just", - "Justice", - "Justin", - "K", - "KB", - "KC", - "KEY", - "KIND", - "Ka", - "Kaiser", - "Kane", - "Kansas", - "Karen", - "Karl", - "Kate", - "Katherine", - "Katie", - "Kay", - "Kazakhstan", - "Keep", - "Keith", - "Kelly", - "Ken", - "Kennedy", - "Kent", - "Kenya", - "Kerry", - "Kevin", - "Key", - "Keys", - "Keywords", - "Khan", - "Ki", - "Kid", - "Kids", - "Kill", - "Kim", - "Kind", - "King", - "Kingdom", - "Kings", - "Kirk", - "Kit", - "Kitchen", - "Kitt", - "Klein", - "Knight", - "Know", - "Knowledge", - "Known", - "Ko", - "Koch", - "Korea", - "Korean", - "Kr", - "Kumar", - "Kurt", - "Kyle", - "König", - "L", - "LA", - "LC", - "LCD", - "LED", - "LEFT", - "LENGTH", - "LGBT", - "LICENSE", - "LINE", - "LINEAR", - "LIST", - "LOCAL", - "LOG", - "LOGIN", - "LOW", - "LP", - "La", - "Lab", - "Label", - "Labels", - "Labor", - "Laboratory", - "Labour", - "Labs", - "Ladies", - "Lady", - "Lake", - "Lakers", - "Lambda", - "Lance", - "Land", - "Landing", - "Lane", - "Lang", - "Language", - "Languages", - "Lanka", - "Lankan", - "Laravel", - "Large", - "Larry", - "Lars", - "Las", - "Last", - "Late", - "Later", - "Latest", - "Latin", - "Launch", - "Laura", - "Lauren", - "Law", - "Lawrence", - "Laws", - "Layer", - "Layout", - "Le", - "Lead", - "Leader", - "Leaders", - "Leadership", - "Leading", - "League", - "Learn", - "Learning", - "Leave", - "Led", - "Lee", - "Left", - "Legacy", - "Legal", - "Legend", - "Legislative", - "Legislature", - "Lei", - "Length", - "Lenin", - "Leo", - "Leon", - "Leonardo", - "Leone", - "Leopold", - "Les", - "Less", - "Lesser", - "Let", - "Letter", - "Letters", - "Level", - "Lewis", - "León", - "Li", - "Liberal", - "Liberty", - "Libraries", - "Library", - "License", - "Licensed", - "Lieutenant", - "Life", - "Liga", - "Light", - "Lightning", - "Like", - "Lima", - "Limited", - "Lin", - "Lincoln", - "Linda", - "Line", - "Linear", - "Lines", - "Link", - "LinkedIn", - "Links", - "Linux", - "Lion", - "Lions", - "Lisa", - "List", - "ListView", - "Lista", - "Liste", - "Listed", - "Listen", - "Lists", - "Literary", - "Literature", - "Lithuanian", - "Little", - "Liu", - "Live", - "Liverpool", - "Lives", - "Living", - "Lo", - "Load", - "Loading", - "Local", - "Located", - "Location", - "Lock", - "Log", - "Logan", - "Logger", - "Logic", - "Login", - "Logo", - "London", - "Long", - "Look", - "Looking", - "Loop", - "Lord", - "Lorem", - "Lorenzo", - "Los", - "Loss", - "Lost", - "Lou", - "Louis", - "Louisiana", - "Love", - "Low", - "Lower", - "Lt", - "Ltd", - "Lu", - "Lucas", - "Lucky", - "Lucy", - "Ludwig", - "Luigi", - "Luis", - "Luke", - "Luxembourg", - "Lynn", - "L‘", - "M", - "MA", - "MAC", - "MAP", - "MAX", - "MB", - "MBA", - "MC", - "MD", - "ME", - "MERCHANTABILITY", - "MESSAGE", - "META", - "METHOD", - "MHz", - "MI", - "MIN", - "MIT", - "ML", - "MM", - "MODE", - "MODEL", - "MODULE", - "MORE", - "MP", - "MS", - "MSG", - "MT", - "MW", - "MY", - "Ma", - "Mac", - "Machine", - "Mad", - "Made", - "Madison", - "Madrid", - "Mae", - "Magazine", - "Magic", - "Maharashtra", - "Mai", - "Mail", - "Main", - "MainActivity", - "Major", - "Make", - "Makes", - "Making", - "Malaysia", - "Malaysian", - "Male", - "Males", - "Mali", - "Mall", - "Man", - "Management", - "Manager", - "Managing", - "Manchester", - "Manila", - "Mann", - "Manning", - "Manor", - "Manual", - "Manuel", - "Manufacturing", - "Many", - "Map", - "Maps", - "Mar", - "Marc", - "March", - "Marco", - "Marcus", - "Margaret", - "Mari", - "Maria", - "Marie", - "Marine", - "Marines", - "Mario", - "Maritime", - "Mark", - "Market", - "Marketing", - "Markets", - "Marriage", - "Mars", - "Marshal", - "Marshall", - "Martin", - "Marvel", - "Marx", - "Mary", - "María", - "Mason", - "Mass", - "Massachusetts", - "Master", - "Masters", - "Mat", - "Match", - "Material", - "Materials", - "Math", - "Matrix", - "Matt", - "Matter", - "Matthew", - "Maurice", - "Max", - "Maximum", - "May", - "Maya", - "Maybe", - "Mayor", - "Me", - "Mean", - "Meanwhile", - "Med", - "Medal", - "Media", - "Medical", - "Medicine", - "Medieval", - "Mediterranean", - "Medium", - "Meet", - "Meeting", - "Melbourne", - "Member", - "Members", - "Memorial", - "Memory", - "Memphis", - "Men", - "Mental", - "Menu", - "MenuItem", - "Mercedes", - "Mercury", - "Merit", - "Mesa", - "Message", - "Messages", - "Met", - "Meta", - "Metal", - "Method", - "Methodist", - "Methods", - "Metro", - "Metropolitan", - "Mexican", - "Mexico", - "Meyer", - "Mi", - "Miami", - "Michael", - "Michel", - "Michelle", - "Michigan", - "Microsoft", - "Mid", - "Middle", - "Migration", - "Miguel", - "Mike", - "Milan", - "Mile", - "Miles", - "Military", - "Mill", - "Miller", - "Million", - "Milwaukee", - "Min", - "Mind", - "Mine", - "Ming", - "Mini", - "Mining", - "Minister", - "Ministers", - "Ministry", - "Minnesota", - "Minor", - "Minutes", - "Mirror", - "Miss", - "Missing", - "Mission", - "Mississippi", - "Missouri", - "Mit", - "Mitchell", - "Mix", - "Mixed", - "Mo", - "Mobile", - "Mock", - "Modal", - "Mode", - "Model", - "Models", - "Modern", - "Modified", - "Module", - "Mom", - "Mon", - "Monday", - "Money", - "Monitor", - "Monster", - "Mont", - "Monte", - "Montenegro", - "Montgomery", - "Month", - "Monthly", - "Montreal", - "Monument", - "Moon", - "Moore", - "More", - "Moreover", - "Morgan", - "Morning", - "Morocco", - "Morris", - "Morrison", - "Moscow", - "Moses", - "Most", - "Mother", - "Moths", - "Motion", - "Motor", - "Mount", - "Mountain", - "Mountains", - "Mouse", - "Move", - "Movement", - "Movie", - "Movies", - "Moving", - "Mozilla", - "Mp", - "Mr", - "Mrs", - "Ms", - "Mt", - "Much", - "Muhammad", - "Multi", - "Multiple", - "Mumbai", - "Municipal", - "Murder", - "Murphy", - "Murray", - "Museum", - "Museums", - "Music", - "Musical", - "Musicians", - "Muslim", - "Muslims", - "Must", - "My", - "MySQL", - "Myanmar", - "Mystery", - "N", - "NA", - "NAME", - "NASA", - "NBA", - "NBC", - "NC", - "NET", - "NEW", - "NEWS", - "NFL", - "NGC", - "NH", - "NK", - "NO", - "NODE", - "NOT", - "NOTE", - "NOW", - "NS", - "NT", - "NULL", - "NUM", - "NUMBER", - "NY", - "NYSE", - "Na", - "Nach", - "Nam", - "Name", - "Named", - "Names", - "Nancy", - "Napoleon", - "Nash", - "Nashville", - "Nassau", - "Nathan", - "Nation", - "National", - "Nations", - "Native", - "Natural", - "Nature", - "Nav", - "Naval", - "Navigate", - "Navigation", - "Navigator", - "Navy", - "Nazi", - "Ne", - "Neal", - "Near", - "Nearly", - "Nebraska", - "Nederland", - "Need", - "Neil", - "Neill", - "Neither", - "Nel", - "Nelson", - "Neo", - "Net", - "Netflix", - "Netherlands", - "Network", - "Networks", - "Neural", - "Never", - "Nevertheless", - "New", - "News", - "Newsletter", - "Newton", - "Next", - "Nice", - "Nicholas", - "Nick", - "Nicole", - "Nielsen", - "Nigeria", - "Night", - "Nike", - "Nine", - "Nintendo", - "Nixon", - "No", - "Nobel", - "Noble", - "Nobody", - "Node", - "Nome", - "Non", - "None", - "Nord", - "Norfolk", - "Normal", - "Norman", - "North", - "Northeast", - "Northern", - "Northwest", - "Northwestern", - "Norway", - "Norwegian", - "Nossa", - "Not", - "Notable", - "Note", - "Notes", - "Nothing", - "Notice", - "Notre", - "Nov", - "Nova", - "Novel", - "November", - "Now", - "Nr", - "Nu", - "Nuclear", - "Nueva", - "Number", - "Numbers", - "N", - "När", - "O", - "OAuth", - "OF", - "OFF", - "OH", - "OK", - "OLD", - "ON", - "ONE", - "OPTIONS", - "OR", - "ORDER", - "OS", - "OTHER", - "OUT", - "OUTPUT", - "Oak", - "Obama", - "Object", - "Objects", - "Observable", - "Observatory", - "Observer", - "Obviously", - "Ocean", - "Oct", - "October", - "Od", - "Of", - "Off", - "Office", - "Officer", - "Officers", - "Official", - "Officials", - "Often", - "Oh", - "Ohio", - "Oil", - "Ok", - "Oklahoma", - "Old", - "Ole", - "Oliver", - "Olympic", - "Olympics", - "Om", - "On", - "Once", - "One", - "Online", - "Only", - "Ontario", - "Ook", - "Op", - "Open", - "Opening", - "Opens", - "Opera", - "Operating", - "Operation", - "Operations", - "Opinion", - "Opposition", - "Option", - "Optional", - "Options", - "Or", - "Oracle", - "Orange", - "Orchestra", - "Order", - "Orders", - "Oregon", - "Organisation", - "Organization", - "Organizations", - "Orient", - "Oriental", - "Origin", - "Original", - "Originally", - "Origins", - "Orlando", - "Orleans", - "Orthodox", - "Os", - "Oscar", - "Other", - "Others", - "Otherwise", - "Ottawa", - "Our", - "Out", - "Output", - "Outside", - "Outstanding", - "Over", - "Overall", - "Override", - "Overview", - "Own", - "Owner", - "Oxford", - "P", - "PA", - "PAGE", - "PASSWORD", - "PATH", - "PBS", - "PC", - "PDF", - "PE", - "PHP", - "PI", - "PIL", - "PIN", - "PM", - "PNG", - "PORT", - "POST", - "PP", - "PR", - "PREFIX", - "PRIMARY", - "PROJECT", - "PS", - "PT", - "PUBLIC", - "PUT", - "Pa", - "Pacific", - "Pack", - "Package", - "Page", - "Pages", - "Pain", - "Paint", - "Pakistan", - "Pakistani", - "Palace", - "Palestinian", - "Palm", - "Pan", - "Panel", - "Papa", - "Paper", - "Papers", - "Papua", - "Par", - "Para", - "Paradise", - "Parameter", - "Parameters", - "Parent", - "Parents", - "Paris", - "Park", - "Parker", - "Parliament", - "Parliamentary", - "Parse", - "Parser", - "Part", - "Partner", - "Partners", - "Partnership", - "Parts", - "Party", - "Pass", - "Password", - "Past", - "Pat", - "Patent", - "Path", - "Patient", - "Patrick", - "Pattern", - "Patterson", - "Paul", - "Paulo", - "Pay", - "Payment", - "Pe", - "Peace", - "Peak", - "Pedro", - "Penis", - "Penn", - "Pennsylvania", - "People", - "Per", - "Pere", - "Perfect", - "Performance", - "Perhaps", - "Period", - "Permission", - "Perry", - "Persian", - "Person", - "Personal", - "Personnel", - "Perth", - "Peru", - "Pet", - "Pete", - "Peter", - "Ph", - "PhD", - "Phase", - "Phil", - "Philadelphia", - "Philip", - "Philippines", - "Philosophy", - "Phoenix", - "Phone", - "Photo", - "Photography", - "Photos", - "Physical", - "Physics", - "Pi", - "Piano", - "Pick", - "Picture", - "Pictures", - "Pierce", - "Pierre", - "Pin", - "Pine", - "Pink", - "Pinterest", - "Pioneer", - "Pipeline", - "Pittsburgh", - "Pizza", - "Place", - "Places", - "Plain", - "Plan", - "Planet", - "Planning", - "Plans", - "Plant", - "Plants", - "Platform", - "Play", - "Player", - "Players", - "Playing", - "Pleasant", - "Please", - "Plot", - "Plugin", - "Plus", - "Po", - "Pod", - "Poetry", - "Point", - "Points", - "Pokemon", - "Poland", - "Police", - "Policy", - "Polish", - "Political", - "Politicians", - "Politics", - "Poll", - "Pool", - "Poor", - "Pop", - "Pope", - "Popular", - "Population", - "Por", - "Port", - "Portal", - "Portfolio", - "Portland", - "Portrait", - "Portugal", - "Portuguese", - "Position", - "Post", - "Posted", - "Posts", - "Potter", - "Pour", - "Power", - "Powers", - "Practice", - "Prayer", - "Pre", - "Premier", - "Premium", - "Present", - "President", - "Presidential", - "Presidents", - "Press", - "Pretty", - "Preview", - "Previous", - "Previously", - "Pri", - "Price", - "Pride", - "Prima", - "Primary", - "Prime", - "Prince", - "Princess", - "Principal", - "Print", - "Printf", - "Prior", - "Priority", - "Prison", - "Privacy", - "Private", - "Prix", - "Prize", - "Pro", - "Problem", - "Problems", - "Process", - "Processing", - "Producer", - "Product", - "Production", - "Productions", - "Products", - "Prof", - "Professional", - "Professor", - "Profile", - "Program", - "Programme", - "Programming", - "Programs", - "Progress", - "Progressive", - "Project", - "Projects", - "Promise", - "Properties", - "Property", - "Props", - "Protected", - "Protection", - "Proto", - "Protocol", - "Provider", - "Province", - "Provincial", - "Public", - "Publication", - "Publications", - "Published", - "Publisher", - "Publishers", - "Publishing", - "Puerto", - "Pull", - "Punjab", - "Purchase", - "Pure", - "Purple", - "Purpose", - "Push", - "Put", - "Putin", - "Python", - "På", - "Q", - "QB", - "QString", - "Qaeda", - "Qt", - "Quality", - "Quarter", - "Queen", - "Queens", - "Queensland", - "Query", - "Quest", - "Question", - "Questions", - "Queue", - "Quick", - "Quiz", - "Quote", - "R", - "RAF", - "RAM", - "RC", - "RE", - "READ", - "README", - "RED", - "REQUEST", - "REST", - "RF", - "RFC", - "RGB", - "RIGHT", - "RNA", - "ROM", - "ROOT", - "RS", - "RSS", - "RT", - "Ra", - "Rabbi", - "Race", - "Rachel", - "Racing", - "Radio", - "Rafael", - "Rail", - "Railroad", - "Rails", - "Railway", - "Rain", - "Rainbow", - "Raja", - "Ralph", - "Ram", - "Random", - "Range", - "Rate", - "Rather", - "Rating", - "Raw", - "Ray", - "Re", - "React", - "Read", - "Reader", - "Reading", - "Ready", - "Real", - "Reality", - "Really", - "Rebecca", - "Receipt", - "Recent", - "Recently", - "Reception", - "Recipe", - "Recipients", - "Recognition", - "Record", - "Recording", - "Records", - "Recovery", - "Recreation", - "Rectangle", - "Red", - "Reddit", - "Redis", - "Redux", - "Reed", - "Reference", - "Referenced", - "References", - "Reform", - "Regiment", - "Regina", - "Region", - "Regional", - "Register", - "Registration", - "Registry", - "Regular", - "Reich", - "Related", - "Relations", - "Release", - "Released", - "Relief", - "Religion", - "Religious", - "Remember", - "Remote", - "Remove", - "Rep", - "Replace", - "Reply", - "Report", - "Reporter", - "Reports", - "Repository", - "Representative", - "Representatives", - "Republic", - "Republican", - "Republicans", - "Request", - "Required", - "Requirements", - "Research", - "Reserve", - "Reserved", - "Reset", - "Resolution", - "Resort", - "Resource", - "Resources", - "Response", - "Rest", - "Restaurant", - "Result", - "Results", - "Resume", - "Retrieved", - "Return", - "Returns", - "Reuters", - "Rev", - "Revenue", - "Review", - "Reviews", - "Revival", - "Revolution", - "Revolutionary", - "Rex", - "Rey", - "Rice", - "Rich", - "Richard", - "Richards", - "Richmond", - "Rick", - "Ridge", - "Right", - "Rights", - "Ring", - "Rio", - "Rise", - "Rising", - "Risk", - "River", - "Rivers", - "Road", - "Roads", - "Rob", - "Robert", - "Roberts", - "Robin", - "Robinson", - "Robot", - "Rock", - "Rod", - "Rodriguez", - "Roger", - "Role", - "Roll", - "Rolling", - "Rom", - "Roma", - "Roman", - "Romance", - "Romanian", - "Romans", - "Rome", - "Romney", - "Ron", - "Room", - "Root", - "Rosa", - "Rose", - "Ross", - "Round", - "Route", - "Router", - "Routes", - "Row", - "Roy", - "Royal", - "Rs", - "Ruby", - "Rule", - "Rules", - "Run", - "Runner", - "Running", - "Runtime", - "Rural", - "Rush", - "Russell", - "Russia", - "Russian", - "Ruth", - "Ryan", - "S", - "SA", - "SC", - "SD", - "SDK", - "SDL", - "SE", - "SEC", - "SECRET", - "SELECT", - "SERVER", - "SERVICE", - "SESSION", - "SET", - "SF", - "SHA", - "SHORT", - "SI", - "SIZE", - "SK", - "SM", - "SMS", - "SO", - "SOFTWARE", - "SOURCE", - "SP", - "SQL", - "SQLException", - "SR", - "SS", - "SSH", - "SSL", - "ST", - "START", - "STATE", - "STATUS", - "STRING", - "SUCCESS", - "SW", - "Sa", - "Sacred", - "Safari", - "Safe", - "Safety", - "Said", - "Saint", - "Sale", - "Sales", - "Sally", - "Salt", - "Salvador", - "Sam", - "Same", - "Sample", - "Samsung", - "Samuel", - "San", - "Sand", - "Sanders", - "Sandra", - "Sankt", - "Sans", - "Sanskrit", - "Sant", - "Santa", - "Santo", - "Sara", - "Sarah", - "Saturday", - "Saudi", - "Save", - "Saxon", - "Say", - "Says", - "Scale", - "Scanner", - "Scene", - "Schedule", - "Schema", - "Schmidt", - "Scholar", - "School", - "Schools", - "Science", - "Scientific", - "Scientists", - "Score", - "Scotia", - "Scotland", - "Scott", - "Scottish", - "Scout", - "Screen", - "Screenshot", - "Script", - "Scripts", - "Se", - "Sea", - "Sean", - "Search", - "Season", - "Seattle", - "Second", - "Secondary", - "Secret", - "Secretary", - "Section", - "Security", - "See", - "Seeds", - "Select", - "Selected", - "Selection", - "Self", - "Semi", - "Sen", - "Senate", - "Senator", - "Send", - "Senior", - "Sep", - "Sept", - "September", - "Sequential", - "Serbia", - "Serbian", - "Serial", - "Serie", - "Series", - "Server", - "Service", - "Services", - "Session", - "Sessions", - "Set", - "Seth", - "Sets", - "Setting", - "Settings", - "Settlement", - "Setup", - "Seven", - "Several", - "Sex", - "Sexual", - "Shadow", - "Shah", - "Shakespeare", - "Shanghai", - "Shape", - "Share", - "Sharp", - "She", - "Sheet", - "Shell", - "Shield", - "Ship", - "Ships", - "Shop", - "Shopping", - "Shore", - "Short", - "Shortly", - "Shot", - "Should", - "Show", - "Shows", - "Si", - "Side", - "Sie", - "Sierra", - "Sign", - "Signal", - "Signs", - "Silent", - "Silver", - "Similar", - "Similarly", - "Simon", - "Simple", - "Simply", - "Simpson", - "Sin", - "Since", - "Singapore", - "Singer", - "Singh", - "Single", - "Singles", - "Sint", - "Sir", - "Sistema", - "Sister", - "Sisters", - "Site", - "Sites", - "Six", - "Size", - "Skills", - "Skip", - "Sky", - "Sleep", - "Slovak", - "Small", - "Smart", - "Smith", - "Snake", - "Snow", - "So", - "Social", - "Society", - "Socket", - "Software", - "Sol", - "Solar", - "Solo", - "Solution", - "Solutions", - "Som", - "Some", - "Someone", - "Something", - "Sometimes", - "Son", - "Song", - "Songs", - "Sons", - "Sony", - "Soon", - "Sophie", - "Sorry", - "Sort", - "Soul", - "Sound", - "Source", - "Sources", - "South", - "Southern", - "Soviet", - "Sox", - "Space", - "Spain", - "Spanish", - "Speaker", - "Speaking", - "Special", - "Species", - "Speech", - "Speed", - "Spencer", - "Spider", - "Spirit", - "Split", - "Sport", - "Sports", - "Spring", - "Springfield", - "Springs", - "Sprint", - "Squad", - "Squadron", - "Square", - "Sr", - "Sri", - "St", - "Stack", - "Staff", - "Stage", - "Stakes", - "Stalin", - "Stan", - "Stand", - "Standard", - "Standards", - "Standing", - "Stanley", - "Star", - "Stars", - "Start", - "Started", - "Starting", - "State", - "Statement", - "States", - "Stati", - "Static", - "Station", - "Statistical", - "Statistics", - "Stats", - "Status", - "Stay", - "Steam", - "Steel", - "Stefan", - "Step", - "Stephen", - "Steps", - "Steve", - "Steven", - "Still", - "Stock", - "Stone", - "Stop", - "Storage", - "Store", - "Stories", - "Storm", - "Story", - "Strange", - "Strategic", - "Strategy", - "Stream", - "Street", - "Streets", - "Strike", - "String", - "StringBuilder", - "Strip", - "Strong", - "Structure", - "Student", - "Students", - "Studies", - "Studio", - "Studios", - "Study", - "Style", - "Su", - "Sub", - "Subject", - "Submit", - "Subscribe", - "Subsequently", - "Success", - "Successfully", - "Such", - "Sud", - "Sue", - "Sugar", - "Suite", - "Sul", - "Sullivan", - "Sultan", - "Sum", - "Summary", - "Summer", - "Summit", - "Sun", - "Sunday", - "Super", - "Superior", - "Supply", - "Support", - "Supporting", - "Supreme", - "Sur", - "Sure", - "Surface", - "Surrey", - "Survey", - "Sus", - "Susan", - "Sussex", - "Swan", - "Sweden", - "Swedish", - "Sweet", - "Swift", - "Swimming", - "Swiss", - "Switch", - "Sydney", - "Symbol", - "Symphony", - "Synopsis", - "Syracuse", - "Syria", - "Syrian", - "System", - "Systems", - "Szent", - "São", - "T", - "TABLE", - "TAG", - "TARGET", - "TB", - "TC", - "TCP", - "TD", - "TEST", - "TEXT", - "THE", - "THIS", - "TIME", - "TO", - "TODO", - "TOKEN", - "TOP", - "TR", - "TRUE", - "TV", - "TX", - "TYPE", - "Ta", - "Tab", - "Table", - "Tables", - "Tag", - "Tagged", - "Tags", - "Take", - "Takes", - "Taking", - "Tale", - "Taliban", - "Talk", - "También", - "Tamil", - "Tampa", - "Tang", - "Tank", - "Target", - "Task", - "Tasks", - "Tax", - "Taylor", - "Te", - "Tea", - "Teacher", - "Teachers", - "Teaching", - "Team", - "Teams", - "Tech", - "Technical", - "Technologies", - "Technology", - "Ted", - "Teen", - "Teil", - "Tel", - "Telegraph", - "Television", - "Tell", - "Telugu", - "Temperature", - "Template", - "Templates", - "Temple", - "Ten", - "Tennis", - "Term", - "Terminal", - "Terms", - "Terra", - "Territory", - "Terror", - "Terry", - "Tesla", - "Test", - "Testing", - "Tests", - "Texas", - "Text", - "TextField", - "TextView", - "Thai", - "Thailand", - "Than", - "Thank", - "Thanks", - "That", - "The", - "Theater", - "Theatre", - "Their", - "Theme", - "Then", - "Theory", - "There", - "Therefore", - "These", - "They", - "Thing", - "Things", - "Think", - "Third", - "This", - "Thomas", - "Thompson", - "Thomson", - "Thor", - "Those", - "Though", - "Thread", - "Threading", - "Three", - "Through", - "Throughout", - "Thu", - "Thunder", - "Thursday", - "Thus", - "Ti", - "Tiger", - "Till", - "Tim", - "Time", - "Timeline", - "Timer", - "Times", - "Tips", - "Title", - "To", - "ToString", - "Toast", - "Tod", - "Today", - "Todd", - "Todo", - "Together", - "Toggle", - "Token", - "Tokyo", - "Tom", - "Tommy", - "Tomorrow", - "Tonight", - "Tony", - "Too", - "Tool", - "Tools", - "Top", - "Topic", - "Topics", - "Torah", - "Toronto", - "Torre", - "Tot", - "Total", - "Touch", - "Tour", - "Tourism", - "Tourist", - "Tournament", - "Tours", - "Tower", - "Town", - "Towns", - "Townships", - "Toyota", - "Track", - "Tracy", - "Trade", - "Trading", - "Traditional", - "Traffic", - "Trail", - "Train", - "Training", - "Trans", - "Transaction", - "Transfer", - "Transform", - "Transit", - "Translation", - "Transport", - "Transportation", - "Travel", - "Treasury", - "Treaties", - "Treatment", - "Treaty", - "Tree", - "Trees", - "Trevor", - "Trial", - "Triangle", - "Tribune", - "Trip", - "Triple", - "Trophy", - "True", - "Trump", - "Trust", - "Truth", - "Try", - "Tu", - "Tucker", - "Tuesday", - "Tunisia", - "Turkey", - "Turkish", - "Turn", - "Turner", - "Tutorial", - "Tweet", - "Twenty", - "Twin", - "Twitter", - "Two", - "Tyler", - "Type", - "TypeError", - "Types", - "Typography", - "U", - "UA", - "UC", - "UDP", - "UFC", - "UI", - "UK", - "UN", - "UP", - "UPDATE", - "URI", - "URL", - "URLs", - "US", - "USA", - "USB", - "USD", - "USE", - "USER", - "USERNAME", - "USS", - "UTC", - "UTF", - "UUID", - "UV", - "Ubuntu", - "Ukraine", - "Ukrainian", - "Ultimate", - "Ultra", - "Um", - "Uma", - "Un", - "Una", - "Unable", - "Uncle", - "Under", - "Underground", - "Understanding", - "Une", - "Unfortunately", - "Unicode", - "Union", - "Unit", - "Unite", - "United", - "Units", - "Unity", - "Universal", - "Universe", - "Universities", - "University", - "Unix", - "Unknown", - "Unless", - "Unlike", - "Until", - "Up", - "Update", - "Updated", - "Updates", - "Upload", - "Upon", - "Upper", - "Urban", - "Uri", - "Us", - "Usage", - "Use", - "Used", - "User", - "Username", - "Users", - "Uses", - "Using", - "Usually", - "Usuario", - "Utah", - "Utils", - "V", - "VA", - "VALUE", - "VALUES", - "VARCHAR", - "VERSION", - "VI", - "VIDEO", - "VIEW", - "VII", - "VIII", - "VM", - "VP", - "VS", - "Va", - "Val", - "Vale", - "Valid", - "Valle", - "Valley", - "Value", - "ValueError", - "Values", - "Van", - "Vancouver", - "Variable", - "Variables", - "Various", - "Vatican", - "Ve", - "Vec", - "Vector", - "Ved", - "Vegas", - "Vehicle", - "Venezuela", - "Venice", - "Venus", - "Ver", - "Vernon", - "Version", - "Very", - "Veterans", - "Vi", - "Via", - "Vice", - "Victor", - "Victoria", - "Victorian", - "Victory", - "Vid", - "Video", - "Videos", - "Vienna", - "Vietnam", - "Vietnamese", - "View", - "Views", - "Villa", - "Village", - "Villages", - "Vincent", - "Violence", - "Virgin", - "Virginia", - "Virtual", - "Vision", - "Visit", - "Vista", - "Visual", - "Voice", - "Vol", - "Volume", - "Von", - "Voor", - "Vote", - "Vue", - "V", - "W", - "WARNING", - "WHERE", - "WHITE", - "WHO", - "WIDTH", - "WIN", - "WITH", - "WITHOUT", - "Wade", - "Wait", - "Wake", - "Wales", - "Walk", - "Walker", - "Walking", - "Wall", - "Walsh", - "Walter", - "Wang", - "Want", - "War", - "Ward", - "Warner", - "Warning", - "Warren", - "Warriors", - "Wars", - "Warsaw", - "Was", - "Washington", - "Watch", - "Water", - "Waters", - "Wave", - "Way", - "Ways", - "We", - "Weather", - "Web", - "Webb", - "Weber", - "Website", - "Wed", - "Wedding", - "Wednesday", - "Week", - "Weekend", - "Weekly", - "Wei", - "Weight", - "Welcome", - "Well", - "Welsh", - "Were", - "Werner", - "West", - "Western", - "Westminster", - "What", - "Whatever", - "When", - "Where", - "Whether", - "Which", - "While", - "White", - "Whitney", - "Who", - "Why", - "Wi", - "Wide", - "Widget", - "Width", - "Wife", - "Wiki", - "Wikipedia", - "Wild", - "Will", - "William", - "Williams", - "Willis", - "Wilson", - "Win", - "Wind", - "Window", - "Windows", - "Wine", - "Wing", - "Wings", - "Winner", - "Winston", - "Winter", - "Wire", - "Wisconsin", - "With", - "Within", - "Without", - "Wolf", - "Woman", - "Women", - "Won", - "Wonder", - "Wood", - "Word", - "WordPress", - "Words", - "Work", - "Worker", - "Workers", - "Working", - "Works", - "Workshop", - "World", - "Worth", - "Would", - "Write", - "WriteLine", - "Writer", - "Writers", - "Writing", - "Written", - "Wrong", - "Wu", - "Wyoming", - "X", - "XI", - "XII", - "XIV", - "XML", - "XV", - "XX", - "Xbox", - "Xi", - "Y", - "YES", - "YOU", - "YOUR", - "Ya", - "Yahoo", - "Yale", - "Yang", - "Yeah", - "Year", - "Years", - "Yellow", - "Yes", - "Yesterday", - "Yet", - "Yi", - "York", - "Yorkshire", - "You", - "YouTube", - "Young", - "Your", - "Youth", - "Youtube", - "Yu", - "Yugoslav", - "Yugoslavia", - "Z", - "ZIP", - "Za", - "Zagreb", - "Ze", - "Zeit", - "Zero", - "Zhang", - "Zimbabwe", - "Zone", - "Zoo", - "[", - "[\"", - "['", - "[(", - "[-", - "[:", - "[@", - "[[", - "[]", - "[],", - "[];", - "[`", - "[{", - "[”", - "\\", - "\\\"", - "\\\\", - "\\”", - "]", - "])", - "],", - "];", - "^", - "^", - "_", - "_.", - "__", - "___", - "____", - "______", - "________", - "____________", - "________________", - "________________________", - "________________________________", - "________________________________________________", - "________________________________________________________________", - "_“", - "`", - "`-", - "`.", - "``", - "```", - "`”", - "`•", - "`", - "a", - "aC", - "aa", - "aan", - "ab", - "abandon", - "abandoned", - "abc", - "abd", - "abdul", - "abel", - "aber", - "abilities", - "ability", - "able", - "aboard", - "abolished", - "abort", - "abortion", - "about", - "above", - "abraham", - "abril", - "abroad", - "abs", - "absence", - "absent", - "absolute", - "absolutely", - "absorbed", - "absorption", - "abstract", - "abu", - "abundance", - "abundant", - "abuse", - "aby", - "ac", - "academic", - "academics", - "academy", - "acc", - "acceleration", - "accent", - "accept", - "acceptable", - "acceptance", - "accepted", - "accepts", - "access", - "accessed", - "accessibility", - "accessible", - "accessor", - "accident", - "accidents", - "acclaim", - "acclaimed", - "accommodate", - "accompanied", - "accompanying", - "accomplish", - "accomplished", - "accord", - "accordance", - "according", - "accordingly", - "accordion", - "account", - "accountability", - "accounting", - "accounts", - "accuracy", - "accurate", - "accusations", - "accused", - "ace", - "achieve", - "achieved", - "achievement", - "achievements", - "acid", - "acknowledge", - "acknowledged", - "acquire", - "acquired", - "acquisition", - "acre", - "acres", - "across", - "act", - "acted", - "acting", - "action", - "actions", - "activate", - "activated", - "activation", - "active", - "actively", - "activism", - "activist", - "activists", - "activities", - "activity", - "actor", - "actors", - "actress", - "actresses", - "acts", - "actual", - "actually", - "acute", - "ad", - "ada", - "adam", - "adapt", - "adaptation", - "adapted", - "adapter", - "adaptive", - "add", - "addClass", - "addEventListener", - "added", - "addiction", - "adding", - "addition", - "additional", - "additionally", - "additions", - "addon", - "addr", - "address", - "addressed", - "addresses", - "addressing", - "adds", - "adequate", - "adj", - "adjacent", - "adjust", - "adjusted", - "adjustment", - "admin", - "administered", - "administration", - "administrative", - "administrator", - "admiral", - "admission", - "admit", - "admits", - "admitted", - "adobe", - "adolf", - "adopt", - "adopted", - "adoption", - "ads", - "adult", - "advance", - "advanced", - "advancement", - "advances", - "advancing", - "advantage", - "advantages", - "advent", - "adventure", - "advertisement", - "advertising", - "advice", - "advised", - "advisor", - "advocate", - "ae", - "aerial", - "af", - "affair", - "affairs", - "affect", - "affected", - "affiliate", - "affiliated", - "afford", - "affordable", - "afghanistan", - "afraid", - "africa", - "african", - "afrika", - "after", - "aftermath", - "afternoon", - "afterward", - "afterwards", - "ag", - "again", - "against", - "age", - "aged", - "agencies", - "agency", - "agenda", - "agent", - "agents", - "ages", - "aggregate", - "aggressive", - "aging", - "agli", - "agnes", - "ago", - "agree", - "agreed", - "agreement", - "agreements", - "agrees", - "agricultural", - "agriculture", - "agua", - "ah", - "ahead", - "ai", - "aid", - "aide", - "aided", - "aids", - "ailleurs", - "aim", - "aimed", - "aims", - "ain", - "air", - "aircraft", - "aire", - "aired", - "aires", - "airline", - "airlines", - "airport", - "airports", - "aj", - "ajax", - "ak", - "aka", - "akan", - "aki", - "ako", - "al", - "alabama", - "alan", - "alarm", - "alaska", - "albeit", - "albert", - "album", - "albums", - "alcohol", - "ale", - "alert", - "alerts", - "ales", - "alex", - "alexander", - "alexandre", - "alfa", - "alfred", - "algebra", - "algo", - "algorithm", - "algorithms", - "ali", - "alias", - "aliases", - "alice", - "alien", - "align", - "aligned", - "alignment", - "alike", - "alive", - "all", - "alla", - "allah", - "allan", - "alle", - "allegations", - "alleged", - "allegedly", - "allen", - "alliance", - "allied", - "allies", - "allocated", - "allocation", - "allow", - "allowed", - "allowing", - "allows", - "ally", - "alma", - "almost", - "alone", - "along", - "alongside", - "alpha", - "alphabet", - "alps", - "already", - "als", - "also", - "alt", - "alta", - "altar", - "alte", - "alter", - "altered", - "alternate", - "alternative", - "alternatives", - "although", - "altitude", - "alto", - "altogether", - "altra", - "altres", - "altura", - "always", - "am", - "amateur", - "amazing", - "amazon", - "amazonaws", - "amb", - "ambassador", - "amber", - "ambient", - "amely", - "amended", - "amendment", - "amendments", - "america", - "american", - "americana", - "americans", - "amerika", - "amet", - "ami", - "amid", - "amino", - "amit", - "ammunition", - "among", - "amongst", - "amor", - "amount", - "amounts", - "amp", - "amplitude", - "amt", - "amusing", - "amy", - "américa", - "an", - "ana", - "anal", - "analog", - "analyse", - "analyses", - "analysis", - "analytical", - "analytics", - "analyze", - "analyzer", - "ancestor", - "ancestors", - "ancestry", - "anche", - "anchor", - "ancien", - "ancient", - "and", - "anden", - "anderen", - "anders", - "anderson", - "andet", - "andra", - "andre", - "andrea", - "andrew", - "andrews", - "android", - "andy", - "ang", - "angel", - "angeles", - "angelo", - "anger", - "angle", - "angles", - "anglican", - "angry", - "angular", - "ani", - "anii", - "animal", - "animals", - "animate", - "animated", - "animation", - "animations", - "anime", - "ankle", - "ann", - "anna", - "anne", - "annexed", - "anni", - "annie", - "anniversary", - "anno", - "annotation", - "annotations", - "announce", - "announced", - "announcement", - "annual", - "annually", - "année", - "ano", - "anonymous", - "anos", - "another", - "ans", - "ansible", - "answer", - "answered", - "answers", - "ant", - "antal", - "ante", - "anterior", - "antes", - "anthem", - "anthony", - "anti", - "antic", - "anticipated", - "antigua", - "antoine", - "anton", - "antoni", - "antonio", - "anxiety", - "any", - "anybody", - "anyone", - "anys", - "anything", - "anywhere", - "ao", - "aos", - "ap", - "apache", - "apart", - "apartment", - "apex", - "api", - "apis", - "apollo", - "app", - "apparent", - "apparently", - "appeal", - "appeals", - "appear", - "appearance", - "appearances", - "appeared", - "appearing", - "appears", - "append", - "appendChild", - "apple", - "applicable", - "application", - "applications", - "applied", - "applies", - "apply", - "applying", - "appointed", - "appointment", - "appointments", - "approach", - "approached", - "approaches", - "approaching", - "appropriate", - "approval", - "approve", - "approved", - "approximate", - "approximately", - "apps", - "apr", - "april", - "après", - "apt", - "ar", - "ara", - "arab", - "arabic", - "arbitrary", - "arc", - "arch", - "archaeological", - "archbishop", - "architect", - "architects", - "architectural", - "architecture", - "archive", - "archived", - "archives", - "archivo", - "arduino", - "are", - "area", - "areas", - "aren", - "arena", - "arg", - "argc", - "argentine", - "args", - "arguably", - "argue", - "argued", - "argues", - "argument", - "arguments", - "argv", - "aria", - "arial", - "arise", - "arithmetic", - "arizona", - "ark", - "arm", - "armed", - "armor", - "arms", - "army", - "arnold", - "arose", - "around", - "arquivo", - "arr", - "arrange", - "arranged", - "arrangement", - "array", - "arrays", - "arrest", - "arrested", - "arrests", - "arrival", - "arrive", - "arrived", - "arriving", - "arrow", - "arrows", - "arsenal", - "art", - "arte", - "arten", - "arter", - "arthur", - "article", - "articles", - "artifact", - "artifacts", - "artificial", - "artikel", - "artillery", - "artist", - "artistic", - "artists", - "arts", - "artwork", - "as", - "ascending", - "ascii", - "ash", - "ashley", - "asi", - "asia", - "asian", - "aside", - "ask", - "asked", - "asking", - "asks", - "asp", - "aspect", - "aspects", - "ass", - "assad", - "assassination", - "assault", - "assembled", - "assembly", - "assert", - "assertEqual", - "assertEquals", - "assertTrue", - "assertion", - "assessed", - "assessment", - "asset", - "assets", - "assign", - "assigned", - "assignment", - "assignments", - "assim", - "assist", - "assistance", - "assistant", - "assisted", - "assists", - "associate", - "associated", - "associates", - "association", - "associations", - "assume", - "assumed", - "assuming", - "assumption", - "assured", - "ast", - "astronomical", - "astronomy", - "async", - "at", - "atau", - "ate", - "athens", - "athlete", - "athletes", - "athletic", - "atlanta", - "atlantic", - "atlas", - "atmosphere", - "atmospheric", - "atom", - "atomic", - "atoms", - "att", - "attach", - "attached", - "attachment", - "attack", - "attacked", - "attacking", - "attacks", - "attempt", - "attempted", - "attempting", - "attempts", - "attend", - "attendance", - "attended", - "attending", - "attention", - "attitude", - "attitudes", - "attorney", - "attr", - "attracted", - "attractions", - "attractive", - "attribute", - "attributed", - "attributes", - "attribution", - "attrs", - "até", - "au", - "auch", - "auction", - "audience", - "audio", - "audit", - "auf", - "aug", - "august", - "aunque", - "aunt", - "aus", - "australia", - "australian", - "austria", - "austro", - "auth", - "authentic", - "authenticate", - "authenticated", - "authentication", - "author", - "authored", - "authorities", - "authority", - "authorization", - "authorize", - "authorized", - "authors", - "autism", - "auto", - "autobiography", - "automated", - "automatic", - "automatically", - "automation", - "automotive", - "autonomous", - "autor", - "autre", - "autres", - "autumn", - "aux", - "auxiliary", - "av", - "availability", - "available", - "avant", - "avatar", - "ave", - "avec", - "avenue", - "average", - "averaged", - "averaging", - "avg", - "aviation", - "avoid", - "avoided", - "avoiding", - "avoir", - "avut", - "await", - "award", - "awarded", - "awards", - "aware", - "awareness", - "away", - "awesome", - "aws", - "awt", - "ax", - "axes", - "axios", - "axis", - "ay", - "az", - "azerbaijan", - "azure", - "að", - "años", - "b", - "ba", - "babel", - "baby", - "bach", - "bachelor", - "back", - "backbone", - "backed", - "backend", - "backends", - "background", - "backgroundColor", - "backgrounds", - "backing", - "backs", - "backup", - "backward", - "backwards", - "bad", - "baden", - "badge", - "badly", - "bag", - "bags", - "bail", - "bal", - "balance", - "balanced", - "baldwin", - "ball", - "balloon", - "balls", - "ban", - "banana", - "band", - "bands", - "bandwidth", - "bang", - "bank", - "banking", - "banks", - "banned", - "banner", - "baptist", - "bar", - "bara", - "barbara", - "bare", - "barely", - "bark", - "barn", - "baron", - "barrel", - "barrier", - "barry", - "bars", - "bart", - "bas", - "base", - "baseball", - "based", - "baseline", - "basement", - "basename", - "bases", - "bash", - "basic", - "basically", - "basics", - "basin", - "basis", - "basket", - "basketball", - "bass", - "bassist", - "bat", - "batch", - "bath", - "battalion", - "batteries", - "battery", - "batting", - "battle", - "battlefield", - "battles", - "bay", - "bb", - "bbox", - "bc", - "bd", - "be", - "beach", - "beam", - "bean", - "beans", - "bear", - "beard", - "bearer", - "bearing", - "bears", - "beast", - "beat", - "beaten", - "beating", - "beats", - "beautiful", - "beauty", - "became", - "because", - "beck", - "become", - "becomes", - "becoming", - "bed", - "bedroom", - "beds", - "bee", - "beef", - "been", - "beer", - "before", - "began", - "begin", - "beginning", - "begins", - "begun", - "behalf", - "behavior", - "behaviors", - "behaviour", - "behind", - "bei", - "being", - "beings", - "belief", - "beliefs", - "believe", - "believed", - "believes", - "believing", - "bell", - "bella", - "bells", - "belong", - "belonged", - "belonging", - "belongs", - "beloved", - "below", - "belt", - "bem", - "ben", - "bench", - "benchmark", - "bend", - "beneath", - "beneficial", - "benefit", - "benefits", - "benjamin", - "bent", - "berg", - "bergen", - "berkeley", - "berlin", - "bernard", - "berry", - "bert", - "beside", - "besides", - "best", - "beste", - "bet", - "beta", - "beth", - "better", - "between", - "beyond", - "bez", - "bf", - "bg", - "bgcolor", - "bi", - "bias", - "bible", - "bicycle", - "bid", - "bien", - "big", - "bigger", - "biggest", - "bij", - "bike", - "bil", - "bill", - "billboard", - "billing", - "billion", - "billy", - "bin", - "binary", - "bind", - "binding", - "bins", - "bio", - "biographical", - "biography", - "biology", - "bir", - "bird", - "birds", - "birth", - "birthday", - "bis", - "bishop", - "bit", - "bitcoin", - "bite", - "bitmap", - "bits", - "bitter", - "bl", - "black", - "blade", - "blame", - "blamed", - "blanc", - "blank", - "blast", - "blend", - "blessed", - "bli", - "blind", - "blob", - "bloc", - "block", - "blockchain", - "blocked", - "blocking", - "blocks", - "blog", - "blogger", - "blogs", - "blood", - "bloom", - "blow", - "blown", - "blu", - "blue", - "blueprint", - "blues", - "bluetooth", - "blur", - "bn", - "bo", - "board", - "boarding", - "boards", - "boat", - "boats", - "bob", - "bobby", - "bod", - "bodies", - "body", - "bog", - "bold", - "bolt", - "bomb", - "bomber", - "bombing", - "bon", - "bonaparte", - "bond", - "bonds", - "bone", - "bones", - "bonus", - "book", - "booking", - "bookmark", - "books", - "bool", - "boolean", - "boom", - "boost", - "boot", - "boots", - "bootstrap", - "border", - "borders", - "bore", - "boring", - "boris", - "born", - "borough", - "borrowed", - "boss", - "boston", - "bot", - "both", - "boto", - "bottle", - "bottom", - "bought", - "bounce", - "bound", - "boundaries", - "boundary", - "bounded", - "bounds", - "bout", - "bow", - "bower", - "bowl", - "box", - "boxes", - "boxing", - "boy", - "boys", - "bp", - "br", - "bracket", - "brackets", - "bradley", - "brain", - "brake", - "branch", - "branches", - "brand", - "branded", - "brands", - "brasil", - "brass", - "brave", - "brazilian", - "breach", - "bread", - "break", - "breakdown", - "breakfast", - "breaking", - "breaks", - "breakthrough", - "breast", - "breath", - "bred", - "breed", - "breeding", - "bremen", - "brett", - "brew", - "brian", - "brick", - "bride", - "bridge", - "brief", - "briefly", - "brigade", - "bright", - "brightness", - "brilliant", - "bring", - "bringing", - "brings", - "bristol", - "brit", - "britain", - "british", - "broad", - "broadcast", - "broadcaster", - "broader", - "broadly", - "broadway", - "broke", - "broken", - "broker", - "bronze", - "brook", - "brooklyn", - "brooks", - "bros", - "brother", - "brotherhood", - "brothers", - "brought", - "brown", - "browse", - "browser", - "bruce", - "bruno", - "brush", - "brutal", - "bryant", - "bs", - "bt", - "btn", - "bu", - "bubble", - "buck", - "bucket", - "buddha", - "buddy", - "budget", - "buf", - "buff", - "buffalo", - "buffer", - "bug", - "bugs", - "build", - "builder", - "builders", - "building", - "buildings", - "builds", - "built", - "bulk", - "bull", - "bullet", - "bullets", - "bulls", - "bump", - "bunch", - "bundle", - "burden", - "bureau", - "burger", - "burial", - "buried", - "burn", - "burned", - "burning", - "burns", - "burnt", - "burst", - "bus", - "bush", - "business", - "businesses", - "businessman", - "bust", - "busy", - "but", - "butter", - "button", - "buttons", - "buy", - "buyer", - "buyers", - "buying", - "buzz", - "by", - "bye", - "byen", - "byron", - "byte", - "bytes", - "c", - "ca", - "cab", - "cabin", - "cabinet", - "cable", - "cache", - "cached", - "cada", - "café", - "cage", - "cairo", - "cake", - "cal", - "calc", - "calculate", - "calculated", - "calculation", - "calculations", - "calculator", - "calendar", - "california", - "call", - "callable", - "callback", - "callbacks", - "called", - "caller", - "calling", - "calls", - "calm", - "cam", - "came", - "camera", - "cameras", - "camp", - "campaign", - "campaigns", - "campbell", - "camping", - "campo", - "camps", - "campus", - "can", - "canada", - "canadian", - "canal", - "cancel", - "cancelled", - "cancer", - "candidate", - "candidates", - "cannon", - "cannot", - "canon", - "canonical", - "cant", - "cantidad", - "canvas", - "cao", - "cap", - "capabilities", - "capability", - "capable", - "capacity", - "cape", - "capital", - "capitalize", - "capitals", - "caps", - "captain", - "caption", - "capture", - "captured", - "captures", - "capturing", - "car", - "cara", - "carbon", - "card", - "cardiac", - "cardinal", - "cards", - "care", - "career", - "careers", - "careful", - "carefully", - "carey", - "cargo", - "caribbean", - "carl", - "carol", - "carolina", - "carousel", - "carpenter", - "carr", - "carried", - "carrier", - "carries", - "carroll", - "carry", - "carrying", - "cars", - "cart", - "carte", - "carter", - "cartoon", - "carved", - "cas", - "cascade", - "case", - "cases", - "casey", - "cash", - "casino", - "cast", - "casting", - "castle", - "castro", - "casualties", - "cat", - "catalog", - "catalogue", - "catalyst", - "catch", - "catching", - "categoria", - "categorical", - "categories", - "category", - "catherine", - "catholic", - "cats", - "cattle", - "caught", - "cause", - "caused", - "causes", - "causing", - "cavalry", - "cave", - "caves", - "cavity", - "cb", - "cbd", - "cc", - "cd", - "cdn", - "ce", - "cea", - "cease", - "ceased", - "cecil", - "cei", - "ceil", - "ceiling", - "cel", - "cele", - "celebrate", - "celebrated", - "celebrations", - "celebrities", - "celebrity", - "cell", - "celle", - "cells", - "cellular", - "celtic", - "cement", - "cemetery", - "censo", - "census", - "cent", - "center", - "centered", - "centers", - "central", - "centre", - "centres", - "centrum", - "cents", - "centuries", - "century", - "ceremonies", - "ceremony", - "cert", - "certain", - "certainly", - "certificate", - "certificates", - "certification", - "certified", - "ces", - "cf", - "cfg", - "ch", - "chai", - "chain", - "chains", - "chair", - "chairman", - "chairs", - "chalk", - "challenge", - "challenged", - "challenges", - "challenging", - "chamber", - "chambers", - "champions", - "championship", - "championships", - "chan", - "chance", - "chang", - "change", - "changed", - "changelog", - "changes", - "changing", - "channel", - "channels", - "chaos", - "chapel", - "chapter", - "chapters", - "char", - "charAt", - "character", - "characteristic", - "characteristics", - "characters", - "charge", - "charged", - "charges", - "charging", - "charitable", - "charity", - "charles", - "charleston", - "charlie", - "charlotte", - "charm", - "chars", - "charset", - "chart", - "charter", - "chartered", - "charts", - "chase", - "chat", - "che", - "cheap", - "cheaper", - "check", - "checkbox", - "checked", - "checker", - "checking", - "checkout", - "checkpoint", - "checks", - "cheese", - "chef", - "chemical", - "chemistry", - "chen", - "cherry", - "chess", - "chest", - "chester", - "chi", - "chicago", - "chicken", - "chief", - "child", - "childhood", - "children", - "chile", - "chin", - "china", - "chinese", - "chip", - "chips", - "chmod", - "cho", - "choice", - "choices", - "choir", - "choose", - "choosing", - "chord", - "chorus", - "chose", - "chosen", - "chr", - "chris", - "christ", - "christian", - "christina", - "christmas", - "christopher", - "chrome", - "chromosome", - "chronic", - "chronicle", - "chronicles", - "chu", - "chunk", - "chunks", - "church", - "churches", - "churchill", - "ci", - "cidade", - "cin", - "cipher", - "circle", - "circles", - "circuit", - "circuits", - "circular", - "circulation", - "circumstances", - "circus", - "cisco", - "citation", - "citations", - "cite", - "cited", - "cities", - "citing", - "citizen", - "citizens", - "city", - "ciudad", - "civil", - "civilian", - "civilians", - "civilization", - "cl", - "claim", - "claimed", - "claiming", - "claims", - "clan", - "clare", - "clarity", - "clark", - "class", - "classList", - "className", - "classe", - "classes", - "classic", - "classical", - "classification", - "classified", - "classifier", - "classify", - "claude", - "clause", - "clay", - "clayton", - "clean", - "cleaned", - "cleaning", - "cleanup", - "clear", - "cleared", - "clearly", - "clergy", - "clerk", - "cleveland", - "clever", - "clf", - "cli", - "click", - "clicked", - "clicking", - "clicks", - "client", - "cliente", - "clients", - "climate", - "climbing", - "clinic", - "clinical", - "clinton", - "clip", - "clipboard", - "clips", - "clock", - "clone", - "close", - "closed", - "closely", - "closer", - "closes", - "closest", - "closing", - "closure", - "cloth", - "clothes", - "clothing", - "cloud", - "clouds", - "cls", - "club", - "clubs", - "cluster", - "clustering", - "clusters", - "cm", - "cmake", - "cmd", - "cms", - "cn", - "cnt", - "co", - "coach", - "coached", - "coaches", - "coaching", - "coal", - "coast", - "coastal", - "coat", - "cobra", - "coca", - "cock", - "cod", - "code", - "codec", - "coded", - "codes", - "codigo", - "coding", - "coefficient", - "coffee", - "cognitive", - "cohen", - "coin", - "coined", - "coins", - "col", - "cola", - "cold", - "cole", - "colin", - "collaborated", - "collaboration", - "collapse", - "collapsed", - "collar", - "colleague", - "colleagues", - "collect", - "collected", - "collecting", - "collection", - "collections", - "collective", - "collectively", - "collector", - "college", - "colleges", - "collegiate", - "collins", - "collision", - "colonel", - "colonial", - "color", - "colorado", - "colored", - "colors", - "colour", - "colours", - "cols", - "columbia", - "columbus", - "column", - "columns", - "com", - "combat", - "combination", - "combinations", - "combine", - "combined", - "combo", - "come", - "comeback", - "comedian", - "comedy", - "comes", - "comfort", - "comfortable", - "comic", - "comics", - "coming", - "comm", - "comma", - "command", - "commanded", - "commander", - "commanders", - "commanding", - "commands", - "comme", - "commence", - "commenced", - "comment", - "commented", - "commenting", - "comments", - "commerce", - "commercial", - "commercially", - "commission", - "commissioned", - "commissioner", - "commissioners", - "commit", - "commits", - "committed", - "committee", - "commodity", - "common", - "commonly", - "commons", - "commonwealth", - "communicate", - "communication", - "communications", - "communist", - "communities", - "community", - "como", - "comp", - "compact", - "companies", - "companion", - "companions", - "company", - "comparable", - "compare", - "compared", - "comparison", - "compass", - "compatibility", - "compatible", - "compelling", - "compete", - "competed", - "competing", - "competition", - "competitions", - "competitive", - "competitor", - "compilation", - "compile", - "compiled", - "compiler", - "complained", - "complaint", - "complaints", - "complement", - "complete", - "completed", - "completely", - "completing", - "completion", - "complex", - "complexity", - "compliance", - "complicated", - "comply", - "component", - "components", - "compose", - "composed", - "composer", - "composers", - "composite", - "composition", - "compound", - "comprehensive", - "compress", - "compressed", - "compression", - "comprised", - "comprising", - "compromise", - "computation", - "compute", - "computed", - "computer", - "computers", - "computing", - "con", - "concat", - "conceived", - "concentrated", - "concentration", - "concept", - "conception", - "concepts", - "concern", - "concerned", - "concerning", - "concerns", - "concert", - "concerts", - "conclude", - "concluded", - "conclusion", - "conclusions", - "concrete", - "concurrent", - "conda", - "conde", - "condition", - "conditional", - "conditioning", - "conditions", - "conduct", - "conducted", - "conducting", - "conductor", - "cone", - "conf", - "confederation", - "conference", - "confidence", - "confident", - "config", - "configs", - "configuration", - "configurations", - "configure", - "configured", - "confined", - "confirm", - "confirmation", - "confirmed", - "conflict", - "conflicts", - "conform", - "confused", - "confusion", - "congress", - "congressional", - "congressman", - "conjunction", - "conn", - "connect", - "connected", - "connecting", - "connection", - "connections", - "connectivity", - "connector", - "connects", - "connor", - "conquered", - "conquest", - "cons", - "conscience", - "conscious", - "consciousness", - "consecutive", - "consensus", - "consent", - "consequence", - "consequences", - "consequently", - "conservation", - "conservative", - "consider", - "considerable", - "considerably", - "consideration", - "considered", - "considering", - "considers", - "consist", - "consisted", - "consistency", - "consistent", - "consistently", - "consisting", - "consists", - "console", - "conspiracy", - "const", - "constant", - "constantly", - "constants", - "constellation", - "constitution", - "constitutional", - "constraint", - "constraints", - "construct", - "constructed", - "construction", - "constructor", - "consul", - "consultation", - "consume", - "consumed", - "consumer", - "consuming", - "consumption", - "cont", - "contact", - "contacts", - "contador", - "contain", - "contained", - "container", - "containers", - "containing", - "contains", - "conte", - "contemporary", - "content", - "contents", - "contest", - "contests", - "context", - "contexts", - "continent", - "continental", - "continuation", - "continue", - "continued", - "continues", - "continuing", - "continuous", - "continuously", - "contra", - "contract", - "contracts", - "contrary", - "contrast", - "contre", - "contrib", - "contribute", - "contributed", - "contributing", - "contribution", - "contributions", - "contributor", - "contributors", - "contro", - "control", - "controlled", - "controller", - "controllers", - "controlling", - "controls", - "controversial", - "controversy", - "conv", - "convenient", - "convention", - "conventional", - "conversation", - "conversations", - "conversion", - "convert", - "converted", - "converter", - "converting", - "convicted", - "conviction", - "convince", - "convinced", - "cook", - "cookie", - "cookies", - "cool", - "cooperation", - "cooperative", - "coord", - "coordinate", - "coordinates", - "coordination", - "coordinator", - "coords", - "cop", - "cope", - "copied", - "copies", - "copper", - "copy", - "copyright", - "cor", - "cord", - "core", - "cores", - "corn", - "corner", - "corners", - "corona", - "corp", - "corporate", - "corporation", - "corps", - "corpus", - "correct", - "correction", - "correctly", - "correlation", - "correspond", - "correspondence", - "corresponding", - "corresponds", - "corridor", - "corrupt", - "corruption", - "cors", - "cos", - "cosa", - "cosmic", - "cosmos", - "cost", - "costly", - "costs", - "costume", - "cotton", - "could", - "couldn", - "council", - "counsel", - "count", - "countdown", - "counted", - "counter", - "counting", - "countless", - "countries", - "country", - "countryside", - "counts", - "county", - "coup", - "couple", - "coupled", - "coupling", - "courage", - "cours", - "course", - "courses", - "court", - "courthouse", - "courts", - "cousin", - "cout", - "cover", - "coverage", - "covered", - "covering", - "covers", - "covid", - "cow", - "cox", - "cp", - "cpp", - "cpu", - "cr", - "crack", - "craft", - "craig", - "crash", - "crashed", - "crashes", - "crawler", - "crazy", - "cream", - "crear", - "create", - "createElement", - "created", - "creates", - "creating", - "creation", - "creative", - "creativity", - "creator", - "creators", - "creature", - "creatures", - "credential", - "credentials", - "credit", - "credited", - "credits", - "creek", - "crew", - "crews", - "crime", - "crimes", - "criminal", - "criminals", - "crisis", - "cristo", - "criteria", - "criterion", - "critic", - "critical", - "critically", - "criticism", - "criticized", - "critics", - "croatia", - "crop", - "crops", - "cross", - "crossed", - "crosses", - "crossing", - "crow", - "crowd", - "crowds", - "crown", - "crowned", - "crucial", - "crud", - "cruel", - "cruise", - "crush", - "crusher", - "cry", - "crying", - "crypto", - "crystal", - "cs", - "csrf", - "css", - "csv", - "ct", - "ctrl", - "ctx", - "cu", - "cuando", - "cuba", - "cube", - "cubic", - "cuda", - "cuisine", - "cult", - "cultura", - "cultural", - "culture", - "cum", - "cup", - "cups", - "cur", - "cure", - "curious", - "curl", - "curr", - "currencies", - "currency", - "current", - "currently", - "curriculum", - "curse", - "curso", - "cursor", - "curtis", - "curve", - "curved", - "curves", - "custody", - "custom", - "customer", - "customers", - "customize", - "customs", - "cut", - "cute", - "cuts", - "cutting", - "cv", - "cx", - "cy", - "cyan", - "cyber", - "cycle", - "cycles", - "cycling", - "cylinder", - "czech", - "czy", - "c™", - "có", - "că", - "c", - "d", - "da", - "dad", - "dados", - "daemon", - "dag", - "dagen", - "daily", - "dal", - "dale", - "dam", - "damage", - "damaged", - "damages", - "damn", - "dan", - "dana", - "dance", - "dancer", - "dancing", - "dane", - "danger", - "dangerous", - "dangers", - "daniel", - "dans", - "dao", - "dar", - "dare", - "dark", - "darker", - "darkness", - "dart", - "darwin", - "das", - "dash", - "dashboard", - "dat", - "data", - "database", - "databases", - "dataset", - "datasets", - "date", - "dated", - "dates", - "datetime", - "dating", - "dato", - "datos", - "datum", - "daughter", - "daughters", - "dave", - "david", - "davies", - "davis", - "dawn", - "day", - "days", - "db", - "dc", - "dd", - "de", - "dead", - "deadline", - "deal", - "dealer", - "dealers", - "dealing", - "deals", - "dealt", - "dean", - "dear", - "death", - "deaths", - "debate", - "debian", - "debt", - "debug", - "debut", - "dec", - "decade", - "decades", - "decay", - "deceased", - "december", - "decide", - "decided", - "decides", - "deciding", - "decimal", - "decision", - "decisions", - "deck", - "declaration", - "declare", - "declared", - "declaring", - "decline", - "declined", - "decode", - "decoded", - "decoder", - "decorated", - "decoration", - "decorator", - "decrease", - "decreased", - "decree", - "decrypt", - "dedicated", - "dedication", - "dee", - "deed", - "deel", - "deemed", - "deep", - "deeper", - "deeply", - "deer", - "def", - "default", - "defaults", - "defeat", - "defeated", - "defeating", - "defeats", - "defence", - "defend", - "defendant", - "defended", - "defender", - "defenders", - "defending", - "defense", - "defensive", - "defer", - "define", - "defined", - "defines", - "defining", - "definition", - "definitions", - "deg", - "degree", - "degrees", - "dei", - "deity", - "del", - "dela", - "delay", - "delayed", - "delays", - "dele", - "delegate", - "delegates", - "delegation", - "delen", - "delete", - "deleted", - "deletion", - "deliberately", - "delimiter", - "deliver", - "delivered", - "delivers", - "delivery", - "dell", - "della", - "delle", - "dels", - "delta", - "dem", - "demand", - "demanded", - "demands", - "demo", - "democracy", - "democrat", - "democratic", - "demolished", - "demon", - "demons", - "demonstrate", - "demonstrated", - "demonstration", - "demonstrations", - "demos", - "den", - "denied", - "denis", - "dennis", - "denomination", - "dense", - "density", - "deny", - "dep", - "departed", - "department", - "departments", - "departure", - "depend", - "dependencies", - "dependency", - "dependent", - "depending", - "depends", - "depicted", - "depicting", - "depicts", - "deploy", - "deployed", - "deployment", - "deposit", - "depot", - "deprecated", - "depression", - "deps", - "dept", - "depth", - "depths", - "der", - "derek", - "deren", - "derivative", - "derivatives", - "derive", - "derived", - "derives", - "des", - "desc", - "descendants", - "descended", - "descent", - "describe", - "described", - "describes", - "describing", - "description", - "descriptions", - "descriptor", - "desde", - "desert", - "design", - "designated", - "designation", - "designed", - "designer", - "designs", - "desire", - "desired", - "desk", - "desktop", - "desperate", - "despite", - "dess", - "dessen", - "dest", - "destination", - "destroy", - "destroyed", - "destroyer", - "destroying", - "destruction", - "det", - "detail", - "detailed", - "details", - "detained", - "detect", - "detected", - "detection", - "detector", - "determination", - "determine", - "determined", - "determining", - "detroit", - "deutsche", - "dev", - "deve", - "develop", - "developed", - "developer", - "developers", - "developing", - "development", - "developmental", - "developments", - "deviation", - "device", - "devices", - "devil", - "devoted", - "df", - "di", - "dia", - "diagnosed", - "diagnosis", - "diagnostic", - "diagonal", - "diagram", - "dial", - "dialect", - "dialog", - "dialogue", - "diameter", - "diamond", - "diamonds", - "diary", - "dias", - "dic", - "dice", - "dick", - "dict", - "dictionary", - "did", - "didn", - "die", - "died", - "dies", - "diet", - "diff", - "differ", - "difference", - "differences", - "different", - "differential", - "difficult", - "difficulties", - "difficulty", - "dig", - "digest", - "digit", - "digital", - "digite", - "digits", - "dim", - "dimension", - "dimensional", - "dimensions", - "dims", - "din", - "dining", - "dinner", - "dio", - "diplomat", - "diplomatic", - "dir", - "dire", - "direct", - "directed", - "directing", - "direction", - "directions", - "directive", - "directly", - "director", - "directories", - "directors", - "directory", - "dirname", - "dirs", - "dirty", - "dis", - "disable", - "disabled", - "disambiguation", - "disappeared", - "disappointed", - "disaster", - "disasters", - "disbanded", - "disc", - "disciples", - "discipline", - "disciplines", - "disco", - "disconnect", - "discontinued", - "discord", - "discount", - "discourse", - "discover", - "discovered", - "discovering", - "discovery", - "discrete", - "discrimination", - "discuss", - "discussed", - "discussing", - "discussion", - "discussions", - "disease", - "dish", - "dishes", - "disk", - "dismiss", - "dismissed", - "disney", - "disorder", - "dispatch", - "dispatcher", - "displaced", - "displacement", - "display", - "displayed", - "displaying", - "displays", - "dispose", - "disposed", - "disposing", - "disposition", - "dispute", - "disputes", - "dissolution", - "dissolved", - "dist", - "distance", - "distances", - "distant", - "distinct", - "distinction", - "distinctive", - "distinguish", - "distinguished", - "distribute", - "distributed", - "distribution", - "distributions", - "district", - "districts", - "dit", - "div", - "dive", - "diverse", - "diversity", - "divide", - "divided", - "divine", - "diving", - "division", - "divisions", - "divorce", - "divorced", - "django", - "dk", - "dl", - "dla", - "dll", - "dm", - "dni", - "dns", - "do", - "doc", - "dock", - "docker", - "docs", - "doctor", - "doctoral", - "doctors", - "doctrine", - "document", - "documentary", - "documentation", - "documented", - "documento", - "documents", - "dodge", - "doe", - "does", - "doesn", - "dog", - "dogs", - "doi", - "doing", - "dok", - "dollar", - "dollars", - "dom", - "domain", - "domains", - "domestic", - "dominant", - "dominated", - "domingo", - "domini", - "don", - "donald", - "donate", - "donated", - "donation", - "donations", - "done", - "dong", - "dont", - "doom", - "door", - "doors", - "dos", - "dose", - "dot", - "dots", - "double", - "doubles", - "doubt", - "doug", - "douglas", - "dow", - "down", - "download", - "downloaded", - "downloads", - "downs", - "downtown", - "dozen", - "dozens", - "dp", - "dr", - "draft", - "drafted", - "drag", - "dragon", - "drain", - "drake", - "drama", - "dramatically", - "draw", - "drawable", - "drawer", - "drawing", - "drawings", - "drawn", - "draws", - "dream", - "dreams", - "dress", - "dressed", - "drew", - "dried", - "drift", - "drill", - "drink", - "drinking", - "drive", - "driven", - "driver", - "drivers", - "driving", - "drone", - "drop", - "dropdown", - "dropout", - "dropped", - "dropping", - "drops", - "drove", - "drug", - "drugs", - "drum", - "drummer", - "drums", - "dry", - "ds", - "dst", - "dt", - "dto", - "dtype", - "du", - "dual", - "dubbed", - "duc", - "duck", - "due", - "duke", - "dummy", - "dump", - "dumps", - "duncan", - "duo", - "duplicate", - "dur", - "duration", - "durch", - "during", - "dus", - "dust", - "dutch", - "duties", - "duty", - "dx", - "dy", - "dying", - "dynamic", - "dynamics", - "dynasty", - "día", - "də", - "e", - "ea", - "each", - "eager", - "eagle", - "eagles", - "ear", - "earl", - "earlier", - "earliest", - "early", - "earn", - "earned", - "earning", - "ears", - "earth", - "earthquake", - "ease", - "easier", - "easily", - "east", - "easter", - "eastern", - "easy", - "eat", - "eaten", - "eating", - "eau", - "eb", - "ec", - "echo", - "eclipse", - "eco", - "economic", - "economics", - "economy", - "ed", - "edad", - "eddie", - "eden", - "edgar", - "edge", - "edges", - "edit", - "edited", - "editing", - "edition", - "editions", - "editor", - "editorial", - "editors", - "edmund", - "edo", - "eds", - "edu", - "educated", - "education", - "educational", - "edward", - "ee", - "een", - "ef", - "effect", - "effective", - "effectively", - "effects", - "efficiency", - "efficient", - "efficiently", - "effort", - "efforts", - "eg", - "egen", - "egg", - "eggs", - "ego", - "egy", - "egypt", - "egyptian", - "eh", - "ei", - "eigen", - "eight", - "eighth", - "ein", - "eine", - "either", - "eks", - "el", - "ela", - "elaborate", - "elapsed", - "elastic", - "elasticsearch", - "elder", - "elderly", - "ele", - "elect", - "elected", - "election", - "elections", - "electoral", - "electric", - "electron", - "electronic", - "electronics", - "elegant", - "elem", - "element", - "elementary", - "elements", - "elephant", - "elevated", - "elevation", - "elevator", - "eli", - "elif", - "eligible", - "eliminate", - "eliminated", - "elimination", - "elit", - "elite", - "elizabeth", - "elk", - "ella", - "elle", - "ellen", - "eller", - "ellis", - "elm", - "els", - "else", - "elsif", - "em", - "email", - "emails", - "embed", - "embedded", - "embedding", - "ember", - "emerge", - "emerged", - "emergency", - "emil", - "emily", - "emission", - "emissions", - "emit", - "emma", - "emoji", - "emotion", - "emotional", - "emp", - "emperor", - "emphasis", - "emphasized", - "empire", - "employ", - "employed", - "employee", - "employees", - "employer", - "employment", - "empresa", - "empty", - "en", - "ena", - "enable", - "enabled", - "enabling", - "enacted", - "enc", - "enclosed", - "encode", - "encoded", - "encoder", - "encoding", - "encompasses", - "encounter", - "encountered", - "encounters", - "encourage", - "encouraged", - "encrypt", - "encrypted", - "encryption", - "end", - "ende", - "ended", - "endif", - "ending", - "endl", - "endorsed", - "endpoint", - "endpoints", - "ends", - "enemies", - "enemy", - "energia", - "energie", - "energy", - "enforce", - "enforcement", - "eng", - "engage", - "engaged", - "engagement", - "engine", - "engineer", - "engineering", - "engineers", - "engines", - "england", - "english", - "enhance", - "enhanced", - "enjoy", - "enjoyed", - "enjoying", - "enlarged", - "enlisted", - "enough", - "enrolled", - "enrollment", - "ensemble", - "ensure", - "enter", - "entered", - "entering", - "enterprise", - "enters", - "entertaining", - "entertainment", - "entire", - "entirely", - "entities", - "entitled", - "entity", - "entrada", - "entrance", - "entre", - "entrepreneur", - "entries", - "entropy", - "entry", - "enum", - "enumerate", - "env", - "envelope", - "environ", - "environment", - "environmental", - "environments", - "enzyme", - "ep", - "epic", - "episcopal", - "episode", - "episodes", - "epoch", - "epochs", - "eps", - "epsilon", - "epub", - "eq", - "equal", - "equality", - "equally", - "equals", - "equation", - "equations", - "equipment", - "equipped", - "equity", - "equiv", - "equivalent", - "er", - "era", - "erb", - "ere", - "erected", - "eren", - "eric", - "erie", - "erik", - "erne", - "err", - "errno", - "erro", - "error", - "errors", - "ers", - "erst", - "erste", - "eru", - "es", - "escape", - "escaped", - "escort", - "ese", - "esp", - "español", - "especially", - "essa", - "essay", - "esse", - "essence", - "essential", - "essentially", - "est", - "esta", - "establish", - "established", - "establishing", - "establishment", - "estado", - "estar", - "estas", - "estat", - "estate", - "este", - "estimate", - "estimated", - "estimates", - "estimation", - "esto", - "estos", - "estructura", - "et", - "eta", - "etc", - "eth", - "ethereum", - "ethernet", - "ethical", - "ethnic", - "ett", - "että", - "età", - "eu", - "euler", - "euro", - "europa", - "europe", - "european", - "euros", - "ev", - "eva", - "eval", - "evaluate", - "evaluation", - "eve", - "even", - "evening", - "event", - "evento", - "events", - "eventual", - "eventually", - "ever", - "every", - "everybody", - "everyday", - "everyone", - "everything", - "everywhere", - "evidence", - "evident", - "evil", - "evolution", - "evolved", - "evt", - "ex", - "exact", - "exactly", - "exam", - "examination", - "examine", - "examined", - "example", - "examples", - "exc", - "exceed", - "exceeded", - "excel", - "excellent", - "except", - "exception", - "exceptional", - "exceptions", - "excerpt", - "excess", - "exchange", - "excited", - "excitement", - "exclude", - "excluded", - "excluding", - "exclusive", - "exclusively", - "exe", - "exec", - "executable", - "execute", - "executed", - "executing", - "execution", - "executive", - "executor", - "exemple", - "exempt", - "exercise", - "exercises", - "exhibit", - "exhibited", - "exhibition", - "exhibitions", - "exhibits", - "exile", - "exist", - "existe", - "existed", - "existence", - "existing", - "exists", - "exit", - "exodus", - "exotic", - "exp", - "expand", - "expanded", - "expansion", - "expect", - "expectations", - "expected", - "expecting", - "expects", - "expedition", - "expelled", - "expense", - "expenses", - "expensive", - "experience", - "experienced", - "experiences", - "experiment", - "experimental", - "experiments", - "expert", - "experts", - "expire", - "expired", - "expires", - "explain", - "explained", - "explaining", - "explains", - "explanation", - "explicit", - "exploit", - "exploration", - "explore", - "explored", - "explorer", - "exploring", - "explosive", - "expo", - "export", - "exported", - "exports", - "expose", - "exposed", - "exposition", - "exposure", - "expr", - "express", - "expressed", - "expressing", - "expression", - "expressions", - "ext", - "extend", - "extended", - "extending", - "extends", - "extension", - "extensions", - "extensive", - "extensively", - "extent", - "exterior", - "extern", - "externa", - "external", - "extra", - "extract", - "extracted", - "extraction", - "extraordinary", - "extras", - "extreme", - "extremely", - "eye", - "eyes", - "ez", - "e", - "f", - "fa", - "fab", - "fabric", - "facade", - "face", - "facebook", - "faced", - "faces", - "facial", - "facilitate", - "facilities", - "facility", - "facing", - "fact", - "faction", - "facto", - "factor", - "factorial", - "factories", - "factors", - "factory", - "facts", - "faculty", - "fade", - "fail", - "failed", - "failing", - "fails", - "failure", - "failures", - "fair", - "faire", - "fairly", - "fairy", - "fait", - "faith", - "faithful", - "fake", - "faker", - "falcon", - "fall", - "fallen", - "falling", - "falls", - "false", - "fame", - "familiar", - "familie", - "families", - "family", - "famous", - "fan", - "fancy", - "fans", - "fantasy", - "far", - "fare", - "farm", - "farmer", - "farmers", - "farms", - "fas", - "fascinating", - "fase", - "fashion", - "fast", - "faster", - "fat", - "fatal", - "fate", - "father", - "fathers", - "fault", - "favicon", - "favor", - "favorable", - "favorite", - "favorites", - "favour", - "fb", - "fc", - "fd", - "fe", - "fear", - "feared", - "fears", - "feast", - "feat", - "feature", - "featured", - "features", - "featuring", - "feb", - "februar", - "february", - "fecha", - "fed", - "federal", - "federation", - "fee", - "feed", - "feedback", - "feeding", - "feeds", - "feel", - "feeling", - "feelings", - "feels", - "fees", - "feet", - "fel", - "fell", - "fellow", - "felt", - "fem", - "female", - "females", - "feminine", - "fence", - "feng", - "fer", - "ferdinand", - "ferguson", - "fernando", - "ferry", - "fertile", - "fertility", - "fest", - "festival", - "festivals", - "fet", - "fetch", - "fever", - "few", - "fewer", - "ff", - "fff", - "ffffff", - "fg", - "fi", - "fiber", - "fiction", - "fictional", - "field", - "fields", - "fifa", - "fifteen", - "fifth", - "fifty", - "fig", - "fight", - "fighter", - "fighters", - "fighting", - "fights", - "figure", - "figured", - "figures", - "fik", - "fil", - "file", - "fileName", - "filed", - "filename", - "filepath", - "files", - "filesystem", - "filing", - "fill", - "filled", - "filling", - "fills", - "film", - "filme", - "filmed", - "filming", - "filmmaker", - "films", - "fils", - "filter", - "filtered", - "filtering", - "filters", - "fim", - "fin", - "final", - "finally", - "finals", - "finance", - "financial", - "find", - "findViewById", - "finder", - "finding", - "finds", - "fine", - "finest", - "finger", - "fingers", - "finish", - "finished", - "finishing", - "finite", - "finland", - "finnish", - "fins", - "fire", - "firebase", - "fired", - "firefox", - "fires", - "firing", - "firm", - "firma", - "firms", - "firmware", - "first", - "firstName", - "firstname", - "fiscal", - "fischer", - "fish", - "fisher", - "fishing", - "fit", - "fitness", - "fits", - "fitted", - "fitting", - "five", - "fix", - "fixed", - "fixes", - "fixture", - "fixtures", - "fl", - "flag", - "flags", - "flagship", - "flame", - "flames", - "flash", - "flask", - "flat", - "flatten", - "flavor", - "fled", - "fleet", - "flesh", - "flew", - "flex", - "flexibility", - "flexible", - "flies", - "flight", - "flights", - "flip", - "float", - "floating", - "flood", - "flooding", - "floods", - "floor", - "floors", - "flora", - "florida", - "flour", - "flow", - "flower", - "flowers", - "flowing", - "flows", - "flu", - "fluid", - "flush", - "flutter", - "flux", - "fly", - "flying", - "fm", - "fmt", - "fn", - "fname", - "fo", - "foam", - "focal", - "focus", - "focused", - "focuses", - "focusing", - "fog", - "fois", - "fold", - "folder", - "folders", - "folk", - "follow", - "followed", - "followers", - "following", - "follows", - "fonction", - "fond", - "font", - "fontSize", - "fonts", - "foo", - "food", - "foods", - "fool", - "foot", - "footage", - "football", - "footer", - "for", - "forEach", - "forbes", - "forbidden", - "force", - "forced", - "forces", - "forcing", - "ford", - "fore", - "foreach", - "forecast", - "foreign", - "forest", - "forests", - "forever", - "forge", - "forget", - "forgot", - "forgotten", - "fork", - "form", - "forma", - "formal", - "formally", - "format", - "formation", - "formations", - "formats", - "formatted", - "formatter", - "forme", - "formed", - "former", - "formerly", - "forming", - "forms", - "formula", - "fort", - "forth", - "fortune", - "forty", - "forum", - "forums", - "forward", - "forwards", - "foster", - "foto", - "fou", - "fought", - "found", - "foundation", - "founded", - "founder", - "founders", - "founding", - "four", - "fourteen", - "fourth", - "fox", - "fp", - "fprintf", - "fps", - "fr", - "fra", - "fraction", - "fragment", - "fragments", - "fram", - "frame", - "frames", - "framework", - "franc", - "france", - "francesco", - "franchise", - "francis", - "francisco", - "franco", - "frank", - "franklin", - "franz", - "fred", - "frederick", - "free", - "freed", - "freedom", - "freely", - "freeman", - "freestyle", - "freeze", - "french", - "freq", - "frequencies", - "frequency", - "frequent", - "frequently", - "fresh", - "freshman", - "fri", - "friend", - "friendly", - "friends", - "friendship", - "from", - "front", - "frontend", - "frontier", - "frozen", - "fruit", - "fruits", - "fs", - "ft", - "fu", - "fuck", - "fucking", - "fue", - "fuel", - "fulfill", - "fulfilled", - "full", - "fully", - "fun", - "func", - "function", - "functional", - "functioning", - "functions", - "fund", - "fundamental", - "funded", - "funding", - "funds", - "funeral", - "fungi", - "funk", - "funny", - "fur", - "furnished", - "furniture", - "further", - "furthermore", - "fusion", - "fut", - "future", - "futures", - "fw", - "fx", - "för", - "før", - "für", - "g", - "ga", - "gabriel", - "gain", - "gained", - "gaining", - "gains", - "galaxy", - "galleries", - "gallery", - "gambling", - "game", - "gameplay", - "games", - "gaming", - "gamma", - "gan", - "gang", - "gap", - "gaps", - "garage", - "garbage", - "garcía", - "garde", - "garden", - "gardens", - "garrison", - "gary", - "gas", - "gate", - "gates", - "gateway", - "gather", - "gathered", - "gathering", - "gatsby", - "gauge", - "gaussian", - "gav", - "gave", - "gay", - "gazette", - "gb", - "gc", - "gcc", - "ge", - "gear", - "gebied", - "gebruik", - "geen", - "gegen", - "gel", - "gem", - "gems", - "gen", - "gender", - "gene", - "gener", - "genera", - "general", - "generally", - "generals", - "generate", - "generated", - "generates", - "generating", - "generation", - "generations", - "generator", - "generators", - "generic", - "generous", - "genes", - "genesis", - "genetic", - "genius", - "genocide", - "genome", - "genre", - "genres", - "gentle", - "gentleman", - "genus", - "geo", - "geography", - "geometric", - "geometry", - "georg", - "george", - "georgetown", - "georgia", - "gerald", - "german", - "germans", - "germany", - "geschichte", - "gesture", - "get", - "getAttribute", - "getData", - "getElementById", - "getId", - "getInstance", - "getMessage", - "getName", - "getString", - "getText", - "getValue", - "gets", - "getter", - "getting", - "gh", - "ghana", - "ghost", - "gi", - "giant", - "gif", - "gift", - "gil", - "gill", - "gin", - "ging", - "girl", - "girlfriend", - "girls", - "git", - "github", - "githubusercontent", - "give", - "given", - "gives", - "giving", - "gl", - "glad", - "glasgow", - "glass", - "glasses", - "glen", - "gli", - "glob", - "global", - "globals", - "globe", - "glory", - "gmail", - "gnu", - "go", - "goal", - "goals", - "god", - "goddess", - "gods", - "goes", - "going", - "gold", - "golden", - "golf", - "gone", - "gonna", - "gonzález", - "good", - "goods", - "google", - "googleapis", - "gospel", - "got", - "goto", - "gotten", - "gov", - "govern", - "governance", - "governed", - "governing", - "government", - "governmental", - "governo", - "governor", - "governors", - "gpio", - "gpu", - "gr", - "grab", - "grace", - "grad", - "grade", - "grades", - "gradient", - "gradle", - "gradually", - "graduate", - "graduated", - "graduates", - "graduating", - "graduation", - "graf", - "grain", - "gram", - "grammar", - "gran", - "grand", - "grandfather", - "grandmother", - "grandson", - "grant", - "granted", - "grants", - "graph", - "graphic", - "graphics", - "graphs", - "grass", - "grateful", - "grave", - "gravity", - "gray", - "great", - "greater", - "greatest", - "greatly", - "greco", - "greece", - "greek", - "green", - "greeting", - "greg", - "gregory", - "grep", - "grew", - "grey", - "grid", - "grip", - "grocery", - "groove", - "gross", - "grote", - "ground", - "grounds", - "group", - "grouped", - "groups", - "grow", - "growing", - "grown", - "grows", - "growth", - "grund", - "grunt", - "grup", - "grupo", - "gruppe", - "gs", - "gt", - "gtk", - "guarantee", - "guard", - "guardian", - "guards", - "guerra", - "guess", - "guest", - "gui", - "guid", - "guidance", - "guide", - "guided", - "guidelines", - "guides", - "guild", - "guilt", - "guilty", - "guinea", - "guitar", - "guitarist", - "guitars", - "gujarat", - "gulf", - "gulp", - "gun", - "guns", - "guru", - "gut", - "guy", - "gym", - "gz", - "går", - "h", - "ha", - "haar", - "hab", - "haben", - "habit", - "habitants", - "habitat", - "habits", - "hacer", - "hack", - "had", - "hadoop", - "hai", - "hair", - "haiti", - "hal", - "half", - "halfway", - "hall", - "halt", - "ham", - "hamilton", - "hammer", - "han", - "hand", - "handed", - "handel", - "handful", - "handle", - "handled", - "handler", - "handlers", - "handles", - "handling", - "hands", - "hang", - "hanging", - "hans", - "happen", - "happened", - "happening", - "happens", - "happiness", - "happy", - "har", - "harassment", - "harbor", - "harbour", - "hard", - "hardcore", - "hardly", - "hardware", - "harm", - "harmony", - "harper", - "harris", - "harsh", - "hart", - "harvest", - "has", - "hash", - "hasil", - "hasn", - "hassan", - "hasta", - "hat", - "hate", - "hatred", - "have", - "haven", - "havia", - "having", - "hawk", - "hawks", - "hay", - "he", - "head", - "headed", - "header", - "headers", - "heading", - "headline", - "headquarters", - "heads", - "heal", - "healing", - "health", - "healthy", - "heap", - "hear", - "heard", - "hearing", - "heart", - "hearts", - "heat", - "heated", - "heath", - "heating", - "heaven", - "heavily", - "heavy", - "hebrew", - "heel", - "height", - "heights", - "heinrich", - "heir", - "hela", - "held", - "hele", - "helicopter", - "hell", - "hello", - "helm", - "helmet", - "help", - "helped", - "helper", - "helpers", - "helpful", - "helping", - "helps", - "hem", - "hemisphere", - "hen", - "hence", - "henderson", - "henri", - "henry", - "her", - "herbert", - "here", - "heritage", - "herman", - "hermann", - "hero", - "heroes", - "herokuapp", - "herself", - "herzog", - "het", - "hex", - "hey", - "hi", - "hibernate", - "hidden", - "hide", - "hier", - "hierarchy", - "high", - "higher", - "highest", - "highland", - "highlight", - "highlighted", - "highlighting", - "highlights", - "highly", - "highway", - "highways", - "hij", - "hill", - "hills", - "him", - "himself", - "hindu", - "hint", - "hints", - "hip", - "hire", - "hired", - "his", - "hist", - "histogram", - "histoire", - "historia", - "historian", - "historians", - "historic", - "historical", - "historically", - "histories", - "history", - "hit", - "hitler", - "hits", - "hitting", - "ho", - "hockey", - "hold", - "holder", - "holders", - "holding", - "holdings", - "holds", - "hole", - "holes", - "holiday", - "holidays", - "holland", - "hollow", - "hollywood", - "holocaust", - "holy", - "home", - "homeland", - "homepage", - "homes", - "hometown", - "homme", - "hon", - "honest", - "hong", - "honor", - "honored", - "honors", - "honour", - "hood", - "hook", - "hooks", - "hop", - "hope", - "hoped", - "hopefully", - "hopes", - "hoping", - "hora", - "horizon", - "horizontal", - "horn", - "horrible", - "horror", - "horse", - "horses", - "hos", - "hospital", - "host", - "hosted", - "hostile", - "hosting", - "hostname", - "hosts", - "hot", - "hotel", - "hour", - "hours", - "house", - "housed", - "household", - "households", - "houses", - "housing", - "houston", - "hover", - "how", - "howard", - "however", - "hp", - "hpp", - "hr", - "href", - "hrs", - "htm", - "html", - "http", - "https", - "hu", - "huang", - "hub", - "hudson", - "huge", - "hughes", - "hui", - "hull", - "human", - "humanitarian", - "humanity", - "humans", - "humid", - "humidity", - "humor", - "hun", - "hundred", - "hundreds", - "hung", - "hungarian", - "hungary", - "hunger", - "hungry", - "hunt", - "hunter", - "hunting", - "hur", - "hurricane", - "hurt", - "husband", - "hver", - "hw", - "hybrid", - "hyde", - "hydrogen", - "hypothesis", - "hz", - "há", - "h", - "i", - "iOS", - "iPad", - "iPhone", - "iTunes", - "ia", - "ian", - "iar", - "ibn", - "ic", - "ice", - "ich", - "ico", - "icon", - "icons", - "id", - "ida", - "idade", - "ide", - "idea", - "ideal", - "ideas", - "identical", - "identification", - "identified", - "identifier", - "identifies", - "identify", - "identifying", - "identity", - "ideology", - "idle", - "idol", - "ids", - "idx", - "ie", - "ieee", - "if", - "ifdef", - "ifndef", - "iframe", - "ig", - "igen", - "ignore", - "ignored", - "igor", - "igual", - "ih", - "ii", - "ikke", - "il", - "ile", - "ilha", - "ili", - "ill", - "illa", - "illegal", - "illinois", - "illness", - "illuminate", - "illustrated", - "illustration", - "illustrations", - "iloc", - "ils", - "im", - "ima", - "image", - "imagen", - "images", - "imagination", - "imagine", - "imaging", - "imam", - "ime", - "img", - "imgs", - "imgur", - "immediate", - "immediately", - "immigrant", - "immigrants", - "immigration", - "immune", - "imp", - "impact", - "impacts", - "imperial", - "impl", - "implement", - "implementation", - "implemented", - "implements", - "implications", - "implicit", - "implied", - "implies", - "import", - "importance", - "important", - "imported", - "imports", - "imposed", - "impossible", - "impressed", - "impression", - "impressive", - "imprisoned", - "imprisonment", - "improve", - "improved", - "improvement", - "improvements", - "improving", - "imread", - "in", - "inactive", - "inappropriate", - "inaugural", - "inbox", - "inc", - "inception", - "inch", - "inches", - "incident", - "incidents", - "include", - "included", - "includes", - "including", - "inclusion", - "inclusive", - "income", - "incoming", - "incomplete", - "incorporate", - "incorporated", - "incorporating", - "incorrect", - "increase", - "increased", - "increases", - "increasing", - "increasingly", - "incredibly", - "increment", - "incumbent", - "ind", - "indeed", - "inden", - "indent", - "independence", - "independent", - "index", - "indexOf", - "indexed", - "indexes", - "india", - "indian", - "indiana", - "indica", - "indicate", - "indicated", - "indicates", - "indicating", - "indication", - "indicator", - "indices", - "indie", - "indies", - "indigenous", - "indirect", - "individual", - "individually", - "individuals", - "indo", - "indonesia", - "induced", - "inducted", - "industrial", - "industries", - "industry", - "inequality", - "inet", - "inf", - "infamous", - "infant", - "infantry", - "infected", - "infection", - "inference", - "inferior", - "infinite", - "infinity", - "inflammatory", - "inflate", - "influence", - "influenced", - "influences", - "influential", - "info", - "inform", - "informal", - "information", - "informed", - "infrastructure", - "ing", - "ingen", - "ingredient", - "ingredients", - "inhabitants", - "inhabited", - "inherit", - "inheritance", - "inherited", - "ini", - "inicio", - "init", - "initial", - "initialization", - "initialize", - "initialized", - "initially", - "initiated", - "initiative", - "initiatives", - "inject", - "injection", - "injured", - "injuries", - "injury", - "ink", - "inlet", - "inline", - "inn", - "innan", - "inne", - "inner", - "innerHTML", - "innings", - "innocent", - "innovation", - "innovations", - "inom", - "inp", - "input", - "inputs", - "inquiry", - "ins", - "inscription", - "insects", - "insert", - "inserted", - "insertion", - "inside", - "insight", - "insights", - "insisted", - "inspect", - "inspection", - "inspector", - "inspiration", - "inspire", - "inspired", - "inspiring", - "inst", - "instagram", - "install", - "installation", - "installations", - "installed", - "installer", - "installing", - "instance", - "instanceof", - "instances", - "instant", - "instantly", - "instead", - "institut", - "institute", - "institution", - "institutions", - "instruction", - "instructions", - "instructor", - "instrument", - "instrumental", - "instruments", - "insurance", - "int", - "intact", - "inte", - "integer", - "integers", - "integral", - "integrate", - "integrated", - "integration", - "integrity", - "intel", - "intellectual", - "intelligence", - "intelligent", - "intended", - "intense", - "intensity", - "intensive", - "intent", - "intention", - "intentions", - "inter", - "interact", - "interaction", - "interactions", - "interactive", - "interest", - "interested", - "interesting", - "interests", - "interface", - "interfaces", - "interference", - "interim", - "interior", - "intermediate", - "intern", - "internal", - "internally", - "international", - "internet", - "interpret", - "interpretation", - "interpreted", - "interpreter", - "interrupt", - "interrupted", - "intersection", - "interval", - "intervals", - "intervention", - "interview", - "interviews", - "into", - "intro", - "introduce", - "introduced", - "introducing", - "introduction", - "inv", - "invaded", - "invalid", - "invasion", - "invented", - "invention", - "inventory", - "inverse", - "invest", - "investigated", - "investigation", - "investment", - "invisible", - "invitation", - "invite", - "invited", - "invoice", - "invoke", - "involve", - "involved", - "involvement", - "involves", - "involving", - "io", - "ion", - "ionic", - "ions", - "ios", - "iostream", - "ip", - "ir", - "iran", - "ireland", - "iris", - "irish", - "iron", - "irregular", - "is", - "isEmpty", - "isabel", - "isabella", - "isbn", - "isinstance", - "isis", - "isla", - "island", - "islands", - "isle", - "isn", - "iso", - "isolated", - "isolation", - "israel", - "isset", - "isso", - "issue", - "issued", - "issues", - "ist", - "isto", - "istoric", - "istván", - "it", - "italian", - "italic", - "italy", - "item", - "items", - "iter", - "iterate", - "iteration", - "iterations", - "iterator", - "its", - "itself", - "itt", - "iv", - "ivan", - "ivy", - "ix", - "iz", - "izan", - "i”", - "j", - "jQuery", - "ja", - "jaar", - "jack", - "jacket", - "jackson", - "jade", - "jahr", - "jail", - "jak", - "jam", - "james", - "jamie", - "jan", - "jana", - "jane", - "januar", - "january", - "japan", - "japanese", - "jar", - "jason", - "java", - "javascript", - "javax", - "jaw", - "jay", - "jazz", - "jdbc", - "je", - "jean", - "jeff", - "jeffrey", - "jeg", - "jego", - "jej", - "jen", - "jenkins", - "jennifer", - "jenny", - "jer", - "jerry", - "jersey", - "jessica", - "jest", - "jesus", - "jet", - "jets", - "jew", - "jewelry", - "jewish", - "jews", - "ji", - "jih", - "jim", - "jimmy", - "jin", - "jo", - "job", - "jobs", - "joe", - "johan", - "johannes", - "john", - "johnny", - "johns", - "johnson", - "joi", - "join", - "joined", - "joining", - "joins", - "joint", - "jointly", - "joints", - "joke", - "jokes", - "jon", - "jonathan", - "jones", - "jong", - "jordan", - "jorge", - "jos", - "jose", - "joseph", - "josé", - "jour", - "journal", - "journalist", - "journalists", - "journals", - "journey", - "joy", - "jp", - "jpeg", - "jpg", - "jquery", - "jr", - "js", - "json", - "jsp", - "jsx", - "ju", - "juan", - "judge", - "judges", - "judgment", - "judicial", - "judiciary", - "juice", - "jul", - "juli", - "julia", - "julian", - "julie", - "july", - "jump", - "jun", - "junction", - "june", - "jung", - "junior", - "junit", - "junto", - "jupiter", - "jury", - "just", - "justice", - "justified", - "justify", - "juvenile", - "jwt", - "já", - "k", - "ka", - "kad", - "kafka", - "kai", - "kaiser", - "kaj", - "kam", - "kan", - "kane", - "kansas", - "kant", - "kar", - "karl", - "karma", - "kas", - "kata", - "kate", - "katherine", - "kay", - "kazakhstan", - "kb", - "kbd", - "kde", - "ke", - "keen", - "keep", - "keeper", - "keeping", - "keith", - "kelly", - "ken", - "kennedy", - "kent", - "kept", - "ker", - "keras", - "kern", - "kernel", - "kevin", - "key", - "keyboard", - "keyboards", - "keys", - "keyword", - "keywords", - "kg", - "khan", - "ki", - "kick", - "kicked", - "kicks", - "kid", - "kids", - "kill", - "killed", - "killer", - "killing", - "kills", - "kilometres", - "kim", - "kind", - "kinds", - "king", - "kingdom", - "kingdoms", - "kings", - "kis", - "kiss", - "kit", - "kitchen", - "kitt", - "klein", - "km", - "knee", - "knew", - "knife", - "knight", - "knock", - "knocked", - "know", - "knowing", - "knowledge", - "known", - "knows", - "ko", - "koch", - "kod", - "kom", - "komen", - "kommer", - "kommun", - "komt", - "kon", - "kong", - "kort", - "kot", - "kr", - "kraft", - "kt", - "ku", - "kubectl", - "kubernetes", - "kumar", - "kun", - "kunde", - "kung", - "kunst", - "kurt", - "kwam", - "kwargs", - "k—", - "könig", - "l", - "la", - "lab", - "label", - "labeled", - "labels", - "labor", - "laboratory", - "labs", - "lac", - "lack", - "lacking", - "lacks", - "ladder", - "laden", - "ladies", - "lado", - "lady", - "lag", - "lai", - "laid", - "lake", - "lamb", - "lambda", - "lamp", - "lan", - "lance", - "land", - "landed", - "landen", - "landet", - "landing", - "landmark", - "landmarks", - "lands", - "landscape", - "lane", - "lang", - "lange", - "langs", - "language", - "languages", - "lanka", - "lap", - "laptop", - "large", - "largely", - "larger", - "largest", - "larry", - "lars", - "las", - "laser", - "last", - "lastName", - "lasted", - "lasting", - "lastname", - "lat", - "late", - "later", - "lateral", - "latest", - "latex", - "latin", - "latino", - "latitude", - "latter", - "laugh", - "launch", - "launched", - "launcher", - "launching", - "laura", - "law", - "lawrence", - "laws", - "lawyer", - "lawyers", - "lay", - "layer", - "layers", - "laying", - "layout", - "layouts", - "lazy", - "lb", - "lcd", - "le", - "lea", - "lead", - "leader", - "leaders", - "leadership", - "leading", - "leads", - "leaf", - "league", - "leak", - "leaked", - "lean", - "leap", - "learn", - "learned", - "learning", - "lease", - "least", - "leather", - "leave", - "leaves", - "leaving", - "leben", - "lecture", - "led", - "lee", - "left", - "leg", - "legacy", - "legal", - "legally", - "legend", - "legendary", - "leger", - "legislation", - "legislative", - "legislators", - "legislature", - "legs", - "lei", - "leigh", - "len", - "length", - "lengths", - "lens", - "leo", - "leon", - "leonardo", - "leone", - "leopold", - "les", - "less", - "lesser", - "lesson", - "lessons", - "let", - "leta", - "lets", - "lett", - "letter", - "letters", - "leur", - "leurs", - "level", - "levels", - "leven", - "lever", - "levy", - "lewis", - "león", - "lg", - "li", - "liability", - "liable", - "lib", - "liberal", - "liberty", - "libraries", - "library", - "libre", - "libs", - "licence", - "license", - "licensed", - "licenses", - "licensing", - "lid", - "lie", - "liegt", - "lies", - "lieu", - "lieutenant", - "life", - "lifestyle", - "lifetime", - "lift", - "lifted", - "lifting", - "liga", - "lige", - "light", - "lighter", - "lighthouse", - "lighting", - "lightning", - "lights", - "ligne", - "ligt", - "lijst", - "like", - "liked", - "likelihood", - "likely", - "likes", - "likewise", - "lima", - "lime", - "limit", - "limitation", - "limitations", - "limited", - "limiting", - "limits", - "lin", - "lincoln", - "linda", - "line", - "linear", - "lined", - "liner", - "lines", - "lineup", - "lingua", - "linha", - "link", - "linked", - "linkedin", - "linking", - "links", - "lint", - "linux", - "lion", - "lions", - "lip", - "lips", - "liquid", - "list", - "lista", - "liste", - "listed", - "listen", - "listened", - "listener", - "listeners", - "listening", - "listing", - "lists", - "lit", - "lite", - "literal", - "literally", - "literals", - "literary", - "literature", - "lithuanian", - "little", - "liu", - "liv", - "live", - "lived", - "liver", - "lives", - "living", - "ll", - "ln", - "lng", - "lo", - "load", - "loaded", - "loader", - "loading", - "loads", - "loan", - "lobby", - "loc", - "local", - "localStorage", - "locale", - "localhost", - "locality", - "locally", - "locals", - "locate", - "located", - "location", - "locations", - "lock", - "locked", - "locks", - "log", - "logan", - "logged", - "logger", - "logging", - "logic", - "logical", - "login", - "logo", - "logos", - "logout", - "logs", - "lok", - "lon", - "london", - "lone", - "lonely", - "long", - "longer", - "longest", - "longitude", - "longtime", - "look", - "looked", - "looking", - "looks", - "lookup", - "loop", - "loops", - "loose", - "lor", - "lord", - "lords", - "lorenzo", - "los", - "lose", - "loses", - "losing", - "loss", - "losses", - "lost", - "lot", - "lots", - "lottery", - "lotus", - "lou", - "loud", - "louis", - "love", - "loved", - "lovely", - "lover", - "loves", - "loving", - "low", - "lower", - "lowercase", - "lowest", - "loyal", - "loyalty", - "lr", - "ls", - "lst", - "lstm", - "lt", - "ltd", - "lu", - "lua", - "lub", - "luck", - "lucky", - "ludwig", - "luigi", - "luis", - "lumber", - "lunch", - "lung", - "ly", - "lying", - "lynn", - "lyrics", - "là", - "lə", - "l", - "m", - "ma", - "maar", - "mac", - "machine", - "machinery", - "machines", - "macht", - "macro", - "mad", - "made", - "madison", - "mae", - "mag", - "magazine", - "magazines", - "magic", - "magical", - "magnetic", - "magnificent", - "magnitude", - "mai", - "mail", - "mailto", - "main", - "maine", - "mainly", - "mainstream", - "maintain", - "maintained", - "maintaining", - "maintains", - "maintenance", - "maior", - "mais", - "maj", - "major", - "majority", - "make", - "maken", - "maker", - "makers", - "makes", - "making", - "mal", - "male", - "males", - "mali", - "mall", - "malloc", - "mama", - "man", - "manage", - "managed", - "management", - "manager", - "managers", - "managing", - "manchester", - "mandatory", - "manga", - "manifest", - "manila", - "manipulation", - "mann", - "manner", - "manning", - "manor", - "mans", - "mansion", - "manual", - "manuel", - "manufacture", - "manufactured", - "manufacturer", - "manufacturers", - "manufacturing", - "manuscript", - "manuscripts", - "many", - "map", - "maple", - "mapped", - "mapper", - "mapping", - "maps", - "mar", - "marble", - "marc", - "marca", - "march", - "marcus", - "mare", - "margaret", - "margin", - "margins", - "mari", - "maria", - "marine", - "marines", - "mario", - "maritime", - "mark", - "markdown", - "marked", - "marker", - "markers", - "market", - "marketed", - "marketing", - "markets", - "marks", - "markup", - "marriage", - "married", - "marry", - "mars", - "marsh", - "marshal", - "marshall", - "mart", - "martin", - "mary", - "maría", - "mas", - "masa", - "mask", - "masked", - "masks", - "mason", - "mass", - "massa", - "massachusetts", - "massacre", - "massage", - "masse", - "masses", - "massive", - "master", - "masters", - "mat", - "mata", - "match", - "matched", - "matcher", - "matches", - "matching", - "mate", - "material", - "materials", - "maternal", - "math", - "mathematician", - "matlab", - "matplotlib", - "matrices", - "matrix", - "matriz", - "matt", - "matter", - "matters", - "mature", - "maurice", - "maven", - "max", - "maximize", - "maximum", - "maxwell", - "may", - "maya", - "maybe", - "mayor", - "maze", - "mb", - "mc", - "md", - "me", - "meal", - "meals", - "mean", - "meaning", - "meanings", - "means", - "meant", - "meanwhile", - "measure", - "measured", - "measurement", - "measurements", - "measures", - "measuring", - "meat", - "mechanical", - "mechanics", - "mechanism", - "med", - "medal", - "medals", - "media", - "median", - "medical", - "medication", - "medicine", - "medicines", - "medieval", - "medio", - "meditation", - "mediterranean", - "medium", - "meer", - "meet", - "meeting", - "meetings", - "meets", - "meg", - "mega", - "mehr", - "mei", - "mel", - "melbourne", - "mem", - "member", - "members", - "membership", - "membrane", - "memo", - "memoir", - "memorable", - "memoria", - "memorial", - "memories", - "memory", - "men", - "menos", - "mens", - "mensaje", - "mental", - "mention", - "mentioned", - "mentions", - "mentor", - "menu", - "mer", - "merchant", - "merchants", - "mercury", - "mercy", - "mere", - "merely", - "merge", - "merged", - "merit", - "mes", - "mesa", - "mesh", - "mess", - "message", - "messages", - "messaging", - "messenger", - "mest", - "met", - "meta", - "metadata", - "metal", - "metals", - "meteor", - "meter", - "meters", - "method", - "methods", - "metre", - "metres", - "metric", - "metrics", - "metro", - "metropolitan", - "metros", - "mexican", - "mexico", - "meyer", - "među", - "mg", - "mi", - "miami", - "mic", - "michael", - "michigan", - "micro", - "microsoft", - "mid", - "middle", - "middleware", - "midi", - "midst", - "might", - "mighty", - "migrate", - "migration", - "migrations", - "mike", - "mil", - "milan", - "mile", - "miles", - "milestone", - "militar", - "military", - "militia", - "milk", - "mill", - "millennium", - "miller", - "million", - "millions", - "mills", - "milwaukee", - "mime", - "min", - "mind", - "minded", - "minds", - "mine", - "minecraft", - "minerals", - "miners", - "mines", - "ming", - "mini", - "minimal", - "minimize", - "minimum", - "mining", - "minister", - "ministers", - "ministry", - "minor", - "minorities", - "minority", - "mins", - "mint", - "minus", - "minute", - "minutes", - "mir", - "mirror", - "mis", - "misc", - "mise", - "miss", - "missed", - "missile", - "missiles", - "missing", - "mission", - "missionary", - "missions", - "mistake", - "mit", - "mitchell", - "mitt", - "mix", - "mixed", - "mixer", - "mixing", - "mixture", - "mk", - "mkdir", - "ml", - "mm", - "mn", - "mnist", - "mo", - "mob", - "mobile", - "mobility", - "mock", - "mod", - "modal", - "mode", - "model", - "modeling", - "modelo", - "models", - "moderate", - "modern", - "modes", - "modest", - "modification", - "modifications", - "modified", - "modifier", - "modify", - "modo", - "module", - "modules", - "mogelijk", - "moins", - "mol", - "molecular", - "molecule", - "molecules", - "mom", - "moment", - "moments", - "momentum", - "mon", - "monday", - "money", - "mongo", - "mongodb", - "mongoose", - "monitor", - "monitoring", - "monitors", - "monkey", - "mono", - "monster", - "mont", - "monte", - "montenegro", - "montgomery", - "month", - "monthly", - "months", - "montreal", - "monument", - "monuments", - "mood", - "moon", - "moore", - "mor", - "mora", - "moral", - "more", - "moreover", - "morgan", - "morning", - "morocco", - "morrison", - "mort", - "mortality", - "morton", - "moscow", - "moses", - "most", - "mostly", - "mot", - "moth", - "mother", - "mothers", - "moths", - "motion", - "motivated", - "motivation", - "motor", - "motorcycle", - "motto", - "mount", - "mountain", - "mountains", - "mounted", - "mouse", - "mouth", - "mov", - "move", - "moved", - "movement", - "movements", - "moves", - "movie", - "movies", - "moving", - "mozilla", - "mp", - "mph", - "mqtt", - "mr", - "mrs", - "ms", - "msg", - "msgs", - "mt", - "mu", - "much", - "mud", - "muhammad", - "mui", - "mul", - "mult", - "multi", - "multiple", - "multiply", - "municipal", - "murder", - "murdered", - "murphy", - "museum", - "museums", - "music", - "musical", - "musician", - "musicians", - "musik", - "muslim", - "must", - "mut", - "mutation", - "mutations", - "mutex", - "mutual", - "muy", - "mv", - "mvc", - "mx", - "my", - "myself", - "mysql", - "mysqli", - "mysterious", - "mystery", - "myth", - "mythology", - "myths", - "má", - "más", - "män", - "må", - "même", - "më", - "m", - "n", - "na", - "naam", - "naar", - "nach", - "nad", - "nail", - "naive", - "naj", - "naked", - "nam", - "nama", - "name", - "named", - "namely", - "namen", - "names", - "namespace", - "naming", - "nan", - "nancy", - "nano", - "napoleon", - "narrative", - "narrator", - "narrow", - "nas", - "nash", - "nat", - "natal", - "nation", - "national", - "nationalist", - "nationally", - "nationals", - "nations", - "nationwide", - "native", - "natura", - "natural", - "naturally", - "nature", - "nav", - "naval", - "navbar", - "nave", - "navigate", - "navigation", - "navigator", - "navy", - "nazi", - "nazis", - "nb", - "nbsp", - "nc", - "nd", - "ne", - "neal", - "near", - "nearby", - "nearest", - "nearly", - "necessarily", - "necessary", - "necessity", - "neck", - "ned", - "need", - "needed", - "needle", - "needs", - "neg", - "negative", - "nego", - "negotiate", - "negotiations", - "nei", - "neighbor", - "neighborhood", - "neighboring", - "neighbors", - "neighbourhood", - "neighbours", - "neither", - "nel", - "nell", - "nelle", - "nelson", - "nem", - "neo", - "nero", - "nest", - "nested", - "net", - "netflix", - "netherlands", - "nets", - "network", - "networking", - "networks", - "neu", - "neural", - "neurons", - "neutral", - "neve", - "never", - "nevertheless", - "new", - "newer", - "newly", - "news", - "newsletter", - "newspaper", - "newspapers", - "next", - "ng", - "nga", - "nginx", - "ni", - "nice", - "nich", - "nicht", - "nick", - "nickname", - "nie", - "nielsen", - "niet", - "night", - "nightmare", - "nije", - "nike", - "nil", - "nilai", - "nim", - "nin", - "nine", - "nineteenth", - "ning", - "nintendo", - "ninth", - "nio", - "niveau", - "nivel", - "nixon", - "njih", - "nl", - "nm", - "nn", - "no", - "nobel", - "nobility", - "noble", - "nobody", - "noch", - "node", - "nodes", - "nog", - "noise", - "nom", - "nombre", - "nome", - "nominal", - "nominated", - "nomination", - "nominations", - "non", - "none", - "nonetheless", - "noon", - "nor", - "nord", - "nordic", - "norm", - "normal", - "normalize", - "normalized", - "normally", - "norman", - "north", - "northeast", - "northern", - "northwest", - "northwestern", - "norway", - "nos", - "nose", - "not", - "nota", - "notable", - "notably", - "notation", - "note", - "notebook", - "noted", - "notes", - "nothing", - "notice", - "noticed", - "notices", - "notification", - "notifications", - "notify", - "noting", - "notion", - "notorious", - "nou", - "noun", - "nous", - "nov", - "nova", - "nove", - "novel", - "novels", - "november", - "novo", - "now", - "nowhere", - "np", - "npm", - "nr", - "ns", - "nth", - "nu", - "nuclear", - "nude", - "nuevo", - "null", - "nullable", - "nullptr", - "num", - "numa", - "number", - "numbered", - "numbers", - "nume", - "numeric", - "numerical", - "numero", - "numerous", - "nummer", - "numpy", - "nums", - "nun", - "nur", - "nursing", - "nutrients", - "nutrition", - "nuts", - "nvidia", - "nx", - "ny", - "nya", - "nye", - "n", - "não", - "né", - "née", - "o", - "oak", - "oath", - "oauth", - "ob", - "obj", - "object", - "objective", - "objects", - "oblast", - "obra", - "obs", - "observable", - "observation", - "observations", - "observatory", - "observe", - "observed", - "observer", - "observers", - "obstacle", - "obstacles", - "obtain", - "obtained", - "obtaining", - "obvious", - "obviously", - "occasion", - "occasional", - "occasionally", - "occasions", - "occupation", - "occupied", - "occur", - "occurred", - "occurrence", - "occurring", - "occurs", - "ocean", - "och", - "oct", - "october", - "octubre", - "od", - "odd", - "odds", - "oder", - "of", - "off", - "offense", - "offensive", - "offer", - "offered", - "offering", - "offerings", - "offers", - "office", - "officer", - "officers", - "offices", - "official", - "officially", - "officials", - "offline", - "offs", - "offset", - "offshore", - "oficial", - "oft", - "ofte", - "often", - "og", - "oggi", - "oh", - "oil", - "oils", - "ok", - "okay", - "oko", - "ol", - "olan", - "old", - "older", - "oldest", - "ole", - "oli", - "olive", - "oltre", - "olympic", - "olympics", - "om", - "omar", - "omega", - "område", - "området", - "on", - "onChange", - "onClick", - "onCreate", - "ona", - "once", - "onclick", - "onde", - "onder", - "one", - "ones", - "ongoing", - "oni", - "online", - "only", - "onset", - "ont", - "ontario", - "onto", - "onwards", - "ook", - "op", - "opacity", - "open", - "opencv", - "opened", - "opener", - "opening", - "openly", - "opens", - "opensource", - "opera", - "operate", - "operated", - "operates", - "operating", - "operation", - "operational", - "operations", - "operative", - "operator", - "operators", - "opinion", - "opinions", - "opponent", - "opponents", - "opportunities", - "opportunity", - "opposed", - "opposing", - "opposite", - "opposition", - "ops", - "opt", - "opted", - "optical", - "optimal", - "optimization", - "optimize", - "optimizer", - "option", - "optional", - "options", - "opts", - "opus", - "or", - "ora", - "oracle", - "oral", - "orange", - "orbit", - "orbital", - "orchestra", - "ord", - "ordained", - "orden", - "order", - "ordered", - "ordering", - "orders", - "ordinary", - "ordre", - "ore", - "org", - "organ", - "organic", - "organisation", - "organisations", - "organised", - "organisms", - "organization", - "organizations", - "organize", - "organized", - "ori", - "orient", - "oriental", - "orientation", - "oriented", - "orig", - "origin", - "original", - "originally", - "originated", - "origine", - "origins", - "orlando", - "orleans", - "orm", - "oro", - "orthodox", - "os", - "other", - "others", - "otherwise", - "otok", - "otra", - "otras", - "otro", - "otros", - "ottawa", - "otto", - "ou", - "oude", - "ought", - "our", - "ourselves", - "out", - "outbreak", - "outcome", - "outdoor", - "outer", - "outlet", - "outline", - "outlined", - "outlook", - "output", - "outputs", - "outside", - "outstanding", - "oval", - "over", - "overall", - "overcome", - "overflow", - "overlap", - "overlay", - "overnight", - "override", - "overseas", - "oversight", - "overtime", - "overview", - "owing", - "owl", - "own", - "owned", - "owner", - "owners", - "ownership", - "owns", - "ox", - "oxford", - "oxide", - "oxygen", - "oz", - "où", - "p", - "pH", - "pa", - "pac", - "pace", - "pacific", - "pack", - "package", - "packages", - "packaging", - "packed", - "packet", - "packets", - "pad", - "padding", - "paddle", - "pady", - "page", - "pages", - "pagination", - "pai", - "paid", - "pain", - "paint", - "painted", - "painters", - "painting", - "paintings", - "pair", - "paired", - "pairs", - "pak", - "pakistan", - "palace", - "pale", - "palette", - "palm", - "pan", - "pandas", - "pandemic", - "panel", - "panels", - "panic", - "pants", - "papal", - "paper", - "papers", - "papua", - "par", - "para", - "paradise", - "paragraph", - "parallel", - "param", - "parameter", - "parameters", - "paramount", - "params", - "pare", - "parent", - "parents", - "paris", - "park", - "parker", - "parking", - "parks", - "parliament", - "parliamentary", - "parse", - "parseInt", - "parsed", - "parser", - "parsing", - "part", - "parte", - "parti", - "partial", - "partially", - "participant", - "participants", - "participate", - "participated", - "participating", - "participation", - "particle", - "particles", - "particular", - "particularly", - "partido", - "partie", - "parties", - "partisan", - "partition", - "partly", - "partner", - "partners", - "partnership", - "parts", - "party", - "pas", - "paso", - "pass", - "passage", - "passages", - "passed", - "passenger", - "passengers", - "passes", - "passing", - "passion", - "passive", - "passport", - "passwd", - "password", - "passwords", - "past", - "paste", - "pat", - "patch", - "patches", - "path", - "pathname", - "paths", - "pathway", - "patience", - "patient", - "patients", - "patricia", - "patrick", - "patrol", - "patron", - "pattern", - "patterns", - "patterson", - "pau", - "paul", - "pause", - "pay", - "paying", - "payload", - "payment", - "payments", - "pays", - "pb", - "pc", - "pd", - "pdf", - "pe", - "peace", - "peak", - "peaked", - "peaks", - "pedro", - "peek", - "peer", - "peers", - "pel", - "pela", - "pen", - "penalty", - "pending", - "penis", - "penny", - "pension", - "people", - "peoples", - "pepper", - "per", - "perceived", - "percent", - "percentage", - "perception", - "percussion", - "pere", - "perfect", - "perfectly", - "perform", - "performance", - "performances", - "performed", - "performer", - "performers", - "performing", - "performs", - "perhaps", - "period", - "periode", - "periodic", - "periods", - "perl", - "permalink", - "permanent", - "permanently", - "permission", - "permissions", - "permit", - "permits", - "permitted", - "pero", - "persecution", - "persist", - "persistence", - "persistent", - "person", - "persona", - "personal", - "personality", - "personally", - "personnel", - "persons", - "perspective", - "perspectives", - "peru", - "peso", - "pest", - "pet", - "peter", - "petition", - "pets", - "pg", - "ph", - "phantom", - "phase", - "phases", - "phenomena", - "phi", - "phil", - "philadelphia", - "philippines", - "philosopher", - "philosophy", - "phoenix", - "phone", - "phones", - "photo", - "photograph", - "photographer", - "photographers", - "photographs", - "photography", - "photos", - "php", - "phrase", - "phrases", - "physical", - "physically", - "physicians", - "physicist", - "physics", - "pi", - "piano", - "pic", - "pick", - "picked", - "picker", - "picking", - "pickle", - "picks", - "pickup", - "pics", - "picture", - "pictures", - "pid", - "pie", - "piece", - "pieces", - "pier", - "pierce", - "pig", - "pike", - "pile", - "pill", - "pills", - "pilot", - "pilots", - "pin", - "pine", - "ping", - "pink", - "pins", - "pioneer", - "pip", - "pipe", - "pipeline", - "pipes", - "pit", - "pitch", - "pius", - "pivot", - "pixel", - "pixels", - "pizza", - "pk", - "pkg", - "pkl", - "pl", - "plaats", - "place", - "placed", - "placeholder", - "placement", - "places", - "placing", - "plain", - "plan", - "plane", - "planes", - "planet", - "planets", - "planned", - "planning", - "plans", - "plant", - "planted", - "plants", - "plasma", - "plastic", - "plate", - "plateau", - "plates", - "platform", - "platforms", - "play", - "played", - "player", - "players", - "playground", - "playing", - "playlist", - "playoff", - "playoffs", - "plays", - "pleasant", - "please", - "pleased", - "pleasure", - "pledge", - "plot", - "plots", - "plotting", - "plt", - "plug", - "plugin", - "plugins", - "plural", - "plurality", - "plus", - "pm", - "png", - "po", - "poc", - "pocket", - "pod", - "podcast", - "pods", - "poet", - "poetry", - "poets", - "poi", - "point", - "pointed", - "pointer", - "pointing", - "points", - "poison", - "pokemon", - "poker", - "pol", - "poland", - "polar", - "pole", - "poles", - "police", - "policies", - "policy", - "polish", - "political", - "politically", - "politician", - "politicians", - "politics", - "politik", - "polk", - "poll", - "polling", - "polls", - "polska", - "poly", - "polygon", - "polymer", - "polynomial", - "pond", - "pont", - "pool", - "pools", - "poor", - "poorly", - "pop", - "pope", - "popular", - "popularity", - "populate", - "populated", - "population", - "popup", - "por", - "porn", - "porque", - "port", - "porta", - "portable", - "portal", - "porter", - "portfolio", - "portion", - "portions", - "portland", - "porto", - "portrait", - "portraits", - "portrayed", - "ports", - "portugal", - "portuguese", - "pos", - "pose", - "posed", - "poses", - "position", - "positions", - "positive", - "possess", - "possessed", - "possession", - "possibility", - "possible", - "possibly", - "post", - "postal", - "posted", - "poster", - "posterior", - "postgres", - "postgresql", - "posting", - "posto", - "posts", - "pot", - "potential", - "potter", - "pound", - "pounds", - "pour", - "poverty", - "pow", - "powder", - "power", - "powered", - "powerful", - "powers", - "pp", - "pr", - "practical", - "practice", - "practiced", - "practices", - "practicing", - "pragma", - "praise", - "praised", - "pray", - "prayer", - "prayers", - "pre", - "preceded", - "preceding", - "precio", - "precious", - "precipitation", - "precise", - "precisely", - "precision", - "pred", - "predecessor", - "predict", - "predicted", - "prediction", - "predictions", - "predominantly", - "prefer", - "preference", - "preferences", - "preferred", - "prefix", - "pregnancy", - "pregnant", - "prehistoric", - "premier", - "premiere", - "premiered", - "premises", - "premium", - "prep", - "preparation", - "prepare", - "prepared", - "preparing", - "preprocessing", - "prescribed", - "prescription", - "presence", - "present", - "presentation", - "presente", - "presented", - "presents", - "preservation", - "preserve", - "preserved", - "preset", - "presidency", - "president", - "presidential", - "presidents", - "press", - "pressed", - "pressing", - "presso", - "pressure", - "presumably", - "pretty", - "prev", - "prevalent", - "prevent", - "preventDefault", - "prevented", - "preventing", - "prevents", - "preview", - "previous", - "previously", - "prey", - "pri", - "price", - "prices", - "pricing", - "pride", - "priest", - "priests", - "prima", - "primarily", - "primary", - "prime", - "primer", - "primitive", - "prin", - "prince", - "princess", - "principal", - "principle", - "principles", - "print", - "printStackTrace", - "printed", - "printer", - "printf", - "printing", - "println", - "prints", - "prior", - "priorities", - "priority", - "prison", - "prisoner", - "prisoners", - "privacy", - "private", - "privilege", - "privileges", - "prix", - "prize", - "prizes", - "pro", - "prob", - "probability", - "probable", - "probably", - "probe", - "problem", - "problems", - "proc", - "procedure", - "procedures", - "proceed", - "proceeded", - "proceedings", - "proces", - "process", - "processed", - "processes", - "processing", - "processor", - "processors", - "proclaimed", - "procurement", - "prod", - "produce", - "produced", - "producer", - "producers", - "produces", - "producing", - "product", - "production", - "productions", - "productive", - "producto", - "productos", - "products", - "produto", - "prof", - "profession", - "professional", - "professionally", - "professionals", - "professor", - "professors", - "profile", - "profiles", - "profit", - "profitable", - "profits", - "profound", - "prog", - "program", - "programa", - "programme", - "programmer", - "programming", - "programs", - "progress", - "progressive", - "prohibited", - "prohibition", - "proj", - "project", - "projected", - "projection", - "projects", - "projekt", - "prominence", - "prominent", - "promise", - "promised", - "promises", - "promising", - "promote", - "promoted", - "promoting", - "promotion", - "promotional", - "prompt", - "prompted", - "prone", - "pronounced", - "proof", - "prop", - "propaganda", - "proper", - "properly", - "properties", - "property", - "proportion", - "proposal", - "proposals", - "proposed", - "proposition", - "proprio", - "props", - "pros", - "prosecutor", - "prospect", - "prospects", - "prosperity", - "protagonist", - "protect", - "protected", - "protecting", - "protection", - "protective", - "protein", - "protest", - "protesters", - "protests", - "proto", - "protocol", - "protocols", - "prototype", - "proud", - "prove", - "proved", - "proven", - "proves", - "provide", - "provided", - "provider", - "providers", - "provides", - "providing", - "province", - "provincial", - "provision", - "provisional", - "provisions", - "proxy", - "près", - "ps", - "pseudo", - "psychological", - "pt", - "pthread", - "ptr", - "pts", - "pub", - "public", - "publication", - "publications", - "publicity", - "publicly", - "publish", - "published", - "publisher", - "publishers", - "publishing", - "puis", - "pull", - "pulled", - "pulls", - "pulse", - "pump", - "punch", - "punct", - "punishment", - "punk", - "punkt", - "punt", - "pupils", - "puppet", - "purchase", - "purchased", - "purchases", - "pure", - "purely", - "purple", - "purpose", - "purposes", - "pursuant", - "pursue", - "pursued", - "push", - "pushed", - "pushing", - "put", - "puts", - "putting", - "puzzle", - "pw", - "pwd", - "px", - "py", - "pygame", - "pyplot", - "pyramid", - "pytest", - "python", - "pytorch", - "p–", - "på", - "q", - "qa", - "qi", - "qq", - "qt", - "qty", - "qu", - "quad", - "qual", - "quali", - "qualification", - "qualified", - "qualifier", - "qualify", - "qualifying", - "qualities", - "quality", - "quals", - "quan", - "quando", - "quantities", - "quantity", - "quanto", - "quantum", - "quarter", - "quarters", - "quartet", - "quasi", - "que", - "queen", - "queries", - "query", - "querySelector", - "quest", - "questa", - "question", - "questioned", - "questions", - "queue", - "qui", - "quick", - "quickly", - "quiet", - "quietly", - "quinta", - "quit", - "quite", - "quiz", - "quo", - "quot", - "quota", - "quote", - "quoted", - "quotes", - "què", - "q", - "r", - "ra", - "rabbi", - "rabbit", - "race", - "races", - "rachel", - "racial", - "racing", - "racism", - "racist", - "rack", - "rad", - "rada", - "radar", - "radiation", - "radical", - "radio", - "radius", - "rafael", - "rage", - "raid", - "raids", - "rail", - "railroad", - "rails", - "railway", - "rain", - "rainfall", - "raise", - "raised", - "raises", - "raising", - "raj", - "raja", - "rake", - "rally", - "ralph", - "ram", - "rama", - "rams", - "ran", - "ranch", - "rand", - "random", - "rang", - "range", - "ranger", - "ranges", - "ranging", - "rank", - "ranked", - "ranking", - "ranks", - "rap", - "rape", - "rapid", - "rapidly", - "rapper", - "rapport", - "rare", - "rarely", - "rat", - "rate", - "rated", - "rates", - "rather", - "rating", - "ratings", - "ratio", - "rational", - "rats", - "raw", - "ray", - "rays", - "rb", - "rc", - "rd", - "re", - "reach", - "reached", - "reaching", - "react", - "reaction", - "reactions", - "reactive", - "reactor", - "read", - "readable", - "reader", - "readers", - "readily", - "reading", - "readline", - "readme", - "readonly", - "reads", - "ready", - "real", - "realistic", - "reality", - "realize", - "realized", - "really", - "realm", - "rear", - "reason", - "reasonable", - "reasoning", - "reasons", - "rebel", - "rebellion", - "rebels", - "rebounds", - "rebuild", - "rec", - "recall", - "recalled", - "recalls", - "receipt", - "receive", - "received", - "receiver", - "receives", - "receiving", - "recent", - "recently", - "reception", - "recipe", - "recipes", - "recipient", - "recipients", - "recognised", - "recognition", - "recognize", - "recognized", - "recommend", - "recommendation", - "recommendations", - "recommended", - "reconnaissance", - "reconstruction", - "record", - "recorded", - "recorder", - "recording", - "recordings", - "records", - "recover", - "recovered", - "recovery", - "recreation", - "recreational", - "recruit", - "recruited", - "recruitment", - "rect", - "rectangle", - "rectangular", - "rector", - "recurring", - "recursive", - "recv", - "red", - "reda", - "reddit", - "redirect", - "redis", - "redistribute", - "reduce", - "reduced", - "reduces", - "reducing", - "reduction", - "redux", - "reed", - "reef", - "ref", - "refer", - "reference", - "referenced", - "references", - "referendum", - "referred", - "referring", - "refers", - "reflect", - "reflected", - "reflecting", - "reflection", - "reflects", - "reform", - "reforms", - "refresh", - "refs", - "refugee", - "refugees", - "refuse", - "refused", - "refuses", - "reg", - "regard", - "regarded", - "regarding", - "regardless", - "regel", - "regex", - "regexp", - "regime", - "regiment", - "regina", - "region", - "regional", - "regions", - "register", - "registered", - "registers", - "registration", - "registro", - "registry", - "regression", - "regular", - "regularly", - "regulate", - "regulated", - "regulation", - "regulations", - "regulatory", - "rei", - "reich", - "reign", - "reis", - "reject", - "rejected", - "rejection", - "rel", - "relate", - "related", - "relates", - "relating", - "relation", - "relations", - "relationship", - "relationships", - "relative", - "relatively", - "relatives", - "relay", - "release", - "released", - "releases", - "releasing", - "relevant", - "reliable", - "relied", - "relief", - "religion", - "religious", - "reload", - "relocated", - "relu", - "rely", - "rem", - "remain", - "remainder", - "remained", - "remaining", - "remains", - "remake", - "remarkable", - "remarks", - "remedy", - "remember", - "remembered", - "reminder", - "remote", - "removal", - "remove", - "removeClass", - "removed", - "removing", - "rename", - "renamed", - "render", - "rendered", - "renderer", - "rendering", - "renders", - "renewal", - "renewed", - "renovation", - "renowned", - "rent", - "rep", - "repair", - "repairs", - "repeat", - "repeated", - "repeatedly", - "replace", - "replaced", - "replacement", - "replacing", - "replay", - "replica", - "replied", - "replies", - "reply", - "repo", - "report", - "reported", - "reporter", - "reporting", - "reports", - "repos", - "repositories", - "repository", - "repr", - "represent", - "representation", - "representations", - "representative", - "representatives", - "represented", - "representing", - "represents", - "reproductive", - "republic", - "republican", - "republicans", - "reputation", - "req", - "request", - "requested", - "requests", - "require", - "required", - "requirement", - "requirements", - "requires", - "requiring", - "res", - "rescue", - "rescued", - "research", - "researcher", - "reservation", - "reserve", - "reserved", - "reset", - "reshape", - "residence", - "resident", - "residents", - "residing", - "resign", - "resignation", - "resigned", - "resist", - "resistance", - "resistant", - "resize", - "resolution", - "resolve", - "resolved", - "resolver", - "resort", - "resource", - "resources", - "resp", - "respect", - "respected", - "respective", - "respectively", - "respond", - "responded", - "responding", - "responds", - "response", - "responses", - "responsibilities", - "responsibility", - "responsible", - "responsive", - "rest", - "restart", - "restaurant", - "restaurants", - "reste", - "restoration", - "restore", - "restored", - "restrict", - "restricted", - "restriction", - "restrictions", - "result", - "resultado", - "resulted", - "resulting", - "results", - "resume", - "resumed", - "resurrection", - "ret", - "retail", - "retain", - "retained", - "retention", - "retire", - "retired", - "retirement", - "retiring", - "retreat", - "retrieve", - "retry", - "return", - "returned", - "returning", - "returns", - "reunion", - "rev", - "reveal", - "revealed", - "reveals", - "revenge", - "revenue", - "reverse", - "reversed", - "review", - "reviewed", - "reviewer", - "reviewing", - "reviews", - "revised", - "revision", - "revival", - "revolt", - "revolution", - "revolutionary", - "reward", - "rewards", - "rex", - "rey", - "rf", - "rgb", - "rgba", - "rhythm", - "ri", - "ribbon", - "rica", - "rice", - "rich", - "richard", - "richards", - "richmond", - "rick", - "rico", - "rid", - "ride", - "rider", - "riders", - "rides", - "ridge", - "riding", - "rifle", - "rifles", - "right", - "rights", - "rigid", - "rijk", - "rim", - "ring", - "rings", - "rio", - "riot", - "riots", - "rise", - "rises", - "rising", - "risk", - "rita", - "ritual", - "riu", - "rival", - "rivalry", - "rivals", - "river", - "rivers", - "rm", - "ro", - "road", - "roads", - "rob", - "robert", - "roberts", - "robinson", - "robot", - "robots", - "robust", - "rock", - "rocket", - "rockets", - "rocks", - "rod", - "rode", - "rodriguez", - "roger", - "roi", - "rok", - "roku", - "rol", - "role", - "roles", - "roll", - "rolle", - "rolled", - "roller", - "rolling", - "rolls", - "rom", - "roma", - "roman", - "romance", - "romans", - "romantic", - "rome", - "román", - "ron", - "rond", - "roof", - "rookie", - "room", - "rooms", - "root", - "roots", - "rope", - "ros", - "rosa", - "rose", - "roses", - "ross", - "roster", - "rot", - "rotate", - "rotation", - "rough", - "roughly", - "round", - "rounded", - "rounds", - "route", - "router", - "routes", - "routine", - "routing", - "rovers", - "row", - "rowing", - "rows", - "roy", - "royal", - "rpm", - "rs", - "rst", - "rt", - "ru", - "ruby", - "rue", - "ruins", - "rule", - "ruled", - "ruler", - "rulers", - "rules", - "ruling", - "rum", - "rumors", - "run", - "runner", - "runners", - "running", - "runs", - "runtime", - "rural", - "rus", - "rush", - "rushed", - "russell", - "russia", - "russian", - "rust", - "ruth", - "rv", - "rx", - "ryan", - "s", - "sa", - "sacred", - "sacrifice", - "sad", - "safe", - "safely", - "safety", - "sage", - "said", - "sail", - "sailed", - "sailors", - "saint", - "sake", - "sal", - "salary", - "sale", - "sales", - "sally", - "salmon", - "salon", - "salt", - "salvador", - "sam", - "sama", - "same", - "sample", - "samples", - "sampling", - "samuel", - "san", - "sanctions", - "sanctuary", - "sand", - "sandbox", - "sang", - "sankt", - "sans", - "sanskrit", - "santo", - "sarah", - "sass", - "sat", - "satellite", - "satellites", - "satisfaction", - "satisfied", - "satisfy", - "saturday", - "sau", - "save", - "saved", - "saves", - "saving", - "savings", - "saw", - "say", - "saying", - "says", - "sb", - "sc", - "scala", - "scalar", - "scale", - "scaled", - "scales", - "scaling", - "scan", - "scanf", - "scanner", - "scared", - "scatter", - "scattered", - "scenario", - "scenarios", - "scene", - "scenes", - "scenic", - "schedule", - "scheduled", - "scheduler", - "scheduling", - "schema", - "schemas", - "scheme", - "schemes", - "schmidt", - "scholar", - "scholarly", - "scholars", - "scholarship", - "school", - "schools", - "sci", - "science", - "sciences", - "scientific", - "scientists", - "scipy", - "scope", - "score", - "scored", - "scorer", - "scores", - "scoring", - "scotia", - "scotland", - "scott", - "scout", - "scouts", - "scratch", - "screen", - "screening", - "screenplay", - "screens", - "screenshot", - "script", - "scripts", - "scroll", - "scss", - "sculpture", - "sculptures", - "sd", - "sdk", - "se", - "sea", - "seal", - "sealed", - "search", - "searched", - "searches", - "searching", - "seas", - "season", - "seasonal", - "seasons", - "seat", - "seated", - "seats", - "seattle", - "sec", - "second", - "secondary", - "seconds", - "secret", - "secretary", - "secretly", - "secrets", - "sect", - "section", - "sections", - "sector", - "sectors", - "secular", - "secure", - "secured", - "securing", - "security", - "sed", - "see", - "seed", - "seeds", - "seeing", - "seek", - "seeking", - "seeks", - "seem", - "seemed", - "seemingly", - "seems", - "seen", - "sees", - "seg", - "segment", - "segments", - "segunda", - "sei", - "sein", - "seit", - "seized", - "sel", - "select", - "selected", - "selection", - "selections", - "selective", - "selector", - "selenium", - "self", - "sell", - "seller", - "sellers", - "selling", - "sells", - "sem", - "semantic", - "semester", - "semi", - "semifinals", - "sen", - "senate", - "senator", - "senators", - "send", - "sender", - "sending", - "senha", - "senior", - "sens", - "sense", - "sensitive", - "sensitivity", - "sensor", - "sensors", - "sent", - "sentence", - "sentenced", - "sentences", - "sentiment", - "sentinel", - "sep", - "separate", - "separated", - "separately", - "separation", - "separator", - "sept", - "september", - "seq", - "sequel", - "sequence", - "sequences", - "sequential", - "ser", - "sera", - "serbia", - "serbian", - "sergeant", - "serial", - "serialize", - "serie", - "series", - "serif", - "serious", - "seriously", - "servant", - "servants", - "serve", - "served", - "server", - "servers", - "serves", - "service", - "services", - "serving", - "servlet", - "servo", - "ses", - "sess", - "session", - "sessions", - "set", - "setAttribute", - "setState", - "setText", - "setTimeout", - "setUp", - "setValue", - "seth", - "sets", - "setter", - "setting", - "settings", - "settle", - "settled", - "settlement", - "setup", - "seu", - "seus", - "seven", - "seventeen", - "seventh", - "several", - "severe", - "severely", - "severity", - "sex", - "sexual", - "sexuality", - "sexually", - "sexy", - "sf", - "sg", - "sh", - "sha", - "shade", - "shader", - "shadow", - "shadows", - "shaft", - "shah", - "shake", - "shakespeare", - "shall", - "shallow", - "shame", - "shape", - "shaped", - "shapes", - "share", - "shared", - "shares", - "sharing", - "shark", - "sharma", - "sharp", - "shaw", - "she", - "shed", - "sheep", - "sheet", - "sheets", - "shelf", - "shell", - "shells", - "shepherd", - "shi", - "shield", - "shift", - "shifted", - "shifting", - "shifts", - "shin", - "shine", - "ship", - "shipped", - "shipping", - "ships", - "shirt", - "shirts", - "shit", - "shock", - "shoe", - "shoes", - "shoot", - "shooter", - "shooting", - "shop", - "shopping", - "shops", - "shore", - "short", - "shortage", - "shortcuts", - "shortened", - "shorter", - "shortest", - "shortly", - "shorts", - "shot", - "shots", - "should", - "shoulder", - "shoulders", - "show", - "showed", - "showing", - "shown", - "shows", - "shrine", - "shuffle", - "shut", - "shutdown", - "shy", - "si", - "sia", - "siblings", - "sick", - "sid", - "side", - "sidebar", - "sided", - "sides", - "sie", - "siege", - "siehe", - "sierra", - "sig", - "sight", - "sigma", - "sigmoid", - "sign", - "signal", - "signals", - "signature", - "signatures", - "signed", - "significance", - "significant", - "significantly", - "signin", - "signing", - "signs", - "signup", - "silence", - "silent", - "silver", - "sim", - "similar", - "similarities", - "similarity", - "similarly", - "simon", - "simple", - "simply", - "simpson", - "simulate", - "simulation", - "simulator", - "simultaneously", - "sin", - "sina", - "since", - "sing", - "singer", - "singh", - "singing", - "single", - "singles", - "singleton", - "singular", - "sinh", - "sink", - "sino", - "sins", - "sint", - "sir", - "sister", - "sisters", - "sit", - "site", - "sites", - "sits", - "sitting", - "situation", - "situations", - "six", - "sixteen", - "sixth", - "sixty", - "size", - "sized", - "sizeof", - "sizes", - "sizing", - "sk", - "ska", - "skal", - "skeleton", - "sketch", - "ski", - "skill", - "skilled", - "skills", - "skin", - "skip", - "sklearn", - "skull", - "sky", - "sl", - "slack", - "slag", - "slam", - "slash", - "slave", - "slavery", - "slaves", - "sleep", - "sleeping", - "slice", - "slide", - "slider", - "slides", - "sliding", - "slight", - "slightly", - "slim", - "slip", - "slope", - "slot", - "slots", - "slow", - "slower", - "slowly", - "slug", - "sm", - "small", - "smaller", - "smallest", - "smart", - "smell", - "smile", - "smith", - "smoke", - "smoking", - "smooth", - "smtp", - "snake", - "snap", - "snapshot", - "snippet", - "snow", - "sns", - "so", - "soap", - "sob", - "sobre", - "social", - "societies", - "society", - "sock", - "socket", - "soft", - "software", - "soil", - "sol", - "solar", - "sold", - "soldier", - "soldiers", - "sole", - "solely", - "solid", - "solo", - "solution", - "solutions", - "solve", - "solved", - "solver", - "solving", - "som", - "soma", - "some", - "somebody", - "someone", - "something", - "sometime", - "sometimes", - "somewhat", - "somewhere", - "son", - "song", - "songs", - "songwriter", - "sono", - "sons", - "sony", - "soon", - "sophie", - "sophisticated", - "sophomore", - "sorry", - "sort", - "sorted", - "sorting", - "sought", - "soul", - "souls", - "sound", - "sounds", - "soundtrack", - "soup", - "source", - "sources", - "south", - "southeastern", - "southern", - "sovereign", - "sovereignty", - "soviet", - "sox", - "sp", - "spa", - "space", - "spaces", - "spacing", - "spain", - "spam", - "span", - "spanish", - "spanning", - "spans", - "spare", - "spark", - "sparse", - "spatial", - "spawn", - "speak", - "speaker", - "speaking", - "speaks", - "spec", - "special", - "specialist", - "specialists", - "specialized", - "specially", - "specialty", - "species", - "specific", - "specifically", - "specification", - "specified", - "specify", - "specimen", - "specimens", - "specs", - "spectrum", - "speculation", - "speech", - "speeches", - "speed", - "spell", - "spencer", - "spend", - "spending", - "spent", - "sphere", - "sphinx", - "spider", - "spike", - "spin", - "spine", - "spinner", - "spiral", - "spirit", - "spirits", - "spiritual", - "spite", - "splash", - "splice", - "split", - "splits", - "splitting", - "spoke", - "spoken", - "spokesman", - "spokesperson", - "sponsor", - "sponsored", - "sponsors", - "sport", - "sports", - "spot", - "spotify", - "spots", - "spotted", - "spre", - "spread", - "spreading", - "spring", - "springframework", - "springs", - "sprint", - "sprintf", - "sprite", - "sprites", - "spy", - "sq", - "sql", - "sqlite", - "sqrt", - "squad", - "squadron", - "square", - "squared", - "squares", - "squeeze", - "sr", - "src", - "sri", - "srv", - "ss", - "ssh", - "ssl", - "st", - "sta", - "staat", - "stability", - "stable", - "stack", - "stackoverflow", - "stad", - "stadt", - "staff", - "stage", - "staged", - "stages", - "staging", - "stairs", - "stake", - "stakes", - "stal", - "stalin", - "stamp", - "stamps", - "stan", - "stance", - "stand", - "standalone", - "standard", - "standards", - "standing", - "stands", - "stanford", - "stanley", - "star", - "stark", - "starred", - "starring", - "stars", - "start", - "started", - "starter", - "starting", - "starts", - "startup", - "stat", - "stata", - "state", - "stated", - "statement", - "statements", - "states", - "stati", - "static", - "stating", - "station", - "stationed", - "stations", - "statistical", - "statistics", - "stats", - "statue", - "status", - "statute", - "stay", - "stayed", - "staying", - "std", - "stderr", - "stdin", - "stdio", - "stdlib", - "stdout", - "steady", - "steal", - "stealing", - "steam", - "steel", - "steep", - "steering", - "stefan", - "stellar", - "stelle", - "stem", - "stems", - "step", - "stephanie", - "stephen", - "stepped", - "steps", - "stern", - "steve", - "stick", - "sticky", - "stil", - "still", - "stint", - "stmt", - "stock", - "stocks", - "stolen", - "stomach", - "stone", - "stones", - "stood", - "stop", - "stopped", - "stopping", - "stops", - "stor", - "storage", - "store", - "stored", - "stores", - "stories", - "storm", - "storms", - "story", - "str", - "straight", - "strain", - "strait", - "strand", - "strange", - "stranger", - "strategic", - "strategies", - "strategy", - "strcmp", - "streak", - "stream", - "streaming", - "streams", - "street", - "streets", - "strength", - "strengthen", - "stress", - "stretch", - "stretched", - "strict", - "strictly", - "stride", - "strike", - "strikes", - "striking", - "string", - "stringify", - "strings", - "strip", - "stripe", - "stripped", - "strips", - "strlen", - "stroke", - "strong", - "stronger", - "strongly", - "struck", - "struct", - "structural", - "structure", - "structured", - "structures", - "struggle", - "struggled", - "struggles", - "struggling", - "stub", - "stuck", - "student", - "students", - "studied", - "studies", - "studio", - "studios", - "study", - "studying", - "stuff", - "stupid", - "style", - "styled", - "styles", - "stylesheet", - "står", - "su", - "sub", - "subject", - "subjected", - "subjects", - "sublime", - "submarine", - "submarines", - "submission", - "submissions", - "submit", - "submitted", - "subnet", - "subplot", - "subprocess", - "subscribe", - "subscriber", - "subscribers", - "subscription", - "subsequent", - "subsequently", - "subset", - "subsidiary", - "substantial", - "substantially", - "substitute", - "substr", - "substrate", - "substring", - "subtitle", - "subtle", - "subtract", - "suburb", - "succeed", - "succeeded", - "success", - "successful", - "successfully", - "succession", - "successor", - "such", - "sud", - "sudden", - "suddenly", - "sudo", - "sue", - "suffer", - "suffered", - "suffering", - "sufficient", - "suffix", - "sugar", - "suggest", - "suggested", - "suggesting", - "suggestion", - "suggestions", - "suggests", - "sui", - "suicide", - "suit", - "suitable", - "suite", - "suited", - "suits", - "sul", - "sum", - "suma", - "summary", - "summer", - "summit", - "sun", - "sung", - "sunny", - "sup", - "super", - "superior", - "supernatural", - "supervised", - "supervisor", - "supplement", - "supplied", - "supplier", - "supplies", - "supply", - "support", - "supported", - "supporter", - "supporters", - "supporting", - "supports", - "suppose", - "supposed", - "suppress", - "supreme", - "sur", - "sure", - "surely", - "surf", - "surface", - "surfaces", - "surge", - "surname", - "surplus", - "surprise", - "surprised", - "surprising", - "surprisingly", - "surrender", - "surrounded", - "surrounding", - "surveillance", - "survey", - "survival", - "survive", - "survived", - "surviving", - "survivor", - "survivors", - "sus", - "suspected", - "suspects", - "suspend", - "suspicious", - "sustained", - "sv", - "svg", - "sw", - "swagger", - "swan", - "swap", - "sweden", - "sweep", - "sweet", - "swept", - "swift", - "swim", - "swing", - "swiss", - "switch", - "switches", - "switching", - "sword", - "sx", - "sy", - "sydney", - "sym", - "symbol", - "symbolic", - "symbols", - "symmetric", - "symphony", - "symptoms", - "syn", - "sync", - "synchronized", - "synonym", - "syntax", - "synthesis", - "synthetic", - "sys", - "system", - "systematic", - "systems", - "sz", - "szent", - "são", - "så", - "só", - "t", - "ta", - "tab", - "tabla", - "table", - "tableau", - "tables", - "tablet", - "tabs", - "tackle", - "tactical", - "tactics", - "tag", - "tagged", - "tags", - "tai", - "tail", - "taiwanese", - "taj", - "tak", - "take", - "taken", - "takes", - "taking", - "tal", - "tale", - "talent", - "taliban", - "talk", - "talked", - "talking", - "talks", - "tall", - "tam", - "tampa", - "tan", - "tang", - "tank", - "tanks", - "tant", - "tap", - "tape", - "tar", - "target", - "targeted", - "targeting", - "targets", - "tas", - "task", - "tasks", - "taste", - "tau", - "taught", - "tax", - "taxa", - "taxes", - "taxi", - "taxonomy", - "taylor", - "tb", - "tbody", - "tc", - "tcp", - "td", - "te", - "tea", - "teach", - "teacher", - "teachers", - "teaching", - "team", - "teammates", - "teams", - "tear", - "tears", - "tech", - "technical", - "technically", - "technique", - "techniques", - "technologies", - "technology", - "ted", - "tedy", - "teen", - "teenage", - "teenager", - "teenagers", - "teens", - "teeth", - "tega", - "tegen", - "teil", - "tej", - "tek", - "tel", - "telegram", - "telegraph", - "telephone", - "telescope", - "television", - "tell", - "telling", - "tells", - "tem", - "tema", - "temp", - "temperature", - "template", - "templates", - "temple", - "temples", - "tempo", - "temporal", - "temporarily", - "temporary", - "temps", - "ten", - "tenant", - "tend", - "tendency", - "tender", - "tends", - "tenir", - "tennis", - "tens", - "tension", - "tensions", - "tensor", - "tensorflow", - "tent", - "tenth", - "tenure", - "ter", - "term", - "terminal", - "terminals", - "terminate", - "terminated", - "terminology", - "terminus", - "terms", - "terra", - "terraform", - "terrain", - "terre", - "terrible", - "territorial", - "territories", - "territory", - "terror", - "terrorism", - "terrorist", - "terry", - "test", - "teste", - "tested", - "testimony", - "testing", - "tests", - "teve", - "tex", - "texas", - "text", - "textarea", - "textile", - "texto", - "texts", - "texture", - "tf", - "th", - "thai", - "than", - "thank", - "thanks", - "that", - "the", - "thead", - "theater", - "theaters", - "theatre", - "theatrical", - "theft", - "their", - "them", - "theme", - "themed", - "themes", - "themselves", - "then", - "theo", - "theology", - "theorem", - "theoretical", - "theories", - "theory", - "therapy", - "there", - "thereafter", - "thereby", - "therefore", - "thermal", - "these", - "thesis", - "theta", - "they", - "thick", - "thickness", - "thin", - "thing", - "things", - "think", - "thinking", - "thinks", - "third", - "thirds", - "thirty", - "this", - "thomas", - "thompson", - "thomson", - "thor", - "thoroughly", - "those", - "thou", - "though", - "thought", - "thoughts", - "thousand", - "thousands", - "thread", - "threading", - "threads", - "threat", - "threatened", - "threatening", - "threats", - "three", - "thresh", - "threshold", - "threw", - "thriller", - "throat", - "throne", - "through", - "throughout", - "throw", - "throwing", - "thrown", - "throws", - "thrust", - "thu", - "thumb", - "thumbnail", - "thunder", - "thus", - "thy", - "ti", - "tick", - "ticker", - "ticket", - "tickets", - "tid", - "tide", - "tie", - "tied", - "tier", - "ties", - "tiger", - "tight", - "tijd", - "til", - "tile", - "tiles", - "till", - "tim", - "time", - "timeline", - "timeout", - "timer", - "times", - "timestamp", - "timestamps", - "timezone", - "timing", - "tin", - "tiny", - "tip", - "tipo", - "tips", - "tired", - "tissue", - "titel", - "title", - "titled", - "titles", - "titre", - "titular", - "titulo", - "tj", - "tk", - "tm", - "tmp", - "to", - "toLowerCase", - "toString", - "toast", - "tobacco", - "tod", - "toda", - "today", - "todd", - "todo", - "todos", - "toe", - "tog", - "together", - "toggle", - "toilet", - "tok", - "token", - "tokens", - "tokyo", - "told", - "tolerance", - "tom", - "ton", - "tone", - "tongue", - "tonnes", - "tons", - "tony", - "too", - "took", - "tool", - "toolbar", - "tools", - "tooltip", - "tooth", - "top", - "topic", - "topics", - "topology", - "topped", - "tops", - "tor", - "torah", - "torch", - "torn", - "tornado", - "toronto", - "torpedo", - "torre", - "tort", - "torture", - "tot", - "total", - "totally", - "touch", - "touched", - "touches", - "touching", - "tough", - "tour", - "toured", - "touring", - "tourism", - "tourist", - "tourists", - "tournament", - "tournaments", - "tours", - "tout", - "toward", - "towards", - "tower", - "towers", - "town", - "towns", - "townships", - "toxic", - "toy", - "tp", - "tr", - "tra", - "trace", - "traced", - "traces", - "track", - "tracked", - "tracker", - "tracking", - "tracks", - "tract", - "tracy", - "trade", - "traded", - "trademark", - "trades", - "trading", - "tradition", - "traditional", - "traditionally", - "traditions", - "traffic", - "trail", - "trailer", - "trailing", - "train", - "trained", - "trainer", - "training", - "trait", - "traits", - "trajectory", - "trans", - "transaction", - "transactions", - "transcript", - "transfer", - "transferred", - "transform", - "transformation", - "transformed", - "transformer", - "transforms", - "transit", - "transition", - "transitions", - "translate", - "translated", - "translation", - "translations", - "translator", - "transmission", - "transparency", - "transparent", - "transport", - "transportation", - "transported", - "transpose", - "trap", - "tras", - "trash", - "trauma", - "travel", - "traveled", - "traveling", - "travelling", - "travels", - "traverse", - "través", - "tre", - "treasure", - "treasury", - "treat", - "treated", - "treaties", - "treatment", - "treatments", - "treaty", - "tree", - "trees", - "trend", - "trends", - "tres", - "tri", - "trial", - "trials", - "triangle", - "tribe", - "tribune", - "tribute", - "trick", - "tried", - "tries", - "trigger", - "triggered", - "triggers", - "trim", - "trio", - "trip", - "triple", - "trips", - "triumph", - "trong", - "troops", - "trophy", - "trouble", - "troubled", - "troubles", - "truck", - "true", - "truly", - "trump", - "trunk", - "trust", - "trusted", - "truth", - "try", - "trying", - "ts", - "tsx", - "tt", - "tu", - "tube", - "tubes", - "tucker", - "tue", - "tumor", - "tune", - "tunisia", - "tunnel", - "tuple", - "turkey", - "turn", - "turned", - "turner", - "turning", - "turns", - "turtle", - "tussen", - "tutorial", - "tutorials", - "tv", - "tw", - "tweet", - "tweets", - "twelve", - "twentieth", - "twenty", - "twice", - "twin", - "twins", - "twist", - "twisted", - "twitter", - "two", - "tx", - "txt", - "ty", - "tym", - "typ", - "type", - "typed", - "typedef", - "typename", - "typeof", - "types", - "typescript", - "typical", - "typically", - "typing", - "té", - "u", - "ua", - "uart", - "uber", - "ubuntu", - "ud", - "uden", - "uganda", - "ugly", - "ui", - "uid", - "uint", - "uit", - "uk", - "ukraine", - "ukrainian", - "ul", - "ultima", - "ultimate", - "ultimately", - "ultimo", - "ultra", - "um", - "uma", - "un", - "una", - "unable", - "unanimous", - "unauthorized", - "uncertain", - "uncertainty", - "unchanged", - "uncle", - "unclear", - "und", - "unde", - "undefined", - "under", - "undergraduate", - "underground", - "underlying", - "understand", - "understanding", - "understood", - "undertaken", - "underwater", - "underwent", - "une", - "unei", - "unesco", - "unexpected", - "uni", - "unicode", - "unified", - "uniform", - "union", - "unique", - "unis", - "unit", - "unite", - "united", - "units", - "unittest", - "unity", - "universal", - "universe", - "universities", - "university", - "unix", - "unknown", - "unless", - "unlike", - "unlikely", - "unlimited", - "unlock", - "uno", - "unofficial", - "unprecedented", - "uns", - "unsafe", - "unsigned", - "unsuccessful", - "unter", - "until", - "unto", - "unused", - "unusual", - "up", - "upcoming", - "update", - "updated", - "updates", - "updating", - "upgrade", - "upgraded", - "upload", - "uploaded", - "uploads", - "upon", - "upp", - "upper", - "uppercase", - "uprising", - "ups", - "upset", - "upstream", - "ur", - "uranium", - "urban", - "urgent", - "uri", - "url", - "urllib", - "urls", - "us", - "usa", - "usage", - "usar", - "use", - "useState", - "used", - "useful", - "user", - "userData", - "userId", - "userName", - "userid", - "username", - "users", - "uses", - "using", - "uso", - "usr", - "usual", - "usually", - "usuario", - "usuarios", - "ut", - "utah", - "utan", - "utf", - "util", - "utilities", - "utility", - "utilized", - "utilizing", - "utils", - "utm", - "uuid", - "uz", - "už", - "v", - "va", - "vacant", - "vacuum", - "vader", - "vai", - "val", - "vale", - "valid", - "validate", - "validated", - "validation", - "validator", - "validators", - "validity", - "vall", - "valle", - "valley", - "valor", - "vals", - "valuable", - "value", - "valueOf", - "valued", - "values", - "valve", - "van", - "vancouver", - "var", - "vara", - "varchar", - "variable", - "variables", - "variance", - "variant", - "variants", - "variation", - "variations", - "varied", - "varies", - "varieties", - "variety", - "various", - "vars", - "vary", - "varying", - "vas", - "vast", - "vatican", - "vault", - "ve", - "vec", - "vector", - "vectors", - "ved", - "veel", - "vehicle", - "vehicles", - "vel", - "velocity", - "vendor", - "vendors", - "venezuela", - "venice", - "venture", - "ventures", - "venue", - "venues", - "venus", - "ver", - "vera", - "verb", - "verbal", - "verbose", - "verde", - "verdict", - "verification", - "verified", - "verify", - "vernon", - "vers", - "verse", - "verses", - "version", - "versions", - "verso", - "versus", - "vertex", - "vertical", - "vertices", - "very", - "vessel", - "vessels", - "vest", - "veteran", - "veterans", - "vez", - "več", - "vh", - "vi", - "via", - "viable", - "viagra", - "vic", - "vice", - "vicinity", - "victim", - "victims", - "victoria", - "victories", - "victory", - "vid", - "vida", - "video", - "videos", - "vie", - "vienna", - "vier", - "view", - "viewed", - "viewer", - "viewers", - "viewing", - "viewport", - "views", - "viii", - "vil", - "vila", - "villa", - "village", - "villages", - "ville", - "vim", - "vine", - "vintage", - "vinyl", - "viola", - "violated", - "violation", - "violations", - "violence", - "violent", - "violet", - "viral", - "virginia", - "viri", - "virtual", - "virtually", - "virus", - "vis", - "visa", - "visibility", - "visible", - "vision", - "visit", - "visited", - "visitor", - "visitors", - "visits", - "vista", - "visual", - "visualization", - "vita", - "vital", - "viz", - "við", - "više", - "vm", - "vo", - "vocab", - "vocabulary", - "vocal", - "vocalist", - "vocals", - "voice", - "voiced", - "voices", - "void", - "voir", - "vol", - "volatile", - "volleyball", - "volt", - "voltage", - "volume", - "volumes", - "vom", - "von", - "voor", - "vor", - "vorm", - "vote", - "voted", - "voter", - "votes", - "voting", - "vous", - "voyage", - "vpc", - "vs", - "vue", - "vulnerable", - "və", - "v", - "w", - "wa", - "waar", - "wade", - "wage", - "wagon", - "wait", - "waiting", - "wake", - "wales", - "walk", - "walked", - "walker", - "walking", - "walks", - "wall", - "wallet", - "walls", - "walsh", - "walt", - "walter", - "wan", - "wang", - "want", - "wanted", - "wanting", - "wants", - "war", - "ward", - "warehouse", - "waren", - "warfare", - "warm", - "warming", - "warn", - "warned", - "warner", - "warning", - "warnings", - "warrant", - "warriors", - "wars", - "warsaw", - "was", - "wash", - "washing", - "washington", - "wasn", - "waste", - "wat", - "watch", - "watched", - "watching", - "water", - "waters", - "watson", - "wav", - "wave", - "waves", - "way", - "wayne", - "ways", - "wb", - "we", - "weak", - "wealth", - "wealthy", - "weapon", - "weapons", - "wear", - "wearing", - "weather", - "web", - "webapp", - "webb", - "weber", - "webhook", - "webkit", - "webpack", - "webpage", - "website", - "websites", - "wed", - "wedding", - "wednesday", - "week", - "weekend", - "weekly", - "weeks", - "weer", - "wei", - "weight", - "weighted", - "weights", - "wel", - "welcome", - "welfare", - "well", - "wenn", - "went", - "werden", - "were", - "weren", - "werk", - "werner", - "west", - "western", - "wet", - "wget", - "whale", - "what", - "whatever", - "wheat", - "wheel", - "wheels", - "when", - "whenever", - "where", - "whereas", - "wherein", - "whether", - "which", - "while", - "whilst", - "white", - "whitney", - "who", - "whoever", - "whole", - "whom", - "whose", - "why", - "wi", - "wide", - "widely", - "wider", - "widespread", - "widget", - "widgets", - "width", - "wie", - "wife", - "wifi", - "wiki", - "wikipedia", - "wild", - "will", - "william", - "williams", - "willing", - "willis", - "win", - "wind", - "window", - "windows", - "winds", - "wine", - "wing", - "wings", - "wingspan", - "winner", - "winning", - "wins", - "winston", - "winter", - "wire", - "wireless", - "wisdom", - "wise", - "wish", - "wished", - "wishes", - "wit", - "witch", - "with", - "withdraw", - "withdrawal", - "withdrawn", - "withdrew", - "within", - "without", - "witness", - "witnessed", - "wives", - "wizard", - "wo", - "wolf", - "wolves", - "woman", - "women", - "won", - "wonder", - "wonderful", - "wood", - "wooden", - "woods", - "word", - "wordpress", - "words", - "wore", - "work", - "worked", - "worker", - "workers", - "workflow", - "workflows", - "working", - "workout", - "works", - "worksheet", - "workshop", - "workspace", - "world", - "worldwide", - "worn", - "worried", - "worse", - "worship", - "worst", - "worth", - "worthy", - "would", - "wouldn", - "wound", - "wounded", - "wow", - "wp", - "wrap", - "wrapped", - "wrapper", - "wright", - "write", - "writer", - "writers", - "writes", - "writing", - "writings", - "written", - "wrong", - "wrote", - "ws", - "wu", - "www", - "wx", - "x", - "xFF", - "xa", - "xavier", - "xe", - "xff", - "xhr", - "xi", - "xiii", - "xl", - "xlabel", - "xlsx", - "xml", - "xmlns", - "xpath", - "xs", - "xu", - "xviii", - "xx", - "xxx", - "xy", - "xyz", - "x\u007f", - "x", - "y", - "ya", - "yacht", - "yahoo", - "yaml", - "yan", - "yang", - "yard", - "yards", - "yarn", - "ye", - "yeah", - "year", - "yearly", - "years", - "yellow", - "yes", - "yesterday", - "yet", - "yi", - "yield", - "yields", - "ylabel", - "yml", - "yn", - "yo", - "yoga", - "york", - "you", - "young", - "younger", - "youngest", - "your", - "yours", - "yourself", - "youth", - "youtube", - "yr", - "yu", - "yuan", - "yyyy", - "z", - "zA", - "za", - "zagreb", - "ze", - "zee", - "zeit", - "zen", - "zero", - "zeros", - "zh", - "zhang", - "zhou", - "zi", - "zie", - "zij", - "zijn", - "zip", - "zm", - "zo", - "zoals", - "zombie", - "zona", - "zonder", - "zone", - "zones", - "zoo", - "zoom", - "zou", - "zu", - "zum", - "zur", - "zwischen", - "{", - "{\"", - "{'", - "{:", - "{@", - "{{", - "{}", - "{},", - "{};", - "|", - "||", - "|||", - "||||", - "}", - "})", - "}),", - "}).", - "});", - "},", - "}.", - "};", - "}}", - "}}", - "j", - "s", - "°", - "—", - "−", - "△", - "た", - "‘W", - "‘س", - "‘య", - "‘№", - "‘√", - "‘└", - "’α", - "’և", - "’त", - "“L", - "“M", - "“N", - "“a", - "“д", - "“س", - "“く", - "“の", - "”,", - "”Q", - "”b", - "”{", - "”}", - "”§", - "”စ", - "”き", - "”む", - "•%", - "•?", - "•s", - "•в", - "•н", - "•(", - "–+", - "–:", - "–b", - "–င", - "–”", - "—m", - "—°", - "—à", - "—а", - "—у", - "—–", - "—る", - "™!", - "™f", - "™о", - "™त", - "™く", - "™の", - "™み", - "N", - "β", - "х", - "త", - "█", - "は", - "  ", - "   ", - "    ", - "        ", - "£", - "£—", - "§", - "§", - "©", - "«", - "­", - "®", - "°", - "±", - "²", - "³", - "´", - "·", - "··", - "····", - "º", - "»", - "».", - "»–", - "½", - "À", - "À’", - "È", - "Ȕ", - "É", - "És", - "État", - "În", - "×", - "à", - "às", - "á", - "án", - "át", - "â", - "än", - "är", - "å", - "år", - "året", - "års", - "è", - "è", - "é", - "él", - "én", - "és", - "était", - "état", - "été", - "év", - "être", - "í", - "î", - "île", - "în", - "över", - "út", - "û", - "über", - "će", - "č", - "če", - "či", - "část", - "į", - "š", - "še", - "št", - "što", - "š“", - "że", - "že", - "și", - "́", - "α", - "β", - "β", - "η", - "η", - "και", - "με", - "να", - "π", - "που", - "την", - "της", - "το", - "του", - "των", - "І", - "А", - "В", - "До", - "З", - "За", - "И", - "История", - "К", - "М", - "М", - "На", - "О", - "О‘", - "От", - "П", - "По", - "После", - "През", - "При", - "России", - "С", - "След", - "То", - "У", - "У€", - "У•", - "а", - "а‘", - "але", - "али", - "б", - "без", - "би", - "в", - "в\u007f", - "в—", - "во", - "все", - "від", - "г", - "г€", - "га", - "го", - "год", - "город", - "град", - "д", - "да", - "дани", - "два", - "де", - "див", - "для", - "до", - "др", - "д", - "е", - "его", - "един", - "если", - "е", - "же", - "з", - "за", - "з", - "и", - "из", - "или", - "им", - "има", - "име", - "их", - "й", - "к", - "как", - "като", - "код", - "л", - "л—", - "м", - "май", - "между", - "много", - "му", - "н", - "н\u007f", - "на", - "над", - "най", - "например", - "не", - "него", - "них", - "но", - "о", - "об", - "од", - "око", - "он", - "она", - "они", - "от", - "п", - "п—", - "па", - "по", - "под", - "при", - "про", - "р", - "р\u007f", - "р–", - "рата", - "род", - "россии", - "р", - "с", - "с”", - "са", - "се", - "си", - "син", - "след", - "см", - "со", - "став", - "става", - "су", - "т", - "та", - "так", - "там", - "те", - "то", - "това", - "того", - "той", - "том", - "три", - "у", - "х", - "це", - "час", - "част", - "части", - "че", - "что", - "що", - "э", - "это", - "я", - "я•", - "як", - "є", - "і", - "із", - "је", - "ѝ", - "են", - "է", - "և", - "։", - "־", - "א", - "א\u007f", - "א™", - "או", - "און", - "את", - "די", - "י", - "על", - "של", - "״", - "،", - "از", - "است", - "او", - "این", - "با", - "به", - "د", - "در", - "را", - "س", - "على", - "في", - "له", - "م", - "م’", - "من", - "می", - "های", - "و", - "١", - "په", - "که", - "और", - "क", - "का", - "की", - "के", - "को", - "च", - "त", - "था", - "द", - "न", - "प", - "म", - "में", - "म", - "य", - "या", - "र", - "र™", - "री", - "व", - "श", - "स", - "स”", - "से", - "़", - "े", - "े™", - "्", - "।", - "०", - "१", - "२", - "३", - "४", - "५", - "६", - "८", - "९", - "না", - "প", - "য", - "র", - "স", - "়", - "া", - "্", - "০", - "১", - "২", - "્", - "க", - "க™", - "த", - "து", - "று", - "்", - "௮", - "క", - "త", - "త", - "న", - "య", - "స", - "్", - "್", - "്", - "ති", - "න", - "න€", - "්", - "น", - "า", - "็", - "่", - "้", - "์", - "་", - "က", - "င", - "င€", - "စ", - "န", - "န", - "န‘", - "န’", - "န—", - "ပို", - "့", - "း", - "်", - "და", - "።", - "់", - "្", - "។", - "​", - "–", - "––", - "—", - "——", - "————", - "―", - "――", - "‘", - "‘\\", - "‘{", - "‘", - "‘‘", - "’", - "’)", - "’,", - "’-", - "’.", - "’:", - "’’", - "’”", - "“", - "“)", - "“,", - "“-", - "“.", - "“”", - "”", - "”)", - "”),", - "”).", - "”,", - "”-", - "”.", - "”/", - "”:", - "”;", - "”“", - "„", - "„’", - "†", - "•", - "••", - "…", - "……", - "…", - "′", - "″", - "›", - "※", - "€", - "№", - "™", - "←", - "→", - "−", - "−™", - "−", - "−", - "√", - "√–", - "①", - "②", - "③", - "④", - "─", - "──", - "────", - "━", - "│", - "│", - "│—", - "└", - "├", - "═", - "══", - "║", - "█", - "█•", - "██", - "████", - "░", - "■", - "□", - "□–", - "△", - "►", - "○", - "●", - "★", - " ", - "、", - "。", - "々", - "《", - "》", - "「", - "」", - "『", - "』", - "【", - "】", - "い", - "います", - "う", - "う“", - "え", - "える", - "え", - "お", - "および", - "お", - "か", - "か’", - "から", - "が", - "き", - "く", - "け", - "この", - "され", - "された", - "される", - "し", - "した", - "して", - "している", - "します", - "す", - "する", - "その", - "た", - "た€", - "った", - "って", - "て", - "で", - "である", - "です", - "では", - "と", - "という", - "として", - "との", - "と", - "な", - "など", - "に", - "について", - "には", - "の", - "は", - "び", - "への", - "また", - "または", - "み", - "む", - "め", - "も", - "や", - "より", - "り", - "る", - "を", - "・", - "一", - "七", - "万", - "三", - "上", - "下", - "不", - "与", - "专", - "且", - "世", - "业", - "东", - "両", - "两", - "严", - "並", - "个", - "中", - "串", - "临", - "为", - "主", - "举", - "久", - "么", - "义", - "之", - "九", - "也", - "习", - "书", - "买", - "了", - "予", - "争", - "事", - "二", - "于", - "云", - "互", - "五", - "井", - "些", - "交", - "产", - "享", - "京", - "人", - "什", - "今", - "介", - "从", - "他", - "付", - "代", - "令", - "以", - "们", - "件", - "价", - "任", - "份", - "企", - "休", - "众", - "优", - "会", - "传", - "估", - "似", - "但", - "位", - "低", - "住", - "体", - "何", - "余", - "作", - "你", - "併", - "使", - "來", - "例", - "供", - "依", - "価", - "便", - "係", - "促", - "保", - "信", - "修", - "個", - "們", - "候", - "借", - "値", - "债", - "值", - "假", - "做", - "停", - "健", - "側", - "備", - "储", - "催", - "債", - "働", - "像", - "價", - "億", - "償", - "優", - "允", - "元", - "充", - "先", - "光", - "克", - "免", - "児", - "党", - "入", - "內", - "全", - "八", - "公", - "六", - "共", - "关", - "其", - "具", - "典", - "养", - "内", - "円", - "册", - "再", - "写", - "军", - "农", - "决", - "况", - "净", - "准", - "减", - "几", - "処", - "出", - "击", - "函", - "分", - "切", - "划", - "列", - "则", - "创", - "初", - "删", - "判", - "別", - "利", - "别", - "到", - "制", - "券", - "則", - "削", - "前", - "副", - "割", - "創", - "力", - "办", - "功", - "加", - "务", - "动", - "助", - "努", - "励", - "労", - "効", - "势", - "動", - "務", - "募", - "包", - "化", - "北", - "区", - "医", - "區", - "十", - "千", - "升", - "午", - "半", - "华", - "协", - "協", - "单", - "南", - "単", - "博", - "占", - "印", - "危", - "即", - "却", - "历", - "压", - "原", - "去", - "县", - "参", - "參", - "又", - "及", - "友", - "双", - "反", - "収", - "发", - "取", - "受", - "变", - "口", - "古", - "句", - "另", - "只", - "召", - "可", - "台", - "史", - "右", - "号", - "司", - "各", - "合", - "同", - "名", - "后", - "向", - "君", - "否", - "含", - "听", - "启", - "告", - "员", - "周", - "味", - "命", - "和", - "品", - "响", - "員", - "售", - "商", - "問", - "善", - "單", - "営", - "器", - "四", - "回", - "因", - "团", - "団", - "园", - "困", - "図", - "围", - "固", - "国", - "图", - "國", - "園", - "團", - "土", - "在", - "地", - "场", - "址", - "均", - "块", - "型", - "城", - "域", - "執", - "培", - "基", - "報", - "場", - "填", - "境", - "増", - "增", - "士", - "声", - "売", - "处", - "备", - "変", - "复", - "外", - "多", - "够", - "大", - "天", - "太", - "央", - "失", - "头", - "契", - "套", - "女", - "她", - "好", - "如", - "始", - "委", - "威", - "子", - "字", - "存", - "季", - "学", - "學", - "它", - "守", - "安", - "完", - "官", - "定", - "实", - "実", - "审", - "客", - "室", - "害", - "家", - "容", - "密", - "富", - "察", - "實", - "審", - "对", - "导", - "対", - "封", - "専", - "射", - "将", - "將", - "專", - "對", - "導", - "小", - "少", - "就", - "局", - "层", - "居", - "届", - "展", - "属", - "層", - "履", - "山", - "島", - "川", - "州", - "工", - "左", - "差", - "己", - "已", - "币", - "市", - "布", - "师", - "希", - "带", - "師", - "席", - "常", - "干", - "平", - "年", - "并", - "广", - "広", - "床", - "序", - "库", - "应", - "底", - "店", - "府", - "废", - "度", - "座", - "康", - "延", - "建", - "开", - "异", - "式", - "引", - "张", - "張", - "強", - "强", - "归", - "当", - "录", - "形", - "影", - "役", - "往", - "征", - "径", - "待", - "很", - "律", - "後", - "従", - "得", - "從", - "御", - "復", - "循", - "微", - "德", - "心", - "必", - "志", - "応", - "快", - "念", - "态", - "思", - "急", - "性", - "总", - "息", - "患", - "您", - "情", - "想", - "意", - "感", - "態", - "應", - "成", - "我", - "或", - "战", - "截", - "户", - "房", - "所", - "手", - "才", - "打", - "払", - "托", - "执", - "批", - "找", - "承", - "技", - "把", - "投", - "折", - "択", - "护", - "报", - "披", - "押", - "担", - "招", - "择", - "括", - "持", - "指", - "按", - "振", - "损", - "换", - "据", - "授", - "排", - "採", - "探", - "接", - "控", - "推", - "措", - "描", - "提", - "插", - "換", - "握", - "援", - "損", - "携", - "播", - "操", - "據", - "支", - "收", - "改", - "放", - "政", - "故", - "效", - "救", - "教", - "散", - "数", - "整", - "數", - "文", - "料", - "断", - "新", - "方", - "於", - "施", - "族", - "无", - "既", - "日", - "早", - "时", - "明", - "易", - "星", - "映", - "春", - "是", - "显", - "時", - "普", - "景", - "智", - "更", - "書", - "替", - "最", - "會", - "月", - "有", - "服", - "望", - "期", - "木", - "未", - "末", - "本", - "札", - "术", - "机", - "权", - "李", - "材", - "村", - "束", - "条", - "来", - "東", - "松", - "板", - "极", - "构", - "析", - "林", - "果", - "架", - "某", - "染", - "查", - "査", - "标", - "树", - "校", - "株", - "样", - "核", - "根", - "格", - "框", - "案", - "档", - "條", - "械", - "检", - "森", - "植", - "検", - "業", - "極", - "概", - "構", - "様", - "標", - "模", - "権", - "横", - "機", - "權", - "次", - "款", - "止", - "正", - "此", - "步", - "武", - "死", - "残", - "段", - "母", - "每", - "比", - "民", - "气", - "気", - "水", - "永", - "求", - "江", - "池", - "污", - "決", - "没", - "河", - "油", - "治", - "況", - "法", - "波", - "注", - "津", - "活", - "派", - "流", - "测", - "济", - "海", - "消", - "润", - "液", - "深", - "混", - "添", - "清", - "済", - "減", - "温", - "測", - "港", - "游", - "満", - "源", - "準", - "满", - "演", - "激", - "火", - "災", - "点", - "為", - "热", - "無", - "然", - "照", - "營", - "父", - "片", - "版", - "物", - "特", - "状", - "独", - "献", - "率", - "王", - "环", - "现", - "班", - "現", - "球", - "理", - "環", - "生", - "產", - "産", - "用", - "田", - "由", - "申", - "电", - "男", - "町", - "画", - "界", - "留", - "略", - "番", - "異", - "當", - "病", - "症", - "療", - "発", - "登", - "發", - "白", - "百", - "的", - "益", - "监", - "監", - "目", - "直", - "相", - "省", - "看", - "県", - "真", - "着", - "督", - "知", - "短", - "石", - "码", - "研", - "破", - "础", - "确", - "確", - "示", - "社", - "神", - "票", - "福", - "离", - "私", - "种", - "科", - "租", - "积", - "称", - "移", - "程", - "税", - "種", - "積", - "究", - "空", - "突", - "立", - "站", - "章", - "童", - "端", - "競", - "符", - "第", - "等", - "答", - "策", - "签", - "简", - "算", - "管", - "節", - "範", - "築", - "米", - "类", - "精", - "系", - "約", - "納", - "純", - "級", - "素", - "索", - "累", - "細", - "終", - "組", - "経", - "結", - "給", - "統", - "經", - "続", - "維", - "網", - "総", - "線", - "締", - "編", - "練", - "總", - "績", - "織", - "續", - "红", - "约", - "级", - "线", - "练", - "组", - "细", - "织", - "终", - "经", - "结", - "给", - "络", - "统", - "继", - "续", - "维", - "综", - "编", - "网", - "置", - "署", - "美", - "群", - "義", - "習", - "老", - "考", - "者", - "而", - "职", - "联", - "職", - "股", - "育", - "背", - "能", - "自", - "至", - "致", - "與", - "興", - "航", - "般", - "船", - "良", - "色", - "节", - "花", - "若", - "英", - "范", - "草", - "药", - "获", - "華", - "营", - "落", - "著", - "董", - "處", - "號", - "融", - "血", - "行", - "術", - "街", - "补", - "表", - "被", - "装", - "補", - "製", - "複", - "西", - "要", - "見", - "規", - "視", - "親", - "観", - "见", - "观", - "规", - "视", - "览", - "角", - "解", - "触", - "言", - "計", - "討", - "託", - "記", - "設", - "許", - "診", - "註", - "証", - "評", - "試", - "話", - "該", - "認", - "語", - "說", - "説", - "読", - "課", - "調", - "談", - "請", - "論", - "講", - "證", - "識", - "警", - "議", - "護", - "變", - "计", - "订", - "认", - "让", - "训", - "议", - "记", - "许", - "论", - "设", - "访", - "证", - "评", - "识", - "词", - "译", - "试", - "话", - "询", - "该", - "详", - "语", - "误", - "说", - "请", - "读", - "课", - "调", - "象", - "負", - "財", - "販", - "責", - "買", - "費", - "資", - "質", - "購", - "负", - "财", - "责", - "败", - "账", - "货", - "质", - "购", - "费", - "资", - "走", - "起", - "超", - "越", - "足", - "距", - "路", - "践", - "身", - "車", - "転", - "較", - "載", - "车", - "转", - "软", - "载", - "较", - "输", - "農", - "边", - "込", - "达", - "过", - "运", - "近", - "返", - "还", - "这", - "进", - "远", - "违", - "连", - "述", - "追", - "退", - "送", - "适", - "选", - "透", - "递", - "途", - "這", - "通", - "速", - "造", - "連", - "週", - "進", - "運", - "過", - "道", - "達", - "違", - "適", - "選", - "避", - "還", - "那", - "部", - "都", - "配", - "采", - "释", - "里", - "重", - "野", - "量", - "金", - "針", - "録", - "针", - "银", - "链", - "销", - "错", - "键", - "長", - "长", - "門", - "開", - "間", - "関", - "關", - "门", - "问", - "间", - "队", - "防", - "附", - "际", - "降", - "限", - "院", - "除", - "险", - "険", - "階", - "随", - "際", - "障", - "險", - "难", - "集", - "離", - "難", - "零", - "電", - "需", - "震", - "露", - "青", - "静", - "非", - "面", - "革", - "音", - "響", - "項", - "順", - "須", - "預", - "領", - "題", - "額", - "願", - "類", - "页", - "项", - "须", - "预", - "领", - "频", - "题", - "额", - "風", - "风", - "食", - "養", - "館", - "首", - "香", - "験", - "马", - "验", - "體", - "高", - "默", - "點", - "가", - "각", - "간", - "감", - "값", - "강", - "같", - "개", - "객", - "거", - "건", - "검", - "것", - "게", - "격", - "견", - "결", - "경", - "계", - "고", - "골", - "공", - "과", - "관", - "광", - "교", - "구", - "국", - "군", - "권", - "규", - "균", - "그", - "극", - "근", - "글", - "금", - "급", - "기", - "길", - "김", - "까", - "께", - "나", - "난", - "날", - "남", - "납", - "났", - "내", - "너", - "널", - "네", - "년", - "념", - "노", - "논", - "농", - "높", - "누", - "느", - "는", - "능", - "니", - "님", - "다", - "단", - "달", - "담", - "답", - "당", - "대", - "더", - "던", - "데", - "델", - "도", - "독", - "동", - "되", - "된", - "될", - "두", - "드", - "득", - "든", - "들", - "등", - "디", - "따", - "때", - "또", - "라", - "락", - "란", - "람", - "래", - "램", - "략", - "량", - "러", - "런", - "레", - "려", - "력", - "련", - "령", - "례", - "로", - "록", - "론", - "료", - "루", - "류", - "률", - "르", - "른", - "를", - "름", - "리", - "린", - "림", - "립", - "링", - "마", - "막", - "만", - "많", - "말", - "망", - "매", - "머", - "메", - "며", - "면", - "명", - "모", - "목", - "못", - "무", - "문", - "물", - "므", - "미", - "민", - "및", - "바", - "박", - "반", - "받", - "발", - "방", - "배", - "백", - "버", - "번", - "범", - "법", - "베", - "변", - "별", - "병", - "보", - "복", - "본", - "부", - "북", - "분", - "불", - "브", - "블", - "비", - "사", - "산", - "살", - "상", - "새", - "색", - "생", - "서", - "석", - "선", - "설", - "성", - "세", - "센", - "션", - "소", - "속", - "손", - "송", - "수", - "순", - "술", - "스", - "습", - "승", - "시", - "식", - "신", - "실", - "심", - "십", - "써", - "아", - "악", - "안", - "않", - "알", - "암", - "았", - "애", - "액", - "야", - "약", - "양", - "어", - "억", - "언", - "업", - "없", - "었", - "에", - "여", - "역", - "연", - "열", - "염", - "였", - "영", - "예", - "오", - "온", - "올", - "와", - "완", - "외", - "요", - "용", - "우", - "운", - "울", - "움", - "워", - "원", - "월", - "위", - "유", - "육", - "율", - "융", - "으", - "은", - "을", - "음", - "응", - "의", - "이", - "익", - "인", - "일", - "임", - "입", - "있", - "자", - "작", - "장", - "재", - "저", - "적", - "전", - "절", - "점", - "접", - "정", - "제", - "져", - "조", - "족", - "존", - "종", - "주", - "준", - "중", - "증", - "지", - "직", - "진", - "질", - "집", - "징", - "째", - "차", - "착", - "참", - "창", - "채", - "책", - "처", - "척", - "천", - "철", - "청", - "체", - "초", - "총", - "최", - "추", - "축", - "출", - "충", - "취", - "측", - "층", - "치", - "친", - "침", - "카", - "커", - "케", - "코", - "크", - "클", - "키", - "타", - "태", - "택", - "터", - "털", - "테", - "템", - "토", - "통", - "투", - "트", - "특", - "티", - "파", - "판", - "패", - "페", - "편", - "평", - "포", - "표", - "품", - "프", - "플", - "피", - "필", - "하", - "학", - "한", - "할", - "함", - "합", - "항", - "해", - "했", - "행", - "향", - "허", - "험", - "현", - "협", - "형", - "호", - "화", - "확", - "환", - "활", - "황", - "회", - "획", - "효", - "후", - "희", - "히", - "é", - "û", - "№", - "└", - "い", - "?", - "F", - "І", - "б", - "к", - "э", - "і", - "င", - "き", - "<", - "g", - "â", - "å", - "م", - "స", - "„", - "█", - "O", - "В", - "м", - "և", - "န", - "△", - "い", - "う", - "で", - "+", - "/", - "<", - "k", - "į", - "о", - "স", - "න", - "က", - "’", - "△", - "️", - "!", - "%", - "(", - ")", - ",", - "-", - ".", - "/", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - ":", - ";", - "?", - "[", - "]", - "~", - "�", - "�€", - "�”", - "�", - "\u0000\u0000", - "\u0000\u0000\u0000", - "\u0000\u0000\u0000\u0000", - "\u0000a", - "\u0001E", - "\u0001[", - "\u0001း", - "\u0001█", - "\u0002!", - "\u0002m", - "\u0002α", - "\u0002β", - "\u0002က", - "\u0002を", - "\u0003k", - "\u0003u", - "\u0003{", - "\u0003у", - "\u0003→", - "\u0003と", - "\u0003む", - "\u0004!", - "\u0004=", - "\u0004@", - "\u0004W", - "\u0004£", - "\u0004д", - "\u0004н", - "\u0004م", - "\u0004१", - "\u0004య", - "\u0004(", - "\u0005/", - "\u0005K", - "\u0005р", - "\u0005య", - "\u0005や", - "\u0006O", - "\u0006W", - "\u0006b", - "\u0006m", - "\u0006|", - "\u0006х", - "\u0006প", - "\u0006│", - "\u0007S", - "\u0007z", - "\u0007§", - "\u0007М", - "\u0007й", - "\u0007с", - "\u0007び", - "\b?", - "\bZ", - "\bb", - "\bé", - "\bš", - "\bС", - "\bй", - "\bन", - "\bけ", - "\n\n\n", - "\n\n\n\n", - "\n\f", - "\r\n\r", - "\r\n\r\n", - "\r\n\r\r", - "\r ", - "\u000e]", - "\u000en", - "\u000e{", - "\u000eб", - "\u000eे", - "\u000e‘", - "\u000f!", - "\u000f'", - "\u000fA", - "\u000f«", - "\u000fî", - "\u000fは", - "\u000f-", - "\u0010P", - "\u0010b", - "\u0010π", - "\u0010б", - "\u0010э", - "\u0010త", - "\u0011g", - "\u0011w", - "\u0011К", - "\u0011г", - "\u0011п", - "\u0011և", - "\u0011े", - "\u0011”", - "\u0012à", - "\u0012á", - "\u0012ѝ", - "\u0012स", - "\u0012२", - "\u0012త", - "\u0013'", - "\u0013z", - "\u0013î", - "\u0013а", - "\u0013म", - "\u0013る", - "\u0014W", - "\u0014م", - "\u0015}", - "\u0015य", - "\u0015(", - "\u0016E", - "\u0016P", - "\u0016§", - "\u0016é", - "\u0016я", - "\u0016י", - "\u0016र", - "\u0016க", - "\u0016く", - "\u0016(", - "\u0016-", - "\u0017$", - "\u0017\\", - "\u0017क", - "\u0018'", - "\u0018J", - "\u0018S", - "\u0018W", - "\u0018s", - "\u0018म", - "\u0018—", - "\u0018−", - "\u0018な", - "\u0019E", - "\u0019à", - "\u0019з", - "\u0019श", - "\u0019े", - "\u0019า", - "\u0019の", - "\u001aA", - "\u001aY", - "\u001ak", - "\u001aį", - "\u001aЗ", - "\u001aИ", - "\u001aа", - "\u001aస", - "\u001aけ", - "\u001b[", - "\u001bস", - "\u001bస", - "\u001bစ", - "\u001bえ", - " \r", - " % ", - " - ", - " / ", - " // ", - " <= ", - " = ", - " == ", - "!\"", - "!\")", - "!\");", - "!'", - "!')", - "!(", - "!)", - "!/", - "!", - "\":", - "\":\"", - "\">", - "\"><", - "\">", - "').", - "'):", - "');", - "')[", - "')]", - "'){", - "','", - "':'", - "';", - "'=>", - "'>", - "']", - "'])", - "']))", - "']);", - "'],", - "'].", - "']:", - "'];", - "'][", - "']['", - "'^", - "'}", - "'},", - "(\"\")", - "(\"#", - "(\"%", - "(\",", - "(\"-", - "(\".", - "(\"/", - "(\"<", - "(\"[", - "(\"\\", - "(\"{", - "(%", - "($_", - "(&", - "('#", - "('%", - "('')", - "(',", - "('-", - "('.", - "('./", - "('/", - "(':", - "('<", - "('@", - "('[", - "('\\", - "())", - "()),", - "()))", - "()).", - "());", - "(),", - "()->", - "()-", - "():", - "();", - "()<", - "()[", - "()]", - "(){", - "()}", - "(**", - "(...", - "(/", - "(:", - "(?", - "(['", - "([[", - "(\\", - "(__", - "({'", - ")\b", - ")\"", - ")\")", - ")\",", - ")'", - ")')", - ")',", - ")(", - ")))", - "))))", - ")));", - ")),", - ")).", - ")):", - "));", - ")){", - ")*", - ")**", - ")+", - "),(", - ")-", - ")->", - ").__", - ")/", - ")<", - ")", - "/#", - "/$", - "/${", - "/%", - "/'", - "/')", - "/',", - "/(", - "/)", - "/*!", - "/*.", - "/-", - "/.", - "/../", - "/:", - "/<", - "/?", - "/@", - "/_", - "/__", - "/{", - ":\"", - ":\")", - ":\",", - ":#", - ":%", - ":'", - ":(", - ":**", - ":-", - ":.", - ":/", - "://", - ":::", - "::::", - ":<", - ":", - ";&", - ";//", - ";;", - ";;;;", - ";", - "=\"#", - "=\"${", - "=\"/", - "=\"_", - "=#", - "=$", - "=$(", - "=${", - "=%", - "='", - "='/", - "=(", - "=-=-", - "=-", - "=/", - "==\"", - "=='", - "=[", - "=['", - "=\\\"", - "={", - "={'", - "={(", - "={{", - ">\"", - ">\";", - ">#", - ">${", - ">&", - ">'", - ">')", - ">';", - ">(", - ">(\"", - ">();", - ">,", - ">.", - ">/", - ">//", - ">::", - ">;", - "><", - ">=", - ">[", - ">\\", - ">`", - ">{", - "?\"", - "?(", - "?)", - "?,", - "?.", - "??", - "????", - "?\\", - "@@", - "H\u0002", - "I\u0004", - "L\u0007", - "M\u0002", - "M\u0010", - "N\u0010", - "P\u0004", - "Y\u0004", - "[\u0011", - "[$", - "[:,", - "[\\", - "[][", - "\\\":", - "\\'", - "\\/", - "\\.", - "\\_", - "](", - "](#", - "](/", - "]))", - "]),", - "]).", - "]):", - "]);", - "]*", - "]+", - "],[", - "]-", - "].", - "]/", - "]:", - "]=", - "]==", - "][", - "][\"", - "]['", - "]\\", - "]]", - "]])", - "]][", - "]{", - "]}", - "^\\", - "^^^^", - "^^", - "_%", - "_(", - "_;", - "__(", - "__)", - "__.", - "_{", - "`\u001a", - "`)", - "`,", - "`:", - "`;", - "````", - "d\u0005", - "d\u000e", - "j\u0003", - "j\u001b", - "k\b", - "m\u0011", - "m\u0018", - "o\u0003", - "q\b", - "r\u0000", - "r\u000e", - "s\u0007", - "s\u0010", - "t\u0019", - "w\u0019", - "x\u0003", - "x\u0018", - "y\u000e", - "{\\", - "|(", - "|-", - "|\\", - "|}", - "}\"", - "}\")", - "}&", - "}'", - "}'.", - "},{", - "}-", - "}/", - "}/{", - "}<", - "}", - "}\\", - "}_", - "}`", - "}{", - "£\u0006", - "§\u0013", - "§\u0016", - "°\u0018", - "»\u0012", - "È\u0001", - "å\u0011", - "é\u0011", - "í\b", - "î\u0010", - "č\u001a", - "į\u0015", - "į\u0019", - "š\u0016", - "α\u0003", - "α\u0018", - "β\u0004", - "η\u0013", - "π\u0012", - "І\b", - "І\u0018", - "І\u0017", - "І\u001a", - "И\u0003", - "К\u001a", - "О\u0018", - "П\u0014", - "в\u0007", - "г\u0006", - "е\u0014", - "з\u0001", - "й\u001a", - "п\u0007", - "у\u0001", - "у\b", - "у\u0019", - "э\u0003", - "я\u0003", - "я\u000e", - "і\u000f", - "і\u0010", - "د\u0007", - "و\u0006", - "च\u0007", - "प\u0016", - "स\u0011", - "स\u0015", - "য\u0005", - "র\b", - "া\u0017", - "క\u0004", - "క\u000f", - "త\u0005", - "త\u001a", - "น\u000e", - "က\u0006", - "စ\u0011", - "–\u0004", - "—\u0010", - "‘\u0007", - "‘\u0012", - "”\u0014", - "•\u0007", - "•\u0003", - "№\u0015", - "№\u0018", - "−\u0013", - "│\u0007", - "□\u0011", - "う\u0014", - "え\u0007", - "お\u0017", - "か\u0016", - "お\u001b", - "き\u0015", - "け\u0003", - "て\u0014", - "に\u0012", - "に\u000e", - "は\u0010", - "り\u000f", - "り\u0018", - "る\u0005", - "(\u000f", - "-\u000e", - "�\u0019", - "\t\t\t\t\t", - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", - "\t\t\t\t\t\t", - "\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t", - "\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\n", - "\r\n\r\n\r\n", - "\r\n\r\n\r\n\r", - "\r\n\r\n\r\n\r\n", - "\r\n\r\n\r", - "\r\r\n\r\r", - "\r ", - " Phase ", - "%%%%%%%%", - "(\"\");", - "('../", - "()));", - "...\")", - "...();", - "=\"#\">", - "=\"../", - "=-=-=-=-", - "????????", - "^^^^^^^^", - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", - "\t\t\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t", - "\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", - "\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\n\n\n\n\n\n\n", - "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "\r\n\r\n\r\n\r\n\r", - "\r ", - "\r ", - "../../../../", - "\u0002M", - "\u0000A", - "\u0003U", - "\u0003K", - "\u0003У", - "\u0006B", - "\u0006M", - "\u0007Z", - "\u0007С", - "\bÉ", - "\bB", - "\u000eN", - "\u0010B", - "\u0011G", - "\u0011W", - "\u0011П", - "\u0012À", - "\u0013Z", - "\u0013А", - "\u0016É", - "\u0019À", - "\u0019З", - "\u001aK", - "\u001aА", - " Acontecimientos", - " Altri", - " Anno", - " Anos", - " À", - " Bearer", - " Bibliography", - " CMAKE", - " Citations", - " Classifications", - " Comuna", - " Contributing", - " Demographics", - " Deputies", - " Downloaded", - " După", - " Enlaces", - " Endemic", - " Eventi", - " Fars", - " Frontend", - " Geboren", - " Godine", - " Histoire", - " Historie", - " Història", - " Honorary", - " Honours", - " INCREMENT", - " Itt", - " Jeho", - " Nagy", - " Noter", - " Patents", - " Personer", - " População", - " Prerequisites", - " Prvi", - " První", - " Railways", - " Recipients", - " Referencias", - " Reformed", - " Regalo", - " Screenshots", - " Seznam", - " Storia", - " Taxa", - " Threading", - " Vezi", - " År", - " École", - " База", - " История", - " През", - " События", - "Afrika", - "Agnes", - "Allan", - "Alto", - "Amerika", - "América", - "Anii", - "Anos", - "BASIS", - "Bach", - "Bergen", - "Birds", - "Borough", - "Boxing", - "CMAKE", - "CONDITIONS", - "CONTRACT", - "Cairo", - "Census", - "Citations", - "Colonial", - "Comics", - "Communications", - "Contributing", - "Contributors", - "Corporation", - "Cox", - "Cristo", - "C™", - "C", - "D\u0005", - "D\u000e", - "DAMAGES", - "Dale", - "Democracy", - "EXISTS", - "EXPRESS", - "Eden", - "Electronics", - "Erie", - "E", - "Filing", - "Geschichte", - "Gerald", - "Ghana", - "Gmail", - "Guerra", - "HOLDERS", - "Hawks", - "Hearts", - "Histoire", - "Hyde", - "H", - "IDEAS", - "Itt", - "I”", - "J\u0003", - "J\u001b", - "Jahr", - "Jana", - "Jenkins", - "Jest", - "Jong", - "Junction", - "Jung", - "K\b", - "Kiss", - "Kong", - "K—", - "LIABILITY", - "LIABLE", - "LIMITED", - "LORD", - "Latino", - "Leben", - "Leta", - "Lords", - "M\u0011", - "L", - "M\u0018", - "Maine", - "Mare", - "Maven", - "Maxwell", - "Mills", - "Morton", - "M", - "Namen", - "Nordic", - "O\u0003", - "OTHERWISE", - "Oblast", - "Omar", - "Otto", - "PARTICULAR", - "PROVIDED", - "PURPOSE", - "Parks", - "Patricia", - "Pike", - "Pills", - "Politik", - "Porter", - "Porto", - "P–", - "Q\b", - "Q", - "R\u000e", - "R\u0000", - "Rally", - "Ranch", - "Rica", - "Rico", - "Rita", - "S\u0007", - "S\u0010", - "SAD", - "SHALL", - "Sciences", - "Segunda", - "Shaw", - "Stadt", - "Stanford", - "T\u0019", - "THREE", - "TODAY", - "TORT", - "Taxa", - "UNESCO", - "Uganda", - "Unis", - "Verde", - "Vila", - "V", - "W\u0019", - "WHETHER", - "Walt", - "Watson", - "Wayne", - "Woods", - "Wright", - "X\u0003", - "X\u0018", - "XIII", - "Xavier", - "XVIII", - "X\u007f", - "X", - "Y\u000e", - "Yuan", - "Zhou", - "\u007fК", - "€O", - "€Y", - "€І", - "€О", - "J", - "S", - "“A", - "”B", - "•S", - "•В", - "–B", - "—À", - "—M", - "—А", - "—У", - "™F", - "™О", - "År", - "È", - "É\u0011", - "І\u000f", - "І\u0010", - "А‘", - "В\u0007", - "В\u007f", - "В—", - "Дани", - "З\u0001", - "З", - "П\u0007", - "П—", - "С”", - "См", - "У\u0001", - "У\b", - "У\u0019", - "É", - "К", - "G", - "М", - "K", - "О", - " \u0000\u0000", - " \u0000\u0000\u0000", - " \u0000\u0000\u0000\u0000", - " \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", - " \u0001E", - " \u0001[", - " \u0001█", - " \u0002m", - " \u0001း", - " \u0002α", - " \u0002!", - " \u0002β", - " \u0002を", - " \u0002က", - " \u0003k", - " \u0003u", - " \u0003{", - " \u0003→", - " \u0003у", - " \u0003と", - " \u0003む", - " \u0004!", - " \u0004=", - " \u0004£", - " \u0004W", - " \u0004@", - " \u0004д", - " \u0004н", - " \u0004م", - " \u0004१", - " \u0004(", - " \u0004య", - " \u0005/", - " \u0005K", - " \u0005р", - " \u0005య", - " \u0005や", - " \u0006W", - " \u0006O", - " \u0006b", - " \u0006m", - " \u0006|", - " \u0006х", - " \u0006প", - " \u0006│", - " \u0007S", - " \u0007§", - " \u0007z", - " \u0007й", - " \u0007М", - " \u0007び", - " \u0007с", - " \b?", - " \bZ", - " \bb", - " \bé", - " \bš", - " \bС", - " \bй", - " \bけ", - " \bन", - " \r ", - " \r ", - " \r ", - " \r ", - " \u000e]", - " \u000en", - " \u000e{", - " \u000eб", - " \u000eे", - " \u000e‘", - " \u000f!", - " \u000f'", - " \u000fA", - " \u000fは", - " \u000fî", - " \u000f«", - " \u000f-", - " \u0010P", - " \u0010π", - " \u0010b", - " \u0010б", - " \u0010త", - " \u0011g", - " \u0010э", - " \u0011К", - " \u0011w", - " \u0011п", - " \u0011և", - " \u0011г", - " \u0011े", - " \u0011”", - " \u0012à", - " \u0012स", - " \u0012á", - " \u0012ѝ", - " \u0012२", - " \u0012త", - " \u0013'", - " \u0013z", - " \u0013î", - " \u0013а", - " \u0013म", - " \u0013る", - " \u0014W", - " \u0014م", - " \u0015}", - " \u0015य", - " \u0015(", - " \u0016E", - " \u0016P", - " \u0016§", - " \u0016я", - " \u0016é", - " \u0016י", - " \u0016र", - " \u0016க", - " \u0016(", - " \u0016-", - " \u0017$", - " \u0016く", - " \u0017\\", - " \u0017क", - " \u0018'", - " \u0018S", - " \u0018J", - " \u0018W", - " \u0018s", - " \u0018म", - " \u0018—", - " \u0018−", - " \u0018な", - " \u0019E", - " \u0019з", - " \u0019à", - " \u0019श", - " \u0019े", - " \u0019の", - " \u0019า", - " \u001aA", - " \u001aY", - " \u001ak", - " \u001aЗ", - " \u001aį", - " \u001aИ", - " \u001aа", - " \u001aస", - " \u001b[", - " \u001aけ", - " \u001bস", - " \u001bస", - " \u001bစ", - " \u001bえ", - " !™", - " \"\u0006", - " \"”", - " # ", - " %\u0015", - " &•", - " &\b", - " &\u007f", - " '", - " )\b", - " (", - " )}", - " *€", - " +:", - " +‘", - " +™", - " ,\u0017", - " , ", - " -{", - " -", - " .”", - " /\u0012", - " :”", - " ;\u0018", - " :", - " ;\u007f", - " <\u0016", - " <\u0019", - " <\u007f", - " <—", - " =”", - " ?€", - " @€", - " Albanian", - " A•", - " Brien", - " C”", - " C", - " DOCTYPE", - " Digite", - " Estonian", - " G", - " G", - " H\u0002", - " L\u0007", - " L‘", - " I\u0004", - " M\u0002", - " M\u0010", - " NYSE", - " N\u0010", - " Neill", - " N", - " P\u0004", - " V", - " Y\u0004", - " [\u0011", - " [”", - " \\”", - " ^", - " _“", - " `\u001a", - " `”", - " `", - " aC", - " addClass", - " `•", - " afrika", - " addEventListener", - " agnes", - " allah", - " amazonaws", - " amerika", - " américa", - " andy", - " angelo", - " annie", - " appendChild", - " arial", - " anii", - " assad", - " arten", - " assertEqual", - " bower", - " awt", - " charAt", - " cdn", - " classList", - " charlie", - " conda", - " cox", - " conde", - " cristo", - " c™", - " c", - " d\u0005", - " d\u000e", - " disambiguation", - " digite", - " emma", - " eren", - " erie", - " e", - " età", - " fff", - " ffffff", - " gabriel", - " gatsby", - " gerald", - " geschichte", - " getAttribute", - " getElementById", - " ghana", - " githubusercontent", - " gnu", - " gradle", - " hadoop", - " googleapis", - " hawks", - " herokuapp", - " hibernate", - " hpp", - " htm", - " huang", - " hyde", - " h", - " iloc", - " imgur", - " innerHTML", - " iostream", - " i”", - " j\u001b", - " j\u0003", - " jenkins", - " juan", - " k\b", - " kbd", - " kubectl", - " kubernetes", - " k—", - " lə", - " leigh", - " m\u0011", - " lawrence", - " m\u0018", - " l", - " mailto", - " marshall", - " maven", - " maine", - " maxwell", - " morton", - " mrs", - " nancy", - " m", - " nvidia", - " n", - " nume", - " nordic", - " o\u0003", - " opencv", - " opensource", - " omar", - " otok", - " otto", - " patricia", - " pedro", - " pike", - " pkl", - " preventDefault", - " pytorch", - " q\b", - " p–", - " querySelector", - " q", - " printStackTrace", - " r\u0000", - " r\u000e", - " removeClass", - " rita", - " riu", - " roger", - " rome", - " rovers", - " s\u0007", - " s\u0010", - " scss", - " springframework", - " setAttribute", - " stackoverflow", - " stanford", - " stadt", - " stdio", - " stdlib", - " t\u0019", - " thead", - " toLowerCase", - " uganda", - " valueOf", - " utm", - " unis", - " viri", - " v", - " w\u0019", - " walt", - " watson", - " wayne", - " webkit", - " x\u0003", - " wright", - " x\u0018", - " xFF", - " xavier", - " x", - " y\u000e", - " yml", - " zA", - " zhang", - " zhou", - " x\u007f", - " }‘", - " ~", - " \u007fX", - " \u007fП", - " \u007fк", - " €Z", - " €o", - " €y", - " €У", - " €á", - " €о", - " €і", - " €න", - " €√", - " €う", - " €�", - " %", - " >", - " s", - " °", - " j", - " —", - " △", - " −", - " た", - " ‘W", - " ‘س", - " ‘య", - " ‘№", - " ‘√", - " ‘└", - " ’त", - " ’և", - " “L", - " ’α", - " “M", - " “a", - " “N", - " “д", - " “س", - " “く", - " “の", - " ”Q", - " ”b", - " ”,", - " ”{", - " ”}", - " ”§", - " ”စ", - " ”き", - " ”む", - " •?", - " •%", - " •s", - " •в", - " •(", - " •н", - " –+", - " –:", - " –b", - " –”", - " –င", - " —m", - " —à", - " —а", - " —у", - " —る", - " —–", - " —°", - " ™f", - " ™!", - " ™о", - " ™त", - " ™く", - " ™の", - " N", - " ™み", - " β", - " х", - " █", - "   ", - "    ", - " は", - "     ", - "         ", - " £\u0006", - " £—", - " §\u0013", - " §\u0016", - " §", - " °\u0018", - " త", - " »\u0012", - " »–", - " À’", - " È\u0001", - " Ȕ", - " å\u0011", - " è", - " é\u0011", - " í\b", - " î\u0010", - " île", - " č\u001a", - " į\u0015", - " į\u0019", - " š\u0016", - " š“", - " α\u0003", - " β\u0004", - " α\u0018", - " β", - " η\u0013", - " π\u0012", - " η", - " І\b", - " І\u0017", - " І\u0018", - " И\u0003", - " І\u001a", - " М", - " К\u001a", - " О‘", - " П\u0014", - " О\u0018", - " У•", - " а‘", - " У€", - " в\u0007", - " в\u007f", - " г\u0006", - " в—", - " г€", - " д", - " дани", - " е\u0014", - " е", - " з\u0001", - " з", - " л—", - " й\u001a", - " око", - " н\u007f", - " п\u0007", - " п—", - " р\u007f", - " р–", - " рата", - " с”", - " р", - " у\u0001", - " става", - " у\b", - " у\u0019", - " э\u0003", - " я\u0003", - " я\u000e", - " я•", - " і\u000f", - " і\u0010", - " א\u007f", - " א™", - " د\u0007", - " و\u0006", - " م’", - " च\u0007", - " प\u0016", - " म", - " र™", - " स\u0011", - " स\u0015", - " া\u0017", - " े™", - " র\b", - " য\u0005", - " स”", - " க™", - " து", - " று", - " క\u0004", - " క\u000f", - " త\u0005", - " త", - " త\u001a", - " ති", - " න€", - " က\u0006", - " น\u000e", - " စ\u0011", - " င€", - " န", - " န‘", - " န’", - " န—", - " ပို", - " –\u0004", - " —\u0010", - " ‘\\", - " ‘\u0007", - " ‘\u0012", - " ‘{", - " ’,", - " ’)", - " ‘", - " ’-", - " ’.", - " ’:", - " ’”", - " “)", - " “,", - " “-", - " “.", - " ”\u0014", - " ”)", - " ”-", - " ”.", - " ”/", - " ”,", - " ”;", - " ”“", - " „’", - " •\u0003", - " •\u0007", - " …", - " №\u0015", - " −™", - " −", - " −\u0013", - " №\u0018", - " −", - " √–", - " │\u0007", - " │", - " │—", - " █•", - " □\u0011", - " □–", - " います", - " う\u0014", - " う“", - " え\u0007", - " える", - " え", - " お\u0017", - " お\u001b", - " および", - " お", - " か’", - " か\u0016", - " から", - " き\u0015", - " され", - " された", - " け\u0003", - " される", - " した", - " して", - " している", - " します", - " する", - " た€", - " った", - " って", - " て\u0014", - " その", - " である", - " です", - " では", - " という", - " として", - " との", - " と", - " など", - " に\u000e", - " に\u0012", - " について", - " は\u0010", - " への", - " には", - " または", - " り\u000f", - " より", - " り\u0018", - " る\u0005", - " é", - " №", - " û", - " └", - " い", - " ?", - " F", - " І", - " б", - " к", - " і", - " э", - " င", - " き", - " g", - " <", - " â", - " å", - " م", - " స", - " „", - " █", - " O", - " В", - " և", - " м", - " န", - " △", - " う", - " い", - " で", - " <", - " k", - " /", - " +", - " о", - " স", - " න", - " į", - " က", - " ’", - " △", - " (\u000f", - " �\u0019", - " -\u000e", - " �€", - " �”", - " �", - "\t\t\t\t\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t\t\t\t\t\t\t", - "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t", - "\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\n\n\n\n\n\n\n\n", - "\n\n\r\n", - "\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "\n\r\n", - "\f\n", - "\r\n\r\n\r\n\r\n\r\n", - "\r\n\n", - "\r\r\n", - "\r\r\n\r\r\n", - "\r\r\r\n", - "        ", - "  ", - " 
", - "!’", - "!“", - ")’", - ")”", - ",’", - ",“", - "...”", - ".’", - ":”", - "?“", - "   ", - "       ", - "११", - "२२", - "७", - "္", - "။", - "័", - "០", - "២", - "១", - "  ", - "’;", - "․", - "….", - "………", - "════", - "압", - "),", - "00", - ":\"", - ":“", - "、", - "・", - "・・", - "・・・", - "��", - "���", - "����", - " afghan", - " celsius", - " dockerfile", - " gitlab", - " handball", - " linq", - " pascal", - "Afghan", - "HMS", - "Mathematical", - "Pascal", - "afghan", - "assumptions", - "canceled", - "celsius", - "chocolate", - "convenience", - "coral", - "debugging", - "dockerfile", - "functionality", - "gitlab", - "handball", - "hiding", - "ivory", - "linq", - "mathematical", - "monetary", - "multiplication", - "notebooks", - "pascal", - "quarterly", - "sua", - "synopsis", - "tomorrow", - ";", - " ;", - "·", - " ѝ", - " १", - " २", - "  ", - "  ", - "  ", - "  ", - "  ", - "  ", - "  ", - "  ", - "  ", - "  ", - " 
", - "  ", - "  ", - "K", - " K", - " い", - " う", - " え", - " か", - " き", - " け", - " く", - " し", - " す", - " た", - " て", - " で", - " び", - " み", - " む", - " め", - " も", - " や", - " り", - " る", - "継", - " -", - " 1" -] diff --git a/crates/bito-lint-core/src/tokens.rs b/crates/bito-lint-core/src/tokens.rs deleted file mode 100644 index 8b06f69..0000000 --- a/crates/bito-lint-core/src/tokens.rs +++ /dev/null @@ -1,403 +0,0 @@ -//! Pluggable token counting with multiple backends. -//! -//! Two backends are available: -//! -//! - **Claude** (default): Uses ctoc's 38,360 API-verified Claude 3+ tokens -//! with greedy longest-match via `aho-corasick`. Table-aware: decomposes -//! markdown tables so pipe boundaries are respected, preventing undercounts. -//! Overcounts by ~4% compared to the real Claude tokenizer — safe for budget -//! enforcement. -//! - **OpenAI**: Uses `bpe-openai` for exact cl100k_base BPE encoding. -//! -//! For exact Claude counts, use the Anthropic `count_tokens` API. - -use std::ops::Range; -use std::sync::LazyLock; - -use aho_corasick::AhoCorasick; -use pulldown_cmark::{Event, Options, Parser, Tag, TagEnd}; -use schemars::JsonSchema; -use serde::{Deserialize, Serialize}; - -use crate::error::AnalysisResult; - -/// Tokenizer backend for token counting. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize, Serialize, JsonSchema)] -#[serde(rename_all = "kebab-case")] -#[cfg_attr(feature = "clap", derive(clap::ValueEnum))] -pub enum Backend { - /// Claude 3+ (ctoc verified vocab, greedy longest-match). Overcounts ~4%. - #[default] - Claude, - /// OpenAI cl100k_base (exact BPE encoding via bpe-openai). - #[cfg_attr(feature = "clap", value(name = "openai"))] - Openai, -} - -impl Backend { - /// Returns the backend name as a lowercase string slice. - pub const fn as_str(&self) -> &'static str { - match self { - Self::Claude => "claude", - Self::Openai => "openai", - } - } -} - -impl std::fmt::Display for Backend { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.as_str()) - } -} - -// --------------------------------------------------------------------------- -// Claude backend: greedy longest-match on ctoc's verified vocabulary -// --------------------------------------------------------------------------- - -/// The 38,360 API-verified Claude 3+ token strings from ctoc. -static CLAUDE_VOCAB_JSON: &str = include_str!("claude_vocab.json"); - -/// Pre-built Aho-Corasick automaton for greedy longest-match tokenization. -static CLAUDE_AUTOMATON: LazyLock = LazyLock::new(|| { - let vocab: Vec = - serde_json::from_str(CLAUDE_VOCAB_JSON).expect("embedded claude_vocab.json is valid"); - AhoCorasick::builder() - .match_kind(aho_corasick::MatchKind::LeftmostLongest) - .build(&vocab) - .expect("aho-corasick build should succeed for verified vocab") -}); - -/// Raw greedy longest-match token count (no markdown awareness). -/// -/// Walks the input left-to-right, greedily matching the longest known token -/// at each position. Unmatched bytes are counted as one token each -/// (conservative — these are characters not in the known vocab). -/// -/// Use [`count_claude`] instead for markdown-aware counting that handles -/// table boundaries correctly. -fn count_claude_raw(text: &str) -> usize { - if text.is_empty() { - return 0; - } - - let mut count: usize = 0; - let mut pos: usize = 0; - let bytes = text.as_bytes(); - - for mat in CLAUDE_AUTOMATON.find_iter(text) { - // Count any unmatched bytes before this match as individual tokens. - let gap = mat.start() - pos; - count += gap; - // Count the matched token. - count += 1; - pos = mat.end(); - } - - // Count any trailing unmatched bytes. - count += bytes.len() - pos; - count -} - -/// Find byte ranges of markdown tables in the input. -/// -/// Uses pulldown-cmark's offset iterator to locate `Table` start/end events, -/// returning the byte ranges that enclose each table. -fn find_table_ranges(text: &str) -> Vec> { - let parser = Parser::new_ext(text, Options::ENABLE_TABLES).into_offset_iter(); - let mut ranges = Vec::new(); - let mut table_start: Option = None; - - for (event, range) in parser { - match event { - Event::Start(Tag::Table(_)) => { - table_start = Some(range.start); - } - Event::End(TagEnd::Table) => { - if let Some(start) = table_start.take() { - ranges.push(start..range.end); - } - } - _ => {} - } - } - ranges -} - -/// Count Claude tokens in a markdown table fragment. -/// -/// Splits each line on `|` to prevent the Aho-Corasick automaton from -/// matching tokens that span across cell boundaries. Each `|` is counted -/// as one token, and cell contents are tokenized individually via -/// [`count_claude_raw`]. -fn count_claude_table(table_text: &str) -> usize { - let mut count: usize = 0; - for line in table_text.split('\n') { - let pipes = line.bytes().filter(|&b| b == b'|').count(); - count += pipes; - for segment in line.split('|') { - count += count_claude_raw(segment); - } - } - count -} - -/// Count tokens using the Claude backend (table-aware greedy longest-match). -/// -/// For text without markdown tables, delegates directly to [`count_claude_raw`]. -/// When tables are detected, decomposes them so that pipe (`|`) boundaries -/// are respected — preventing the automaton from matching tokens that span -/// across cells, which would undercount. -fn count_claude(text: &str) -> usize { - // Fast path: no pipe character means no tables possible. - if !text.contains('|') { - return count_claude_raw(text); - } - - let table_ranges = find_table_ranges(text); - if table_ranges.is_empty() { - return count_claude_raw(text); - } - - let mut count: usize = 0; - let mut pos: usize = 0; - - for range in &table_ranges { - // Non-table text before this table. - if range.start > pos { - count += count_claude_raw(&text[pos..range.start]); - } - // Table region — cell-aware counting. - count += count_claude_table(&text[range.start..range.end]); - pos = range.end; - } - - // Trailing non-table text. - if pos < text.len() { - count += count_claude_raw(&text[pos..]); - } - - count -} - -// --------------------------------------------------------------------------- -// OpenAI backend: exact cl100k_base via bpe-openai -// --------------------------------------------------------------------------- - -/// Count tokens using the OpenAI cl100k_base backend (exact BPE). -fn count_openai(text: &str) -> usize { - let tokenizer = bpe_openai::cl100k_base(); - tokenizer.count(text) -} - -// --------------------------------------------------------------------------- -// Public API -// --------------------------------------------------------------------------- - -/// Result of counting tokens in a text. -#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)] -pub struct TokenReport { - /// Number of tokens in the text. - pub count: usize, - /// Token budget (if provided). - #[serde(skip_serializing_if = "Option::is_none")] - pub budget: Option, - /// Whether the count exceeds the budget. - pub over_budget: bool, - /// Which tokenizer backend produced this count. - pub tokenizer: String, -} - -/// Count tokens in text using the specified backend. -/// -/// # Arguments -/// -/// * `text` — The text to tokenize. -/// * `budget` — Optional maximum token count. If provided, `over_budget` -/// in the report indicates whether the text exceeds it. -/// * `backend` — Which tokenizer to use. -#[tracing::instrument(skip(text), fields(text_len = text.len(), backend = %backend))] -pub fn count_tokens( - text: &str, - budget: Option, - backend: Backend, -) -> AnalysisResult { - let count = match backend { - Backend::Claude => count_claude(text), - Backend::Openai => count_openai(text), - }; - let over_budget = budget.is_some_and(|max| count > max); - - Ok(TokenReport { - count, - budget, - over_budget, - tokenizer: backend.as_str().to_string(), - }) -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn claude_backend_counts_tokens() { - let report = count_tokens("Hello, world!", None, Backend::Claude).unwrap(); - assert!(report.count > 0); - assert_eq!(report.tokenizer, "claude"); - } - - #[test] - fn openai_backend_counts_tokens() { - let report = count_tokens("Hello, world!", None, Backend::Openai).unwrap(); - assert!(report.count > 0); - assert_eq!(report.tokenizer, "openai"); - } - - #[test] - fn claude_overcounts_vs_openai() { - let text = "The quick brown fox jumps over the lazy dog. \ - This is a longer passage of English text that should \ - demonstrate the conservative overcounting behavior of \ - the Claude tokenizer backend compared to OpenAI's exact \ - cl100k_base encoding."; - let claude = count_tokens(text, None, Backend::Claude).unwrap(); - let openai = count_tokens(text, None, Backend::Openai).unwrap(); - assert!( - claude.count >= openai.count, - "Claude ({}) should overcount vs OpenAI ({})", - claude.count, - openai.count - ); - } - - #[test] - fn backend_default_is_claude() { - assert_eq!(Backend::default(), Backend::Claude); - } - - #[test] - fn backend_display_and_as_str() { - assert_eq!(Backend::Claude.as_str(), "claude"); - assert_eq!(Backend::Openai.as_str(), "openai"); - assert_eq!(format!("{}", Backend::Claude), "claude"); - assert_eq!(format!("{}", Backend::Openai), "openai"); - } - - #[test] - fn detects_over_budget() { - let report = - count_tokens("Hello, world! This is a test.", Some(1), Backend::default()).unwrap(); - assert!(report.over_budget); - assert_eq!(report.budget, Some(1)); - } - - #[test] - fn within_budget() { - let report = count_tokens("Hi", Some(100), Backend::default()).unwrap(); - assert!(!report.over_budget); - } - - #[test] - fn empty_text_returns_zero() { - let report = count_tokens("", None, Backend::Claude).unwrap(); - assert_eq!(report.count, 0); - let report = count_tokens("", None, Backend::Openai).unwrap(); - assert_eq!(report.count, 0); - } - - #[test] - fn backend_serde_roundtrip() { - let json = serde_json::to_string(&Backend::Claude).unwrap(); - assert_eq!(json, "\"claude\""); - let back: Backend = serde_json::from_str(&json).unwrap(); - assert_eq!(back, Backend::Claude); - - let json = serde_json::to_string(&Backend::Openai).unwrap(); - assert_eq!(json, "\"openai\""); - let back: Backend = serde_json::from_str(&json).unwrap(); - assert_eq!(back, Backend::Openai); - } - - // ----------------------------------------------------------------------- - // Table-aware tokenization - // ----------------------------------------------------------------------- - - #[test] - fn table_counts_at_least_raw() { - let table = "| Name | Age |\n|------|-----|\n| Alice | 30 |\n| Bob | 25 |\n"; - let raw = count_claude_raw(table); - let aware = count_claude(table); - assert!( - aware >= raw, - "table-aware ({aware}) should be >= raw ({raw})" - ); - } - - #[test] - fn no_table_matches_raw() { - let text = "The quick brown fox jumps over the lazy dog."; - assert_eq!(count_claude(text), count_claude_raw(text)); - } - - #[test] - fn pipe_in_non_table_unchanged() { - let text = "Use the || operator for logical OR."; - // No markdown table structure, so raw path is used. - assert_eq!(count_claude(text), count_claude_raw(text)); - } - - #[test] - fn mixed_table_and_prose() { - let text = "Some prose before the table.\n\n\ - | Col A | Col B |\n\ - |-------|-------|\n\ - | x | y |\n\n\ - Some prose after the table."; - let aware = count_claude(text); - assert!(aware > 0, "should produce a positive count"); - // Table-aware should be >= raw because table decomposition only adds. - let raw = count_claude_raw(text); - assert!( - aware >= raw, - "table-aware ({aware}) should be >= raw ({raw})" - ); - } - - #[test] - fn empty_table_cells() { - let table = "| | |\n|---|---|\n| | |\n"; - let count = count_claude(table); - // At minimum: pipes are counted as tokens. - assert!(count > 0, "empty-cell table should still produce tokens"); - } - - #[test] - fn find_table_ranges_finds_one_table() { - let text = "Hello\n\n| A | B |\n|---|---|\n| 1 | 2 |\n\nGoodbye\n"; - let ranges = find_table_ranges(text); - assert_eq!(ranges.len(), 1, "should find exactly one table"); - let table_slice = &text[ranges[0].clone()]; - assert!( - table_slice.contains("| A |"), - "range should contain the table header" - ); - } - - #[test] - fn claude_overcounts_vs_openai_with_tables() { - let text = "# Report\n\n\ - | Metric | Value |\n\ - |--------|-------|\n\ - | CPU | 85% |\n\ - | Memory | 4 GB |\n\n\ - Overall performance is satisfactory."; - let claude = count_tokens(text, None, Backend::Claude).unwrap(); - let openai = count_tokens(text, None, Backend::Openai).unwrap(); - assert!( - claude.count >= openai.count, - "Claude ({}) should overcount vs OpenAI ({}) even with tables", - claude.count, - openai.count - ); - } -} diff --git a/crates/bito-lint/Cargo.toml b/crates/bito/Cargo.toml similarity index 75% rename from crates/bito-lint/Cargo.toml rename to crates/bito/Cargo.toml index 1797dc2..e5d892b 100644 --- a/crates/bito-lint/Cargo.toml +++ b/crates/bito/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "bito-lint" +name = "bito" version.workspace = true edition.workspace = true rust-version.workspace = true @@ -22,7 +22,7 @@ exclude = [ ] [[bin]] -name = "bito-lint" +name = "bito" path = "src/main.rs" [package.metadata.binstall] @@ -43,25 +43,22 @@ default = ["mcp"] mcp = ["dep:tokio", "dep:rmcp", "dep:schemars"] [dependencies] -bito-lint-core = { version = "0.3", path = "../bito-lint-core", features = ["clap"] } -clap = { version = "4.5", features = ["derive"] } +bito-core = { version = "1.0", path = "../bito-core", features = ["clap"] } +clap = { version = "4.6", features = ["derive"] } anyhow = "1.0" tracing = "0.1" -tracing-subscriber = { version = "0.3", features = ["env-filter"] } -tracing-appender = "0.2" -tokio = { version = "1.49", features = ["rt-multi-thread", "macros"], optional = true } -rmcp = { version = "0.17", features = ["server", "transport-io", "macros"], optional = true } +tokio = { version = "1.50", features = ["rt-multi-thread", "macros"], optional = true } +rmcp = { version = "1.2", features = ["server", "transport-io", "macros"], optional = true } schemars = { version = "1.2", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" owo-colors = { version = "4.3", features = ["supports-colors"] } indicatif = "0.18" camino = { version = "1.2", features = ["serde1"] } -directories = "6.0" [dev-dependencies] -assert_cmd = "2.1" +assert_cmd = "2.2" predicates = "3.1" -tempfile = "3.26" +tempfile = "3.27" [lints] workspace = true diff --git a/crates/bito-lint/src/commands/analyze.rs b/crates/bito/src/commands/analyze.rs similarity index 98% rename from crates/bito-lint/src/commands/analyze.rs rename to crates/bito/src/commands/analyze.rs index c59bb70..fb711f7 100644 --- a/crates/bito-lint/src/commands/analyze.rs +++ b/crates/bito/src/commands/analyze.rs @@ -8,9 +8,9 @@ use clap::Args; use owo_colors::OwoColorize; use tracing::{debug, instrument}; -use bito_lint_core::analysis; -use bito_lint_core::analysis::ALL_CHECKS; -use bito_lint_core::config::Dialect; +use bito_core::analysis; +use bito_core::analysis::ALL_CHECKS; +use bito_core::config::Dialect; use super::read_input_file; diff --git a/crates/bito-lint/src/commands/completeness.rs b/crates/bito/src/commands/completeness.rs similarity index 97% rename from crates/bito-lint/src/commands/completeness.rs rename to crates/bito/src/commands/completeness.rs index 8e69c63..95008b9 100644 --- a/crates/bito-lint/src/commands/completeness.rs +++ b/crates/bito/src/commands/completeness.rs @@ -6,7 +6,7 @@ use clap::Args; use owo_colors::OwoColorize; use tracing::{debug, instrument}; -use bito_lint_core::completeness::{self, SectionStatus}; +use bito_core::completeness::{self, SectionStatus}; use super::read_input_file; diff --git a/crates/bito-lint/src/commands/custom.rs b/crates/bito/src/commands/custom.rs similarity index 98% rename from crates/bito-lint/src/commands/custom.rs rename to crates/bito/src/commands/custom.rs index 41d39fd..ab4a8d3 100644 --- a/crates/bito-lint/src/commands/custom.rs +++ b/crates/bito/src/commands/custom.rs @@ -1,7 +1,7 @@ //! Custom content command implementation. use anyhow::Context; -use bito_lint_core::config::{Config, ConfigSources}; +use bito_core::config::{Config, ConfigSources}; use camino::Utf8Path; use clap::{Args, Subcommand}; use owo_colors::OwoColorize; diff --git a/crates/bito-lint/src/commands/doctor.rs b/crates/bito/src/commands/doctor.rs similarity index 95% rename from crates/bito-lint/src/commands/doctor.rs rename to crates/bito/src/commands/doctor.rs index d34f399..583dd43 100644 --- a/crates/bito-lint/src/commands/doctor.rs +++ b/crates/bito/src/commands/doctor.rs @@ -1,9 +1,9 @@ //! Doctor command — diagnose configuration and environment. -use bito_lint_core::config::{self, Config, ConfigSources}; -use bito_lint_core::dictionaries::{abbreviations, irregular_verbs, syllable_dict}; -use bito_lint_core::tokens::{self, Backend}; -use bito_lint_core::word_lists; +use bito_core::config::{self, Config, ConfigSources}; +use bito_core::dictionaries::{abbreviations, irregular_verbs, syllable_dict}; +use bito_core::tokens::{self, Backend}; +use bito_core::word_lists; use clap::Args; use indicatif::{ProgressBar, ProgressStyle}; use owo_colors::OwoColorize; @@ -115,13 +115,13 @@ impl DoctorReport { description: "Log filter directive", }, EnvVar { - name: "BITO_LINT_DIALECT", - value: std::env::var("BITO_LINT_DIALECT").ok(), + name: "BITO_DIALECT", + value: std::env::var("BITO_DIALECT").ok(), description: "Dialect override (en-us, en-gb, en-ca, en-au)", }, EnvVar { - name: "BITO_LINT_TOKENIZER", - value: std::env::var("BITO_LINT_TOKENIZER").ok(), + name: "BITO_TOKENIZER", + value: std::env::var("BITO_TOKENIZER").ok(), description: "Tokenizer backend (claude, openai)", }, ], diff --git a/crates/bito-lint/src/commands/grammar.rs b/crates/bito/src/commands/grammar.rs similarity index 99% rename from crates/bito-lint/src/commands/grammar.rs rename to crates/bito/src/commands/grammar.rs index 4750285..630cadb 100644 --- a/crates/bito-lint/src/commands/grammar.rs +++ b/crates/bito/src/commands/grammar.rs @@ -6,7 +6,7 @@ use clap::Args; use owo_colors::OwoColorize; use tracing::{debug, instrument}; -use bito_lint_core::grammar; +use bito_core::grammar; use super::read_input_file; diff --git a/crates/bito-lint/src/commands/info.rs b/crates/bito/src/commands/info.rs similarity index 99% rename from crates/bito-lint/src/commands/info.rs rename to crates/bito/src/commands/info.rs index 1c7fa85..d2c8c5f 100644 --- a/crates/bito-lint/src/commands/info.rs +++ b/crates/bito/src/commands/info.rs @@ -1,6 +1,6 @@ //! Info command implementation -use bito_lint_core::config::{Config, ConfigSources}; +use bito_core::config::{Config, ConfigSources}; use clap::Args; use owo_colors::OwoColorize; use serde::Serialize; diff --git a/crates/bito-lint/src/commands/lint.rs b/crates/bito/src/commands/lint.rs similarity index 97% rename from crates/bito-lint/src/commands/lint.rs rename to crates/bito/src/commands/lint.rs index 917821b..348bc5e 100644 --- a/crates/bito-lint/src/commands/lint.rs +++ b/crates/bito/src/commands/lint.rs @@ -10,9 +10,9 @@ use clap::Args; use owo_colors::OwoColorize; use tracing::{debug, instrument}; -use bito_lint_core::config::Config; -use bito_lint_core::lint; -use bito_lint_core::rules::RuleSet; +use bito_core::config::Config; +use bito_core::lint; +use bito_core::rules::RuleSet; use super::read_input_file; diff --git a/crates/bito-lint/src/commands/mod.rs b/crates/bito/src/commands/mod.rs similarity index 100% rename from crates/bito-lint/src/commands/mod.rs rename to crates/bito/src/commands/mod.rs diff --git a/crates/bito-lint/src/commands/readability.rs b/crates/bito/src/commands/readability.rs similarity index 98% rename from crates/bito-lint/src/commands/readability.rs rename to crates/bito/src/commands/readability.rs index fd0b650..b89ac4a 100644 --- a/crates/bito-lint/src/commands/readability.rs +++ b/crates/bito/src/commands/readability.rs @@ -6,7 +6,7 @@ use clap::Args; use owo_colors::OwoColorize; use tracing::{debug, instrument}; -use bito_lint_core::readability; +use bito_core::readability; use super::read_input_file; diff --git a/crates/bito-lint/src/commands/serve.rs b/crates/bito/src/commands/serve.rs similarity index 96% rename from crates/bito-lint/src/commands/serve.rs rename to crates/bito/src/commands/serve.rs index 0e2bc6e..5356ba6 100644 --- a/crates/bito-lint/src/commands/serve.rs +++ b/crates/bito/src/commands/serve.rs @@ -19,7 +19,7 @@ pub struct ServeArgs {} pub async fn cmd_serve( _args: ServeArgs, max_input_bytes: Option, - config: bito_lint_core::Config, + config: bito_core::Config, config_dir: camino::Utf8PathBuf, ) -> Result<()> { tracing::info!("starting MCP server on stdio"); diff --git a/crates/bito-lint/src/commands/tokens.rs b/crates/bito/src/commands/tokens.rs similarity index 97% rename from crates/bito-lint/src/commands/tokens.rs rename to crates/bito/src/commands/tokens.rs index 5576d83..48b145d 100644 --- a/crates/bito-lint/src/commands/tokens.rs +++ b/crates/bito/src/commands/tokens.rs @@ -6,7 +6,7 @@ use clap::Args; use owo_colors::OwoColorize; use tracing::{debug, instrument}; -use bito_lint_core::tokens::{self, Backend}; +use bito_core::tokens::{self, Backend}; use super::read_input_file; diff --git a/crates/bito-lint/src/lib.rs b/crates/bito/src/lib.rs similarity index 89% rename from crates/bito-lint/src/lib.rs rename to crates/bito/src/lib.rs index 2bf1bd2..e5687ba 100644 --- a/crates/bito-lint/src/lib.rs +++ b/crates/bito/src/lib.rs @@ -1,4 +1,4 @@ -//! Library interface for the `bito-lint` CLI. +//! Library interface for the `bito` CLI. //! //! This crate exposes the CLI's argument parser and command structure as a library, //! primarily for documentation generation and testing. The actual entry point is @@ -49,17 +49,18 @@ impl ColorChoice { const ENV_HELP: &str = "\ ENVIRONMENT VARIABLES: - RUST_LOG Log filter (e.g., debug, bito-lint=trace) - BITO_LINT_LOG_PATH Log file path (rotated daily) - BITO_LINT_LOG_DIR Log directory - BITO_LINT_TOKENIZER Tokenizer backend (claude, openai) + RUST_LOG Log filter (e.g., debug, bito=trace) + BITO_LOG_PATH Log file path (rotated daily) + BITO_LOG_DIR Log directory + BITO_TOKENIZER Tokenizer backend (claude, openai) "; -/// Command-line interface definition for bito-lint. + +/// Command-line interface definition for bito. #[derive(Parser)] -#[command(name = "bito-lint")] +#[command(name = "bito")] #[command(about = "Quality gate tooling for building-in-the-open artifacts", long_about = None)] #[command(version, arg_required_else_help = true)] -#[command(after_long_help = ENV_HELP)] +#[command(after_help = ENV_HELP)] pub struct Cli { /// The subcommand to execute. #[command(subcommand)] diff --git a/crates/bito-lint/src/main.rs b/crates/bito/src/main.rs similarity index 95% rename from crates/bito-lint/src/main.rs rename to crates/bito/src/main.rs index 9a72393..2681a99 100644 --- a/crates/bito-lint/src/main.rs +++ b/crates/bito/src/main.rs @@ -1,13 +1,13 @@ -//! bito-lint CLI +//! bito CLI #![deny(unsafe_code)] use anyhow::Context; -use bito_lint::{Cli, Commands, commands}; -use bito_lint_core::config::ConfigLoader; +use bito::{Cli, Commands, commands}; +use bito_core::config::ConfigLoader; use clap::Parser; use tracing::debug; -mod observability; +use bito_core::observability; fn main() -> anyhow::Result<()> { let cli = Cli::parse(); @@ -71,7 +71,7 @@ fn main() -> anyhow::Result<()> { } else { config .max_input_bytes - .or(Some(bito_lint_core::DEFAULT_MAX_INPUT_BYTES)) + .or(Some(bito_core::DEFAULT_MAX_INPUT_BYTES)) }; // Execute command diff --git a/crates/bito-lint/src/server.rs b/crates/bito/src/server.rs similarity index 95% rename from crates/bito-lint/src/server.rs rename to crates/bito/src/server.rs index 10dffa5..bbbf6ba 100644 --- a/crates/bito-lint/src/server.rs +++ b/crates/bito/src/server.rs @@ -21,9 +21,9 @@ use rmcp::model::{CallToolResult, Content, Implementation, ServerCapabilities, S use rmcp::schemars; use rmcp::{ErrorData as McpError, ServerHandler, tool, tool_handler, tool_router}; -use bito_lint_core::config::Dialect; -use bito_lint_core::tokens::Backend; -use bito_lint_core::{self as core, analysis, completeness, grammar, readability, tokens}; +use bito_core::config::Dialect; +use bito_core::tokens::Backend; +use bito_core::{self as core, analysis, completeness, grammar, readability, tokens}; /// Parameters for the `get_info` tool. #[derive(Debug, serde::Deserialize, schemars::JsonSchema)] @@ -140,7 +140,7 @@ pub struct GetCustomParams { pub struct ProjectServer { tool_router: rmcp::handler::server::router::tool::ToolRouter, max_input_bytes: Option, - config: bito_lint_core::Config, + config: bito_core::Config, config_dir: camino::Utf8PathBuf, } @@ -157,7 +157,7 @@ impl ProjectServer { Self { tool_router: Self::tool_router(), max_input_bytes: Some(core::DEFAULT_MAX_INPUT_BYTES), - config: bito_lint_core::Config::default(), + config: bito_core::Config::default(), config_dir: camino::Utf8PathBuf::from("."), } } @@ -169,7 +169,7 @@ impl ProjectServer { } /// Create a new MCP server with project configuration. - pub fn with_config(mut self, config: bito_lint_core::Config) -> Self { + pub fn with_config(mut self, config: bito_core::Config) -> Self { self.config = config; self } @@ -382,7 +382,7 @@ impl ProjectServer { self.validate_input(¶ms.text)?; let rules = self.config.rules.as_deref().unwrap_or_default(); - let rule_set = bito_lint_core::rules::RuleSet::compile(rules); + let rule_set = bito_core::rules::RuleSet::compile(rules); let resolved = rule_set.resolve(¶ms.file_path); if resolved.is_empty() { @@ -396,13 +396,9 @@ impl ProjectServer { )])); } - let report = bito_lint_core::lint::run_lint( - ¶ms.file_path, - ¶ms.text, - &resolved, - &self.config, - ) - .map_err(|e| McpError::internal_error(e.to_string(), None))?; + let report = + bito_core::lint::run_lint(¶ms.file_path, ¶ms.text, &resolved, &self.config) + .map_err(|e| McpError::internal_error(e.to_string(), None))?; let json = serde_json::to_string_pretty(&report) .map_err(|e| McpError::internal_error(format!("serialization error: {e}"), None))?; @@ -458,19 +454,15 @@ impl ProjectServer { #[tool_handler] impl ServerHandler for ProjectServer { fn get_info(&self) -> ServerInfo { - ServerInfo { - protocol_version: Default::default(), - capabilities: ServerCapabilities::builder().enable_tools().build(), - server_info: Implementation { - name: env!("CARGO_PKG_NAME").to_string(), - version: env!("CARGO_PKG_VERSION").to_string(), - ..Default::default() - }, - instructions: Some(format!( + ServerInfo::new(ServerCapabilities::builder().enable_tools().build()) + .with_server_info(Implementation::new( + env!("CARGO_PKG_NAME"), + env!("CARGO_PKG_VERSION"), + )) + .with_instructions(format!( "{} MCP server. Use tools to interact with project functionality.", env!("CARGO_PKG_NAME"), - )), - } + )) } } @@ -708,7 +700,7 @@ mod tests { let json = serde_json::to_string_pretty(&tools).expect("serialization should work"); // Count tokens using our own tokenizer - let report = bito_lint_core::tokens::count_tokens(&json, None, Backend::default()) + let report = bito_core::tokens::count_tokens(&json, None, Backend::default()) .expect("token counting should work"); // Print breakdown for manual inspection @@ -720,9 +712,8 @@ mod tests { ); for tool in &tools { let tool_json = serde_json::to_string_pretty(&tool).expect("serialize tool"); - let tool_report = - bito_lint_core::tokens::count_tokens(&tool_json, None, Backend::default()) - .expect("count"); + let tool_report = bito_core::tokens::count_tokens(&tool_json, None, Backend::default()) + .expect("count"); println!(" {} — {} tokens", tool.name, tool_report.count); } @@ -771,9 +762,9 @@ mod tests { #[test] fn lint_file_with_rules_runs_checks() { - use bito_lint_core::config::{ReadabilityRuleConfig, Rule, RuleChecks}; + use bito_core::config::{ReadabilityRuleConfig, Rule, RuleChecks}; - let config = bito_lint_core::Config { + let config = bito_core::Config { rules: Some(vec![Rule { paths: vec!["docs/**/*.md".to_string()], checks: RuleChecks { @@ -807,12 +798,12 @@ mod tests { let mut custom = HashMap::new(); custom.insert( "voice".to_string(), - bito_lint_core::config::CustomEntry { + bito_core::config::CustomEntry { instructions: Some("Be concise and direct.".to_string()), file: None, }, ); - let config = bito_lint_core::Config { + let config = bito_core::Config { custom: Some(custom), ..Default::default() }; diff --git a/crates/bito-lint/tests/cli.rs b/crates/bito/tests/cli.rs similarity index 100% rename from crates/bito-lint/tests/cli.rs rename to crates/bito/tests/cli.rs diff --git a/crates/bito-lint/tests/config_integration.rs b/crates/bito/tests/config_integration.rs similarity index 100% rename from crates/bito-lint/tests/config_integration.rs rename to crates/bito/tests/config_integration.rs diff --git a/deny.toml b/deny.toml index 5c3ad45..ec5e0fa 100644 --- a/deny.toml +++ b/deny.toml @@ -1,4 +1,4 @@ -# Enterprise security policy configuration for bito-lint +# Enterprise security policy configuration for bito # This file defines security policies for dependencies, licenses, and advisories # ============================================================================== diff --git a/docs/README.md b/docs/README.md index 5a56c37..bba2681 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,10 @@ -# bito-lint Documentation +# bito Documentation Quality gate tooling for building-in-the-open artifacts. Run writing quality checks on Markdown files via CLI or MCP server. ## Commands -bito-lint has two modes of operation: **config-driven** (`lint`) and **ad-hoc** (everything else). Pick the right one for your workflow. +bito has two modes of operation: **config-driven** (`lint`) and **ad-hoc** (everything else). Pick the right one for your workflow. | Command | Purpose | Typical use | |---------|---------|-------------| @@ -24,8 +24,8 @@ bito-lint has two modes of operation: **config-driven** (`lint`) and **ad-hoc** Config-driven. Matches the file path against `rules` in your config, resolves which checks apply, and runs them all. One command, consistent behavior. If no rules match the file, it prints `SKIP` and exits cleanly. ```bash -bito-lint lint docs/handoff.md -bito-lint lint --json docs/handoff.md # structured output for CI +bito lint docs/handoff.md +bito lint --json docs/handoff.md # structured output for CI ``` ### analyze @@ -33,10 +33,10 @@ bito-lint lint --json docs/handoff.md # structured output for CI Ad-hoc deep dive. Runs all 18 writing quality checks by default, or a subset via `--checks` / `--exclude`. Use interactively when exploring writing quality for a specific file. ```bash -bito-lint analyze docs/guide.md -bito-lint analyze --checks readability,grammar,style docs/guide.md -bito-lint analyze --exclude jargon,acronyms docs/guide.md -bito-lint analyze --style-min 70 --max-grade 10.0 docs/guide.md +bito analyze docs/guide.md +bito analyze --checks readability,grammar,style docs/guide.md +bito analyze --exclude jargon,acronyms docs/guide.md +bito analyze --style-min 70 --max-grade 10.0 docs/guide.md ``` The 18 analysis checks: `readability`, `grammar`, `sticky`, `pacing`, `sentence_length`, `transitions`, `overused`, `repeated`, `echoes`, `sensory`, `diction`, `cliches`, `consistency`, `acronyms`, `jargon`, `complex_paragraphs`, `conjunction_starts`, `style`. @@ -46,22 +46,22 @@ The 18 analysis checks: `readability`, `grammar`, `sticky`, `pacing`, `sentence_ Single-purpose gates. Each runs exactly one check and exits non-zero on failure. Useful when you want a targeted quality gate without configuring rules. ```bash -bito-lint readability --max-grade 8.0 docs/guide.md -bito-lint grammar --passive-max 15.0 docs/guide.md -bito-lint completeness --template handoff .handoffs/sprint-42.md -bito-lint tokens --budget 4000 docs/design.md +bito readability --max-grade 8.0 docs/guide.md +bito grammar --passive-max 15.0 docs/guide.md +bito completeness --template handoff .handoffs/sprint-42.md +bito tokens --budget 4000 docs/design.md ``` -For full flag details, run `bito-lint --help`. +For full flag details, run `bito --help`. ### custom List and inspect custom content entries defined in your config. Plugins and agents use named entries to load project-specific instructions (voice guidelines, house style, glossaries, etc.) at session start. ```bash -bito-lint custom list # show all defined entry names -bito-lint custom show voice # print resolved content for "voice" -bito-lint custom show voice --json # structured output +bito custom list # show all defined entry names +bito custom show voice # print resolved content for "voice" +bito custom show voice --json # structured output ``` See [Custom content entries](#custom-content-entries) for configuration details. @@ -69,8 +69,8 @@ See [Custom content entries](#custom-content-entries) for configuration details. ### doctor and info ```bash -bito-lint doctor # shows config sources, environment, diagnostics -bito-lint info # shows version, features, config file paths +bito doctor # shows config sources, environment, diagnostics +bito info # shows version, features, config file paths ``` ### serve @@ -78,7 +78,7 @@ bito-lint info # shows version, features, config file paths Starts an MCP (Model Context Protocol) server on stdio for IDE and agent integration. ```bash -bito-lint serve +bito serve ``` ## Global flags @@ -227,28 +227,28 @@ Aggregate-only checks that need the full document to produce a meaningful score ### Config file discovery -bito-lint searches for config files in this order: +bito searches for config files in this order: 1. **Explicit** -- `--config ` flag 2. **Project** -- walk up from current directory, stopping at `.git`: - - `.bito.toml`, `.bito.yaml`, `.bito.yml`, `.bito.json` (shared with other bito tools) + - `.bito.toml`, `.bito.yaml`, `.bito.yml`, `.bito.json` - `bito.toml`, `bito.yaml`, `bito.yml`, `bito.json` - - `.bito-lint.toml`, `.bito-lint.yaml`, `.bito-lint.yml`, `.bito-lint.json` - - `bito-lint.toml`, `bito-lint.yaml`, `bito-lint.yml`, `bito-lint.json` -3. **User** -- `~/.config/bito-lint/config.{toml,yaml,yml,json}` + - `.bito-lint.toml`, `.bito-lint.yaml`, `.bito-lint.yml`, `.bito-lint.json` (backward compat) + - `bito-lint.toml`, `bito-lint.yaml`, `bito-lint.yml`, `bito-lint.json` (backward compat) +3. **User** -- `~/.config/bito/config.{toml,yaml,yml,json}` -When multiple project-level config files exist in the same directory, all are merged. Later files in the precedence list override earlier ones, so `bito-lint.yaml` overrides `.bito.yaml` for any shared keys. +When multiple project-level config files exist in the same directory, all are merged. Later files in the precedence list override earlier ones, so `bito.yaml` overrides `.bito.yaml` for any shared keys. Precedence (highest to lowest): CLI flags > environment variables > explicit config > project config > user config > defaults. ### Environment variables -All config fields can be set via environment variables with the `BITO_LINT_` prefix: +All config fields can be set via environment variables with the `BITO_` prefix: ```bash -BITO_LINT_DIALECT=en-gb -BITO_LINT_LOG_LEVEL=debug -BITO_LINT_TOKENIZER=openai +BITO_DIALECT=en-gb +BITO_LOG_LEVEL=debug +BITO_TOKENIZER=openai ``` ### All fields @@ -395,11 +395,11 @@ instructions = """ file = "docs/glossary.md" ``` -File paths are resolved relative to the config file's directory. Use `bito-lint custom list` and `bito-lint custom show ` to verify resolution. +File paths are resolved relative to the config file's directory. Use `bito custom list` and `bito custom show ` to verify resolution. ## MCP tools -The MCP server (`bito-lint serve`) exposes 8 tools for AI agent integration: +The MCP server (`bito serve`) exposes 8 tools for AI agent integration: | Tool | Description | |------|-------------| diff --git a/docs/tokens.md b/docs/tokens.md index d56f7fe..9ab11dd 100644 --- a/docs/tokens.md +++ b/docs/tokens.md @@ -1,6 +1,6 @@ # Token Counting -bito-lint counts tokens offline without API calls. +bito counts tokens offline without API calls. Two backends, one default: Claude greedy estimation and OpenAI exact BPE. ## Table of Contents @@ -96,7 +96,7 @@ In a table row like `| 62,902 | 707 |`, the automaton can match tokens that span across `|` pipe boundaries — effectively merging adjacent cells into one token. This causes an **undercount**, which is the dangerous direction. -bito-lint fixes this by decomposing tables before counting: +bito fixes this by decomposing tables before counting: 1. **Fast path:** no `|` in the input → straight to greedy (zero overhead). 2. **Parse for tables** using pulldown-cmark's offset iterator. @@ -112,7 +112,7 @@ on the cell content that matters for budget enforcement. The table decomposition uses `pulldown_cmark::Parser::new_ext` with `Options::ENABLE_TABLES` — the same parser already used -in bito-lint's markdown stripping (`markdown.rs`). +in bito's markdown stripping (`markdown.rs`). ## Accuracy @@ -149,4 +149,4 @@ Use it when you need exact GPT-4 / cl100k_base counts. Configure via CLI (`--tokenizer claude|openai`), config file (`tokenizer = "openai"`), -or environment variable (`BITO_LINT_TOKENIZER=openai`). +or environment variable (`BITO_TOKENIZER=openai`). diff --git a/rust-toolchain.toml b/rust-toolchain.toml index bcc5f76..ac97e2d 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] # version we build with -channel = "1.93.1" +channel = "1.94.0" profile = "minimal" components = ["clippy", "rustfmt"] diff --git a/scripts/add-crate b/scripts/add-crate index 954b924..094b6dd 100755 --- a/scripts/add-crate +++ b/scripts/add-crate @@ -203,6 +203,10 @@ validate_crate_name() { # ============================================================================ prompt_crate_type() { + if [[ ! -t 0 ]]; then + echo "Error: crate type is required in non-interactive mode (use: lib, bin, or internal)" >&2 + exit 1 + fi echo "" echo -e "${BOLD}Crate type:${NC}" echo " 1) lib - Reusable library" @@ -219,6 +223,10 @@ prompt_crate_type() { } prompt_crate_name() { + if [[ ! -t 0 ]]; then + echo "Error: crate name is required in non-interactive mode" >&2 + exit 1 + fi while true; do echo "" read -rp "Crate name (kebab-case): " CRATE_NAME @@ -232,6 +240,15 @@ prompt_crate_name() { } prompt_description() { + if [[ ! -t 0 ]]; then + # Default based on type in non-interactive mode + case "$CRATE_TYPE" in + lib) CRATE_DESC="Library crate" ;; + bin) CRATE_DESC="Binary crate" ;; + internal) CRATE_DESC="Internal support crate" ;; + esac + return 0 + fi echo "" read -rp "Brief description: " CRATE_DESC if [[ -z "$CRATE_DESC" ]]; then @@ -246,6 +263,8 @@ prompt_description() { prompt_derive() { if [[ "$CRATE_TYPE" == "internal" ]] && [[ "$PROC_MACRO" == false ]]; then + # Non-interactive: default to no proc-macro + [[ ! -t 0 ]] && return 0 echo "" read -rp "Set up as proc-macro crate? [y/N]: " yn case "$yn" in diff --git a/scripts/rename.sh b/scripts/rename.sh index bbaca17..f0dbe61 100755 --- a/scripts/rename.sh +++ b/scripts/rename.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash # Generated by claylo-rs copier template -OLD_CRATE="bito-lint" -OLD_SNAKE="bito_lint" -OLD_PASCAL="BitoLint" +OLD_CRATE="bito" +OLD_SNAKE="bito" +OLD_PASCAL="Bito" read -p "New crate name (kebab-case): " NEW_CRATE NEW_SNAKE="${NEW_CRATE//-/_}" diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index bcb1b1e..9ed4ddb 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -8,7 +8,7 @@ repository.workspace = true homepage.workspace = true [dependencies] -clap = { version = "4.5", features = ["derive"] } -clap_complete = "4.5" +clap = { version = "4.6", features = ["derive"] } +clap_complete = "4.6" clap_mangen = "0.2" -bito-lint = { path = "../crates/bito-lint", features = ["mcp"] } +bito = { path = "../crates/bito", features = ["mcp"] } diff --git a/xtask/src/commands/completions.rs b/xtask/src/commands/completions.rs index 4da72ee..17e0304 100644 --- a/xtask/src/commands/completions.rs +++ b/xtask/src/commands/completions.rs @@ -19,8 +19,8 @@ pub fn cmd_completions(args: CompletionsArgs) -> Result<(), String> { let out_dir = crate::workspace_root().join(args.out_dir); fs::create_dir_all(&out_dir).map_err(|e| format!("{}: {e}", out_dir.display()))?; - let mut cmd = bito_lint::command(); - let bin_name = "bito-lint"; + let mut cmd = bito::command(); + let bin_name = "bito"; let shells: Vec = match args.shell { Some(shell) => vec![shell], diff --git a/xtask/src/commands/install.rs b/xtask/src/commands/install.rs index 3ef2fe6..29ad299 100644 --- a/xtask/src/commands/install.rs +++ b/xtask/src/commands/install.rs @@ -33,7 +33,7 @@ pub fn cmd_install(args: InstallArgs) -> Result<(), String> { return Err(format!("built binary not found at {}", bin_path.display())); } - let dest = bin_dir.join("bito-lint"); + let dest = bin_dir.join("bito"); fs::copy(&bin_path, &dest).map_err(|e| format!("{}: {e}", dest.display()))?; set_executable(&dest)?; println!("installed {}", dest.display()); @@ -42,10 +42,7 @@ pub fn cmd_install(args: InstallArgs) -> Result<(), String> { fn build_cli(root: &Path, profile: &str) -> Result { let mut cmd = Command::new("cargo"); - cmd.arg("build") - .arg("-p") - .arg("bito-lint") - .current_dir(root); + cmd.arg("build").arg("-p").arg("bito").current_dir(root); if profile == "release" { cmd.arg("--release"); } else if profile == "dev" { @@ -63,7 +60,7 @@ fn built_binary(root: &Path, profile: &str) -> PathBuf { "dev" => "debug", _ => profile, }; - root.join("target").join(dir).join("bito-lint") + root.join("target").join(dir).join("bito") } fn expand_tilde(path: &str) -> Result { diff --git a/xtask/src/commands/man.rs b/xtask/src/commands/man.rs index b5bc73e..36808fd 100644 --- a/xtask/src/commands/man.rs +++ b/xtask/src/commands/man.rs @@ -15,13 +15,13 @@ pub fn cmd_man(args: ManArgs) -> Result<(), String> { fs::create_dir_all(&out_dir).map_err(|e| format!("{}: {e}", out_dir.display()))?; // Generate main command manpage - let cmd = bito_lint::command(); + let cmd = bito::command(); let man = clap_mangen::Man::new(cmd.clone()); let mut buffer: Vec = Vec::new(); man.render(&mut buffer) .map_err(|e| format!("render manpage: {e}"))?; - let man_path = out_dir.join("bito-lint.1"); + let man_path = out_dir.join("bito.1"); fs::write(&man_path, buffer).map_err(|e| format!("{}: {e}", man_path.display()))?; println!("wrote {}", man_path.display()); @@ -33,7 +33,7 @@ pub fn cmd_man(args: ManArgs) -> Result<(), String> { man.render(&mut buffer) .map_err(|e| format!("render manpage for {name}: {e}"))?; - let man_path = out_dir.join(format!("bito-lint-{name}.1")); + let man_path = out_dir.join(format!("bito-{name}.1")); fs::write(&man_path, buffer).map_err(|e| format!("{}: {e}", man_path.display()))?; println!("wrote {}", man_path.display()); } diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 4f3d16c..e37d1ea 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -1,4 +1,4 @@ -//! Build automation tasks for bito-lint. +//! Build automation tasks for bito. //! //! This crate provides development utilities: //! - `completions` - Generate shell completions @@ -25,13 +25,13 @@ struct Xtask { #[derive(Subcommand, Debug)] enum Task { - /// Generate shell completions for the bito-lint CLI. + /// Generate shell completions for the bito CLI. Completions(commands::completions::CompletionsArgs), - /// Generate manpages for the bito-lint CLI. + /// Generate manpages for the bito CLI. Man(commands::man::ManArgs), - /// Build and install the bito-lint CLI into ~/.bin for local testing. + /// Build and install the bito CLI into ~/.bin for local testing. Install(commands::install::InstallArgs), }