├── img ├── after.png └── before.png ├── src ├── txt │ ├── README.md │ ├── file_txt.txt │ └── random_words.txt ├── cfg │ ├── config.json │ └── comments.json ├── __init__.py ├── comment_builder.py ├── date_changer.py ├── git_builder.py └── file_builder.py ├── .gitignore ├── files └── test.py ├── main.py └── README.md /img/after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liamarguedas/GitHub-Filler/HEAD/img/after.png -------------------------------------------------------------------------------- /img/before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liamarguedas/GitHub-Filler/HEAD/img/before.png -------------------------------------------------------------------------------- /src/txt/README.md: -------------------------------------------------------------------------------- 1 | ## RANDOM WORDS FROM @ cjhveal 2 | 3 | https://gist.github.com/cjhveal/3753018 4 | -------------------------------------------------------------------------------- /src/txt/file_txt.txt: -------------------------------------------------------------------------------- 1 | Commitify V1.0.0 2 | GITHUB: https://github.com/liamarguedas/Commitify 3 | 4 | -------------------------------------------------------------------------------- /src/cfg/config.json: -------------------------------------------------------------------------------- 1 | {"repository": "https://github.com/liamarguedas/testing.git", "branch": "master", "commits": "", "file": "rs", "starting_date": "2011, 1, 12", "ending_date": "2011, 2, 12"} -------------------------------------------------------------------------------- /src/cfg/comments.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": [ 3 | "Add( Arg prefix to error message )", 4 | "Add( Necessary requirements to use coverage )", 5 | "Add( Initial working version )", 6 | "Remove( Old build files )", 7 | "Update( README.md )" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # node_modules 7 | node_modules 8 | package-lock.json 9 | 10 | # Distribution / packaging 11 | .Python 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | *.manifest 30 | *.spec 31 | .pypirc 32 | 33 | # Environments 34 | .env 35 | .venv 36 | env/ 37 | venv/ 38 | ENV/ 39 | env.bak/ 40 | venv.bak/ 41 | 42 | # pyenv 43 | .python-version 44 | 45 | # node-modules global 46 | node_modules/ 47 | -------------------------------------------------------------------------------- /files/test.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | # 26/05/2008? hmmm? 22 | -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | from .comment_builder import CommentBuilder 22 | from .file_builder import FileBuilder 23 | from .date_changer import DateChanger 24 | from .git_builder import GitBuilder 25 | -------------------------------------------------------------------------------- /src/comment_builder.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | import json 22 | import os 23 | import random 24 | from pathlib import Path 25 | 26 | COMMENTS = "comments.json" 27 | 28 | class CommentBuilder: 29 | """todo""" 30 | 31 | def __init__(self): 32 | 33 | self.filepath = Path(__file__).parents[0] 34 | self.cfg_path = self.filepath / "cfg" 35 | self.comments_file = self.cfg_path / COMMENTS 36 | self.comments = self.load_comments() 37 | 38 | def comments_file_exists(self): 39 | """todo""" 40 | return os.path.exists(self.comments_file) 41 | 42 | def load_comments(self): 43 | """todo""" 44 | if self.comments_file_exists(): 45 | with open(self.comments_file, "r", encoding="utf-8") as file: 46 | return json.load(file)["comments"] 47 | return self.generic_comment() 48 | 49 | def generic_comment(self): 50 | """todo""" 51 | return ["Fix( comments.json is not working, fix it )"] 52 | 53 | def comment(self): 54 | """todo""" 55 | return random.choice(self.comments) 56 | -------------------------------------------------------------------------------- /src/date_changer.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | 22 | from datetime import datetime, timedelta 23 | 24 | 25 | class DateChanger: 26 | """todo""" 27 | 28 | def __init__(self, starting_date: tuple, ending_date: tuple): 29 | """ 30 | date format = (year, month, day) 31 | NOTE: ending_date cannot be future, maximum today. 32 | """ 33 | self.starting_date = datetime(*starting_date) 34 | self.ending_date = datetime(*ending_date) 35 | self.current_iteration_day = self.starting_date 36 | self.current_system_date = datetime.now() 37 | self.days = (self.ending_date - self.starting_date).days 38 | 39 | @staticmethod 40 | def create_systemtime_object(timeobject): 41 | """todo""" 42 | 43 | os_date = datetime.now() 44 | 45 | return datetime( 46 | timeobject.year, # Year 47 | timeobject.month, # Month 48 | timeobject.day, # Day 49 | os_date.hour, # Hour 50 | os_date.minute, # Minute 51 | os_date.second, # Second 52 | ) 53 | 54 | def change_date(self, to_future=False): 55 | """ 56 | Can only be done using admin cmd 57 | """ 58 | new_date = self.create_systemtime_object(self.current_iteration_day) 59 | 60 | return new_date.strftime("%Y-%m-%d %H:%M:%S") 61 | 62 | def next_day(self, days=1): 63 | """todo""" 64 | self.current_iteration_day += timedelta(days=days) 65 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | from pathlib import Path 22 | import time 23 | import os, shutil 24 | import statistics 25 | from build import GithubFillerConfig 26 | from src import GitBuilder 27 | from src import DateChanger 28 | 29 | ROOT_PATH = Path(__file__).parents[0] 30 | FILES_DIR = ROOT_PATH / "files" 31 | 32 | 33 | def main(): 34 | """todo""" 35 | 36 | params = GithubFillerConfig().ask_configs(return_configs=True) 37 | 38 | start_date = read_date(params["starting_date"]) 39 | stop_date = read_date(params["ending_date"]) 40 | 41 | system = DateChanger(starting_date=start_date, ending_date=stop_date) 42 | 43 | git = GitBuilder(directory=FILES_DIR) 44 | 45 | git.init_repository() 46 | 47 | git.set_remote_repository(params["repository"]) 48 | 49 | time_records = [] 50 | day_counter = 0 51 | 52 | while system.current_iteration_day != system.ending_date: 53 | 54 | starting_time = time.time() 55 | 56 | date = system.change_date() 57 | 58 | for _ in range(git.get_commits_number()): 59 | 60 | git.execute(push=False, date=date) 61 | 62 | git.push() 63 | 64 | system.next_day() 65 | 66 | time_records.append(time.time() - starting_time) 67 | 68 | for _ in range(10): 69 | approx_time = round( 70 | int(statistics.mean(time_records) * (system.days - day_counter)) / 60, 2 71 | ) 72 | print(f"Aprox. estimated time to finish: {approx_time} minutes") 73 | 74 | day_counter += 1 75 | 76 | 77 | def read_date(date: str): 78 | """todo""" 79 | temp = date.split(",") 80 | return (int(temp[0]), int(temp[1]), int(temp[2])) 81 | 82 | if __name__ == "__main__": 83 | main() 84 | -------------------------------------------------------------------------------- /src/git_builder.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | from pathlib import Path 22 | import random 23 | import os 24 | import json 25 | from .comment_builder import CommentBuilder 26 | from .file_builder import FileBuilder 27 | 28 | BLANK = "" 29 | CONFIG = "config.json" 30 | 31 | 32 | class GitBuilder: 33 | """todo""" 34 | 35 | def __init__(self, directory, files="."): 36 | self.comment_generator = CommentBuilder() 37 | self.file_generator = FileBuilder() 38 | self.directory = directory 39 | self.filepath = Path(__file__).parents[0] 40 | self.cfgs = self.read_configs() 41 | self.branch = self.cfgs["branch"] 42 | self.files = files 43 | 44 | @staticmethod 45 | def random_commits(n=25): 46 | """todo""" 47 | return random.randint(1, n) 48 | 49 | def read_configs(self): 50 | """todo""" 51 | with open(self.filepath / "cfg" / CONFIG, "r", encoding="utf-8") as file: 52 | return json.load(file) 53 | 54 | def get_commits_number(self): 55 | """todo""" 56 | if not self.cfgs["commits"] == BLANK: 57 | try: 58 | return int(self.cfgs["commits"]) 59 | 60 | except Exception as e: 61 | print(e) 62 | print("ERROR: Could not read number of commits, using random commits") 63 | 64 | return self.random_commits() 65 | 66 | def init_repository(self): 67 | """todo""" 68 | command = "git init" 69 | os.system(command) 70 | 71 | def set_remote_repository(self, repo): 72 | """todo""" 73 | command = f"git remote set-url origin {repo}" 74 | 75 | os.system(command) 76 | 77 | def add(self): 78 | """todo""" 79 | command = "git add ." 80 | os.system(command) 81 | 82 | def commit(self, message: str, date: str): 83 | """todo""" 84 | command = f'git commit --date="{date}" -m "{message}"' 85 | os.system(command) 86 | 87 | def push(self): 88 | """todo""" 89 | command = f"git push origin {self.branch}" 90 | os.system(command) 91 | 92 | def execute(self, date: str, push=True): 93 | """todo""" 94 | self.file_generator.create_file(self.directory) 95 | self.add() 96 | comment = self.comment_generator.comment() 97 | self.commit(message=comment, date=date) 98 | if push: 99 | self.push() 100 | -------------------------------------------------------------------------------- /src/file_builder.py: -------------------------------------------------------------------------------- 1 | """ 2 | GitHub Filler - Fake Commit Generator for GitHub 3 | 4 | Copyright (C) 2024-2024 Liam Arguedas 5 | 6 | This file is part of GitHub Filler, a free CLI tool based on the original Commitify 7 | designed to generate fake commits for GitHub repositories. 8 | 9 | GitHub Filler is distributed under the terms of the GNU General Public License (GPL), 10 | either version 3 of the License, or any later version. 11 | 12 | GitHub Filler is provided "as is", without warranty of any kind, express or implied, 13 | including but not limited to the warranties of merchantability, fitness for a 14 | particular purpose, and noninfringement. See the GNU General Public License for 15 | more details. 16 | 17 | You should have received a copy of the GNU General Public License along with 18 | GitHub Filler. If not, see . 19 | """ 20 | 21 | from pathlib import Path 22 | import random 23 | import os 24 | import json 25 | 26 | WORDS = "random_words.txt" 27 | FILE_TXT = "file_txt.txt" 28 | CONFIG = "config.json" 29 | 30 | class FileBuilder: 31 | 32 | def __init__(self): 33 | self.filepath = Path(__file__).parents[0] 34 | self.txt_path = self.filepath / "txt" 35 | self.words_file = self.txt_path / WORDS 36 | self.file_txt = self.txt_path / FILE_TXT 37 | self.words = self.read_text(self.words_file) 38 | self.file_text = self.read_text(self.file_txt) 39 | self.filename = None 40 | self.filetype = self.read_filetype() 41 | 42 | @staticmethod 43 | def path_exists(dirname): 44 | """todo""" 45 | return os.path.exists(dirname) 46 | 47 | @staticmethod 48 | def generate_extra_file(file, dirname): 49 | """todo""" 50 | _splited_file = file.split(".") 51 | same_name_files = [ 52 | directory_file 53 | for directory_file in os.listdir(dirname) 54 | if _splited_file[0] in directory_file 55 | ] 56 | return f"{_splited_file[0]}{len(same_name_files) + 1}.{_splited_file[1]}" 57 | 58 | def write_new_file(self, filename): 59 | """todo""" 60 | with open(filename, "w", encoding="utf-8") as file: 61 | for line in self.file_text: 62 | file.write(f"{line}\n") 63 | 64 | def read_filetype(self): 65 | """todo""" 66 | with open(self.filepath / "cfg" / CONFIG, "r", encoding="utf-8") as file: 67 | 68 | file_type = json.load(file)["file"] 69 | return file_type 70 | 71 | def file_in_path(self, dirname): 72 | """todo""" 73 | return os.path.exists(f"{dirname}/{self.filename}") 74 | 75 | def generate_name(self): 76 | """todo""" 77 | self.filename = f"{random.choice(self.words)}.{self.filetype}" 78 | return self.filename 79 | 80 | def read_text(self, file): 81 | """todo""" 82 | if self.path_exists(file): 83 | with open(file, "r", encoding="utf-8") as loaded_file: 84 | return [line.rstrip("\n") for line in loaded_file.readlines()] 85 | return ["file"] 86 | 87 | def create_file(self, dirname): 88 | """todo""" 89 | if self.path_exists(dirname): 90 | file = self.generate_name() 91 | if self.file_in_path(dirname): 92 | file = self.generate_extra_file(file, dirname) 93 | self.write_new_file(dirname / file) 94 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GitHub Filler 2 | > Want to look like a productive developer? I got you. 3 | 4 | ![GitHub release (latest by date)](https://img.shields.io/badge/release-v1.0.0-green) 5 | ![language (python)](https://img.shields.io/badge/language-python-blue) 6 | ![language (Bash)](https://img.shields.io/badge/language-Bash-green) 7 | ![license](https://img.shields.io/badge/license-GPL--3.0-yellow) 8 | 9 | ### What is GitHub-Filler? 10 | 11 | GitHub Filler is a CLI tool based on the [Commitify](https://github.com/liamarguedas/Commitify) designed to generate fake commits over a specified date range, improving your GitHub contribution graph. It creates the appearance of consistent activity, helping to simulate a more productive developer profile. 12 | 13 | ### Before 14 | ![After](https://raw.githubusercontent.com/liamarguedas/GitHub-Filler/master/img/before.png) 15 | 16 | ### After 17 | ![Before](https://raw.githubusercontent.com/liamarguedas/GitHub-Filler/master/img/after.png) 18 | ___ 19 | 20 | ## Get Stared 21 | 22 | ### 1. Pre-requisites: 23 | 24 | Before you begin, you'll need to install the prerequisites: 25 | - [Python 3.x](https://www.python.org/downloads/) 26 | - Git installed and connected to your GitHub account. 27 | - Create a new repository on GitHub. You can name it as you wish, but ensure it remains empty. Do not add any files, including `LICENSE` or `README.md`. Optional: Set it to private. 28 | ### 2. Clone GitHub-Filler: 29 | 30 | - Clone the repository with the following commands: 31 | ```bash 32 | git clone https://github.com/liamarguedas/GitHub-Filler.git 33 | cd GitHub-Filler 34 | ``` 35 | ### 3. Execute the tool 36 | - Run the following command: 37 | ```bash 38 | python main.py 39 | ``` 40 | 41 | ### 4. **Configuration**: 42 | - Upon running `main.py`, the CLI will prompt you for repository information and GitHub-Filler configuration. 43 | - You can set your own configuration or leave it blank to use the default settings. 44 | - **Repository URL**: Provide the URL of the GitHub repository you created earlier. 45 | - **Branch**: Specify the branch of the repository. If left blank, "master" will be used. 46 | - **Commits**: Enter the number of commits GitHub Filler will execute daily. Leaving this blank will result in a random number of commits each day. 47 | - **File**: Choose the file type to be added to the repository. Specify only the extension (e.g., `py`, `js`, `rs`) without the dot. If left blank, Python files (`py`) will be used by default. 48 | - **Starting date**: Specify a start date from which the tool will begin filling your contributions graph. 49 | - **Ending date**: Specify a end date from which the tool will stop filling your contributions graph. 50 | 51 | *Note: Date format should be **year, month, day** without leading zeros, example: 04/23/2024 should be provided as -> 2024, 4, 23* 52 | 53 | *Note: Providing the repository URL is mandatory.* 54 | 55 | 5. **Ready to Use**: 56 | - Once the configuration is complete, the tool will start populating your contribution graph. 57 | 58 | **IMPORTANT**: Filling one entire year can take up to an hour, so if you've configured it to fill five years, it may take about five hours. Keep this in mind, as the tool will be making time and calendar changes to your computer and you likely won't be able to use it while it's running. 59 | 60 | With these steps completed, GitHub-Filler is set up and ready to demonstrate consistent activity on your GitHub Account. 61 | 62 | ## Platform Compatibility 63 | 64 | - **Windows**: Fully supported and ready to use. 65 | - **Linux / macOS**: Fully supported and ready to use. 66 | 67 | ## Donations 68 | 69 | GitHub Filler is a freely available, open-source CLI Tool crafted during my limited free time. If you find value in the project and wish to contribute to its ongoing development, kindly consider making a small donation. Your support is genuinely appreciated! 70 | 71 | [Donate with PayPal](https://www.paypal.me/ILIAMFTW) 72 | 73 | ## Contributors 74 | 75 | 76 | 77 | 78 | 79 | ## License 80 | 81 | GitHub-Filler was created by [Liam Arguedas](https://github.com/liamarguedas) 82 | and is licensed under the [GPL-3.0 license](/LICENSE). 83 | -------------------------------------------------------------------------------- /src/txt/random_words.txt: -------------------------------------------------------------------------------- 1 | resink 2 | transversomedial 3 | pharyngopathy 4 | postmineral 5 | myelosyphilis 6 | silverer 7 | evincement 8 | phrygium 9 | punnigram 10 | imminution 11 | environmental 12 | sleepify 13 | nope 14 | wauken 15 | indignance 16 | knotwort 17 | apocodeine 18 | escortee 19 | dogwatch 20 | eaglewood 21 | unbrotherliness 22 | mulse 23 | dermobranchiata 24 | typhic 25 | poststertorous 26 | indevout 27 | anatomicopathologic 28 | unimpenetrable 29 | hoggy 30 | urrhodin 31 | Dioecia 32 | unchapter 33 | nonumbilicate 34 | zwitterionic 35 | apportionable 36 | ferulic 37 | statefulness 38 | pharyngotonsillitis 39 | Mimulus 40 | recce 41 | mutinously 42 | reboant 43 | marshwort 44 | lupoid 45 | chromatophilic 46 | lauder 47 | nirles 48 | esthesiometer 49 | semisocial 50 | unbeing 51 | kangaroo 52 | takosis 53 | inconvertibility 54 | anesthetist 55 | rumorproof 56 | thoracoscopy 57 | euphorbium 58 | bizet 59 | song 60 | dolichocephali 61 | platemaker 62 | vesicupapular 63 | electroforming 64 | dilatingly 65 | meethelp 66 | loincloth 67 | avowably 68 | counterindicate 69 | treacliness 70 | Epigonus 71 | airmark 72 | polarography 73 | precomposition 74 | lemography 75 | Apinage 76 | Taal 77 | logology 78 | probeer 79 | randomization 80 | poditic 81 | individualize 82 | castigate 83 | Biloculina 84 | overscrub 85 | koolah 86 | weetless 87 | erased 88 | layery 89 | discontinuee 90 | anaphylatoxin 91 | unwounded 92 | personalism 93 | howitzer 94 | hexahydroxy 95 | koku 96 | reamer 97 | tonguiness 98 | microgametocyte 99 | baba 100 | ludefisk 101 | novelwright 102 | swinehull 103 | Odonata 104 | indefinable 105 | faineance 106 | nidologist 107 | supracargo 108 | beriberic 109 | betso 110 | archheart 111 | snary 112 | Viminal 113 | Pygopodidae 114 | acetylenediurein 115 | asphalt 116 | preimpress 117 | fountainlet 118 | bejel 119 | unpictorially 120 | heliophyte 121 | chimopeelagic 122 | warison 123 | antivaccinist 124 | overtwine 125 | preremove 126 | nerval 127 | bufonite 128 | eradicator 129 | turtling 130 | winrace 131 | psychographic 132 | impalpably 133 | amygdalase 134 | Octogynia 135 | brimming 136 | grist 137 | casave 138 | brazilein 139 | afluking 140 | meliceris 141 | portative 142 | unsteck 143 | Madelon 144 | barramunda 145 | optotechnics 146 | metapterygium 147 | unromanticalness 148 | Jacobinism 149 | pricklingly 150 | blameless 151 | elderhood 152 | committeewoman 153 | comicocynical 154 | aggrate 155 | stentoronic 156 | flatwise 157 | bipyridyl 158 | untastable 159 | aegerian 160 | unmistrusted 161 | quadrigamist 162 | Meleagrinae 163 | helvite 164 | neuralist 165 | Swietenia 166 | unpleadable 167 | colorably 168 | mogilalism 169 | consequently 170 | atamasco 171 | inhospitality 172 | noncarnivorous 173 | counterruin 174 | gryposis 175 | ringe 176 | displeasedly 177 | incenter 178 | gallycrow 179 | whincow 180 | repudiationist 181 | unagile 182 | chaplain 183 | bekerchief 184 | subproduct 185 | pointingly 186 | Physonectae 187 | bumpingly 188 | hateful 189 | endogenous 190 | facticide 191 | velours 192 | carmoisin 193 | reaccomplish 194 | protistic 195 | recuperance 196 | tech 197 | withywind 198 | Galen 199 | Slavistic 200 | escropulo 201 | deglutination 202 | hydramnios 203 | Amphion 204 | beguilement 205 | glottiscope 206 | propagation 207 | entrancement 208 | disbelief 209 | goatlike 210 | Tanyoan 211 | thecium 212 | deforciant 213 | coachwhip 214 | enviableness 215 | duroquinone 216 | smirchy 217 | whisky 218 | forcing 219 | homosystemic 220 | underact 221 | autosyndesis 222 | sybaritism 223 | scorching 224 | testiere 225 | nonporphyritic 226 | cephalhematoma 227 | oxyquinoline 228 | azo 229 | scrimshorn 230 | unreeling 231 | burnt 232 | kilocycle 233 | lactenin 234 | Decimus 235 | patter 236 | jetbead 237 | Pygidium 238 | bitterroot 239 | thoke 240 | septated 241 | trinodal 242 | qualitied 243 | gotten 244 | unclassable 245 | Akhissar 246 | wholewise 247 | curse 248 | organophyly 249 | teleseme 250 | heptitol 251 | whitehass 252 | asclepiadeous 253 | labionasal 254 | presumptuous 255 | triketo 256 | thrombolymphangitis 257 | spokeswomanship 258 | unprejudicial 259 | ungoverned 260 | nonrectangular 261 | pleocrystalline 262 | slurbow 263 | unhandsome 264 | scoliotic 265 | phreatophyte 266 | criminalistics 267 | imitability 268 | zygozoospore 269 | nonliability 270 | disafforestation 271 | epigenetic 272 | Aves 273 | schistaceous 274 | verbomania 275 | epitenon 276 | proscriber 277 | histology 278 | propulsion 279 | elaidinic 280 | driftless 281 | upcover 282 | duteous 283 | distasteful 284 | dermatoxerasia 285 | Kaibartha 286 | spydom 287 | tonsor 288 | paedogenesis 289 | anticipatory 290 | unastonished 291 | Blackbeard 292 | gradient 293 | metachemistry 294 | caravan 295 | circumnutate 296 | infract 297 | adenia 298 | louse 299 | koel 300 | tributyrin 301 | lifey 302 | Desmidiaceae 303 | vinelet 304 | ingrowth 305 | uniovulate 306 | toying 307 | nonretentive 308 | conjunct 309 | pinnaglobin 310 | vastity 311 | appendicle 312 | redecline 313 | trekker 314 | hereby 315 | dicatalexis 316 | slackerism 317 | inaxon 318 | tribase 319 | cryptostome 320 | nonpresbyter 321 | breezily 322 | opusculum 323 | methought 324 | yarl 325 | fringent 326 | forsooth 327 | plicater 328 | balneotherapeutics 329 | uredosporic 330 | perceptive 331 | embouchure 332 | heterolysis 333 | imperence 334 | perfervidness 335 | pobs 336 | thorax 337 | perikronion 338 | charlatanic 339 | Bonapartism 340 | whilom 341 | outferret 342 | kelty 343 | macrospore 344 | predisposedly 345 | squawk 346 | extrafoliaceous 347 | inveteracy 348 | obtect 349 | decoyer 350 | Pelecaniformes 351 | dodecane 352 | gambet 353 | electrodynamism 354 | henter 355 | sunless 356 | burroweed 357 | busket 358 | trepidatory 359 | fermerer 360 | prewound 361 | thrifty 362 | twibil 363 | amateur 364 | myasthenia 365 | goave 366 | toolmark 367 | ornithon 368 | geminately 369 | unrhymed 370 | Serridentines 371 | presbyopia 372 | unoperably 373 | preventer 374 | salten 375 | grimily 376 | conduplicated 377 | theomania 378 | gyromagnetic 379 | antimycotic 380 | malacanthid 381 | sensationistic 382 | vibraculoid 383 | eater 384 | zig 385 | bordello 386 | hounding 387 | outweary 388 | hoyle 389 | nonrendition 390 | potlike 391 | surflike 392 | rubification 393 | dulcifluous 394 | Saturnalian 395 | unconfidence 396 | Apneumona 397 | hedgy 398 | subharmonic 399 | undisputed 400 | monotypic 401 | pontifex 402 | Phalarism 403 | precursive 404 | uncock 405 | echinoderm 406 | antu 407 | rollick 408 | natricine 409 | presuperintendence 410 | pinnaclet 411 | precondemnation 412 | Atheriogaea 413 | volumescope 414 | Austrophilism 415 | stinking 416 | wildness 417 | noncoloring 418 | spaying 419 | somniloquy 420 | xi 421 | hierogrammatical 422 | winer 423 | ironback 424 | tarnside 425 | lampers 426 | handcraft 427 | glossophagine 428 | philophilosophos 429 | nonconcludent 430 | overaccumulate 431 | disbutton 432 | kinetomer 433 | thermostimulation 434 | stenogastric 435 | ovoviviparously 436 | recept 437 | firetop 438 | roughroot 439 | Muncerian 440 | prefiction 441 | Ovinae 442 | reactivity 443 | oncin 444 | pointer 445 | absolve 446 | unaccommodatingly 447 | telson 448 | ayelp 449 | rebegin 450 | unhomely 451 | Octavian 452 | scope 453 | Pentelic 454 | revocability 455 | juvenal 456 | spinobulbar 457 | erinaceous 458 | hield 459 | anaglyph 460 | strongylid 461 | strangling 462 | kala 463 | fibroplastic 464 | adactyl 465 | Pauline 466 | undispellable 467 | Frederick 468 | amylopsin 469 | informative 470 | Sisseton 471 | roominess 472 | unsurpassableness 473 | painstaker 474 | saturator 475 | laryngoscopical 476 | stereophotographic 477 | washbasin 478 | functionarism 479 | absorbability 480 | enscroll 481 | scunner 482 | masting 483 | lionet 484 | unbumptious 485 | stockishness 486 | prechemical 487 | nonmythical 488 | apache 489 | force 490 | isomastigate 491 | orthophosphate 492 | Palaeomastodon 493 | brachypyramid 494 | abscession 495 | acquisitum 496 | reputationless 497 | praisefully 498 | grama 499 | trapped 500 | Somal 501 | disturn 502 | menorrhagia 503 | faltering 504 | Yquem 505 | invective 506 | Hafgan 507 | isobarbaloin 508 | phototrichromatic 509 | ectomorphy 510 | rollickingness 511 | preponderance 512 | nonprobable 513 | counterreckoning 514 | unenforcedly 515 | Saratogan 516 | minienize 517 | limby 518 | lovelorn 519 | presartorial 520 | Chaetophoraceae 521 | intenable 522 | satisfying 523 | columnization 524 | brotulid 525 | interenjoy 526 | subtriplicated 527 | Vaudois 528 | Dioscorea 529 | Brachiata 530 | unpunishable 531 | Latvian 532 | siccity 533 | blossomtime 534 | Castalia 535 | dephlegmator 536 | apagogically 537 | Aglypha 538 | withdrawment 539 | hemoproctia 540 | unfailableness 541 | inventorial 542 | Pyrrhic 543 | barbiturate 544 | undetermination 545 | osteoscope 546 | lutulence 547 | Rajah 548 | tortricoid 549 | subglacially 550 | porwigle 551 | complacent 552 | archagitator 553 | sterigmatic 554 | hydrocycle 555 | misliken 556 | powerhouse 557 | manumission 558 | Dardistan 559 | oosporic 560 | vestal 561 | baller 562 | heterochronic 563 | flyless 564 | cuboidal 565 | adenology 566 | miscellaneous 567 | imperceptibly 568 | decohesion 569 | Babel 570 | thaliacean 571 | underivable 572 | misexample 573 | hypersophisticated 574 | Cucurbitaceae 575 | cherubic 576 | esophagotomy 577 | Suomic 578 | staghorn 579 | hysteric 580 | quadrumane 581 | keratocentesis 582 | middlings 583 | alley 584 | Delicious 585 | chymotrypsin 586 | cancroid 587 | aweary 588 | capersome 589 | Ashkenazim 590 | ventripotential 591 | Chlamydoselachus 592 | dithioic 593 | weeze 594 | ruck 595 | overhover 596 | stabulate 597 | littleneck 598 | duplone 599 | bulkhead 600 | niellated 601 | bellite 602 | samsara 603 | diligentness 604 | scritch 605 | amuck 606 | studbook 607 | guijo 608 | certifiableness 609 | tormentful 610 | milliare 611 | repromulgate 612 | synesthesia 613 | whitecoat 614 | osmometric 615 | periductal 616 | psorospermosis 617 | purificator 618 | untrochaic 619 | Jeremian 620 | copulate 621 | ratable 622 | dislodgement 623 | proferment 624 | evangelary 625 | overdevotedly 626 | lickspittling 627 | atrocity 628 | supracaudal 629 | uncompassionate 630 | nonsparking 631 | shaftfoot 632 | attemperation 633 | unentrance 634 | mispossessed 635 | dumpy 636 | strangership 637 | hygrodeik 638 | foundery 639 | scenic 640 | purchase 641 | scorch 642 | preaffiliation 643 | Cossaean 644 | tungstate 645 | hecte 646 | ureometer 647 | syllabatim 648 | wireless 649 | Zapoteco 650 | notarikon 651 | acroasphyxia 652 | endosalpingitis 653 | humpback 654 | unwist 655 | pedigerous 656 | peacemaking 657 | foremasthand 658 | annodated 659 | multicarinated 660 | Elaps 661 | seedbox 662 | loaferish 663 | proprietage 664 | Eumenes 665 | monochlor 666 | decarhinus 667 | ambry 668 | hemarthrosis 669 | echopractic 670 | Hamamelidoxylon 671 | schoolcraft 672 | scillipicrin 673 | Klanswoman 674 | glyceride 675 | dacryocystotomy 676 | muscose 677 | whau 678 | introductoriness 679 | propaedeutical 680 | pensived 681 | subarmor 682 | ichthyotomy 683 | Caesardom 684 | alkylic 685 | urethrorrhea 686 | platybrachycephalous 687 | disapprovingly 688 | sportsmanlike 689 | normoblastic 690 | scowlingly 691 | undervegetation 692 | glycogelatin 693 | antiprohibitionist 694 | intersex 695 | anthropophagistic 696 | garawi 697 | Lecanium 698 | incorporeal 699 | enfeeble 700 | iracund 701 | meteorogram 702 | transitoriness 703 | abbot 704 | guttural 705 | osteoid 706 | treader 707 | doxy 708 | os 709 | adephagan 710 | antiegotism 711 | tropeic 712 | deiformity 713 | Mackinaw 714 | confederationist 715 | foundership 716 | chondriomere 717 | hammerdress 718 | licentiate 719 | blossomhead 720 | basos 721 | Nazariteship 722 | pentapolis 723 | threefoldness 724 | archpresbyter 725 | houselet 726 | citronade 727 | collaborationism 728 | macromeric 729 | hendecoic 730 | Biblicism 731 | insulance 732 | karyomitoic 733 | Kekchi 734 | dural 735 | condensedness 736 | reavow 737 | stith 738 | coky 739 | mayfish 740 | uncongenial 741 | virucidal 742 | Acrydium 743 | cyanidation 744 | foliature 745 | unfructuously 746 | gold 747 | fractionally 748 | sparkless 749 | conceptional 750 | kettledrummer 751 | inventory 752 | knoxvillite 753 | indeformable 754 | Honduran 755 | beennut 756 | unelementary 757 | epicranial 758 | Anopla 759 | Anselm 760 | strabismical 761 | declarative 762 | agricultural 763 | abdominous 764 | Hansardization 765 | profanely 766 | untwisted 767 | tipstaff 768 | prederivation 769 | scrollwise 770 | unrefusingly 771 | soulfulness 772 | spyfault 773 | raiseman 774 | beroll 775 | oscheoplasty 776 | Lentibulariaceae 777 | onagraceous 778 | Nora 779 | eellike 780 | semiupright 781 | Tatary 782 | ninut 783 | baseball 784 | unifoliolate 785 | nextly 786 | shamefacedly 787 | unharbor 788 | omphaloncus 789 | sweatband 790 | premake 791 | hook 792 | fitchee 793 | sendable 794 | xyloid 795 | Lin 796 | preindication 797 | alpine 798 | planarioid 799 | mastlike 800 | servitude 801 | patterny 802 | goffering 803 | unfrightened 804 | genderer 805 | cafeneh 806 | forthwith 807 | intermenstruum 808 | bluggy 809 | buzylene 810 | faceteness 811 | Placophora 812 | mispleading 813 | sniffly 814 | dredge 815 | neurocity 816 | terminable 817 | trest 818 | stythe 819 | pitchometer 820 | breaker 821 | glossarize 822 | macrosymbiont 823 | perisphere 824 | torse 825 | garter 826 | ring 827 | bedstring 828 | hawserwise 829 | pyrocellulose 830 | soho 831 | silklike 832 | ateleological 833 | kinematic 834 | nectariferous 835 | freezer 836 | Byronic 837 | congressionist 838 | dandruffy 839 | Balkar 840 | tonsillectome 841 | crooningly 842 | hypodorian 843 | interregnum 844 | mystificatory 845 | flanched 846 | nonimmigrant 847 | ophthalmomalacia 848 | unhero 849 | meningocortical 850 | apologizer 851 | Jatulian 852 | nystagmus 853 | bailer 854 | worldling 855 | preadjunct 856 | deprivative 857 | babblishly 858 | ganglioid 859 | themeless 860 | gastrohelcosis 861 | housewifeliness 862 | psychoanalyzer 863 | pyelolithotomy 864 | ethmoid 865 | cyclomania 866 | cyathium 867 | fiduciary 868 | upher 869 | ethnize 870 | hexastemonous 871 | echinodermic 872 | sigillarian 873 | grubbiness 874 | overeducate 875 | flyflap 876 | tart 877 | statometer 878 | sixpence 879 | Capernaitish 880 | Delsartean 881 | celery 882 | astragalus 883 | overjoyful 884 | synactic 885 | unexceptionably 886 | Orobanche 887 | driblet 888 | rampire 889 | Mil 890 | wellington 891 | unepic 892 | pondage 893 | octocentenary 894 | Ansel 895 | unmackly 896 | nonfermentative 897 | silk 898 | angiolith 899 | sparrer 900 | frigorify 901 | preofficially 902 | bridle 903 | princeps 904 | pentathionic 905 | doltishness 906 | trunkless 907 | Idiosepiidae 908 | autohypnotization 909 | lingenberry 910 | nonsetting 911 | prescapula 912 | proagrarian 913 | nonlover 914 | bumbaste 915 | aischrolatreia 916 | tupanship 917 | proctoclysis 918 | basilweed 919 | counternoise 920 | interparietale 921 | Saccobranchiata 922 | tonga 923 | iceland 924 | mandelic 925 | monkeyish 926 | fanon 927 | sled 928 | taxine 929 | rattlingly 930 | monolithic 931 | oxbiter 932 | scelerat 933 | primitivism 934 | grapnel 935 | recreative 936 | plumbum 937 | enthusiastical 938 | stomachlessness 939 | busher 940 | uninsured 941 | unobjective 942 | collyrium 943 | aspheterism 944 | mantology 945 | monk 946 | troolie 947 | ghaist 948 | unplebeian 949 | fusible 950 | unjagged 951 | lazaret 952 | childlike 953 | Sid 954 | dihydroxy 955 | extractible 956 | hammy 957 | impetition 958 | rissel 959 | principalness 960 | parsonage 961 | yogoite 962 | extratension 963 | bombastic 964 | reblow 965 | Phajus 966 | merchantableness 967 | Dyophysitism 968 | attainability 969 | mycomycete 970 | unequated 971 | exalate 972 | rerun 973 | pneumonic 974 | supersympathy 975 | commenceable 976 | borele 977 | telemetric 978 | muskellunge 979 | eutropic 980 | Actaeon 981 | consentiently 982 | deferment 983 | microdrawing 984 | behammer 985 | Acacian 986 | guanaco 987 | unkillable 988 | eave 989 | empyrean 990 | nondivergent 991 | dubitatingly 992 | existentially 993 | pelvisternum 994 | Siva 995 | Birkenhead 996 | sneeshing 997 | Inodes 998 | worriedness 999 | outdraft 1000 | squandermania --------------------------------------------------------------------------------