PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 1.0.90
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v1.0.90
2.10.0 2.10.01 2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 1.1.0 All 77 releases
fluent-community / Modules / CLI / DummyCommands.php

DummyCommands.php in FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses 1.0.90, at Modules/CLI/DummyCommands.php

544 lines 32.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // phpcs:disable
3 namespace FluentCommunity\Modules\CLI;
4
5 use FluentCommunity\App\Models\Comment;
6 use FluentCommunity\App\Models\Space;
7 use FluentCommunity\App\Models\Feed;
8 use FluentCommunity\App\Models\Reaction;
9 use FluentCommunity\App\Models\User;
10 use FluentCommunity\App\Models\XProfile;
11 use FluentCommunity\App\Services\FeedsHelper;
12 use FluentCommunity\Framework\Support\Arr;
13 use FluentCommunity\Framework\Support\Str;
14
15 class DummyCommands
16 {
17
18 public function seed($args, $assoc_args)
19 {
20 $baseCount = Arr::get($assoc_args, 'count', 5000);
21 $userCount = $baseCount;
22 $postCount = $userCount * 2;
23 $commentCount = $postCount * 5;
24 $postReactionCount = $postCount * 5;
25 $commentReactionCount = $commentCount * 3;
26
27 // $this->create_users($args, ['count' => $userCount]);
28
29 $this->create_spaces($args, ['count' => 5]);
30
31 $this->create_posts($args, ['count' => $postCount, 'with_space' => 'yes']);
32 $this->create_comments($args, ['count' => $commentCount]);
33 $this->add_post_reactions($args, ['count' => $postReactionCount]);
34 $this->add_comment_reactions($args, ['count' => $commentReactionCount]);
35
36 (new Commands)->recalculate_user_points();
37 }
38
39 public function create_spaces($args, $assoc_args = [])
40 {
41 $count = Arr::get($assoc_args, 'count', 5);
42
43 for ($i = 0; $i < $count; $i++) {
44 $space = Space::create([
45 'title' => 'BaseSpace ' . $i,
46 'slug' => 'space_'.$i,
47 'description' => $this->getRandomStatus(10, 20),
48 'privacy' => 'private',
49 'created_by' => 1
50 ]);
51
52 $space->members()->attach(1, [
53 'role' => 'admin'
54 ]);
55 }
56
57 \WP_CLI::line("Spaces created: $count");
58
59 }
60
61 public function assign_users_to_spaces()
62 {
63 $spaces = Space::all();
64 $profiles = User::all();
65
66 foreach ($spaces as $space) {
67 \WP_CLI::line("Assigning users to space: " . $space->title);
68 foreach ($profiles as $index => $profile) {
69 if ($space->getMembership($profile->ID)) {
70 continue;
71 }
72
73 $space->members()->attach($profile->ID, [
74 'role' => 'member',
75 'status' => 'active'
76 ]);
77
78 if ($index % 100 === 0) {
79 \WP_CLI::line("Assigned $index users to space: " . $space->title);
80 }
81
82 }
83 }
84
85 \WP_CLI::line("All Done: ");
86 }
87
88 /*
89 * usage: wp fluent_com_dummy create_users --count=1000
90 */
91 public function create_users($args, $assoc_args)
92 {
93 $count = Arr::get($assoc_args, 'count', 10000);
94 // let's create the wp users with subscriber role
95 for ($i = 0; $i < $count; $i++) {
96 $names = $this->getRandomName();
97 $firstName = $names['first_name'];
98 $lastName = $names['last_name'];
99 $userId = wp_insert_user([
100 'user_login' => 'user_' . $i,
101 'user_pass' => wp_generate_password(),
102 'user_email' => 'user_' . $i . '@example.com',
103 'display_name' => $firstName . ' ' . $lastName,
104 'first_name' => $firstName,
105 'last_name' => $lastName,
106 'role' => 'subscriber'
107 ]);
108 $user = User::find($userId);
109 $user->syncXProfile();
110 }
111
112 \WP_CLI::line("Users created: $count");
113
114
115 }
116
117 public function create_posts($args, $assoc_args)
118 {
119 $totalUsersCount = XProfile::query()->count();
120
121 $withSpace = Arr::get($assoc_args, 'with_space') == 'yes';
122
123 if ($withSpace) {
124 $spaces = Space::all();
125 $spaceIds = $spaces->pluck('id')->toArray();
126 }
127
128 $count = Arr::get($assoc_args, 'count', 1000);
129 for ($i = 0; $i < $count; $i++) {
130 // get a random user
131 $randomUserId = mt_rand(1, $totalUsersCount);
132
133 $message = $this->getRandomStatus();
134
135 $randomDate = gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp')));
136
137 $processedData = [
138 'message' => $message,
139 'message_rendered' => wp_kses_post(FeedsHelper::mdToHtml($message)),
140 'type' => 'text',
141 'content_type' => 'text',
142 'privacy' => 'public',
143 'status' => 'published',
144 'space_id' => $withSpace ? Arr::random($spaceIds) : NULL,
145 'created_at' => $randomDate,
146 'updated_at' => $randomDate,
147 'user_id' => $randomUserId
148 ];
149
150 $feed = new Feed();
151 $feed->fill($processedData);
152 $feed->save();
153 }
154
155 \WP_CLI::line("Posts created: $count");
156 }
157
158 public function create_comments($args, $assoc_args)
159 {
160 $totalUsersCount = XProfile::query()->count();
161 $totalPostCount = Feed::query()->count();
162 $count = Arr::get($assoc_args, 'count', 1000);
163
164 $createdCount = 0;
165
166 for ($i = 0; $i < $count; $i++) {
167 // get a random user
168 $randomUserId = mt_rand(1, $totalUsersCount);
169 $postId = mt_rand(1, $totalPostCount);
170
171 $feed = Feed::find($postId);
172 if (!$feed) {
173 continue;
174 }
175 $createdCount++;
176
177 $message = $this->getRandomStatus(20, 80);
178 $commentData = [
179 'user_id' => $randomUserId,
180 'post_id' => $feed->id,
181 'message' => $message,
182 'message_rendered' => wp_kses_post(FeedsHelper::mdToHtml($message)),
183 'commentable_type' => 'FluentCommunity\App\Models\Feed',
184 'type' => 'comment',
185 'content_type' => 'text',
186 'status' => 'published',
187 'created_at' => gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp'))),
188 'updated_at' => gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp'))),
189 ];
190
191 $comment = new Comment();
192 $comment->fill($commentData);
193 $comment->save();
194
195 $feed->comments_count = $feed->comments_count + 1;
196 $feed->save();
197 }
198
199 \WP_CLI::line("Comments created: $createdCount");
200 }
201
202 public function add_post_reactions($args, $assoc_args)
203 {
204 $totalUsersCount = XProfile::query()->count();
205 $totalPostCount = Feed::query()->count();
206 $count = Arr::get($assoc_args, 'count', 1000);
207
208 $createdCount = 0;
209 for ($i = 0; $i < $count; $i++) {
210 $userId = mt_rand(1, $totalUsersCount);
211 $postId = mt_rand(1, $totalPostCount);
212 $post = Feed::find($postId);
213 if (!$post) {
214 continue;
215 }
216
217 $reactionData = [
218 'user_id' => $userId,
219 'object_id' => $post->id,
220 'object_type' => 'feed',
221 'type' => 'like',
222 'created_at' => gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp'))),
223 'updated_at' => gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp'))),
224 ];
225
226 if ($post->reactions()->where('user_id', $userId)->count() == 0) {
227 $reaction = Reaction::create($reactionData);
228 } else {
229 continue;
230 }
231
232 $post->reactions_count = $post->reactions_count + 1;
233 $post->save();
234
235 $createdCount++;
236 }
237
238 \WP_CLI::line("Reaction created: $createdCount");
239
240 }
241
242 public function add_comment_reactions($args, $assoc_args)
243 {
244 $totalUsersCount = XProfile::query()->count();
245 $totalComments = Comment::query()->count();
246 $count = Arr::get($assoc_args, 'count', 1000);
247
248 $createdCount = 0;
249
250 for ($i = 0; $i < $count; $i++) {
251 $userId = mt_rand(1, $totalUsersCount);
252 $commentId = mt_rand(1, $totalComments);
253 $comment = Comment::find($commentId);
254 if (!$comment) {
255 continue;
256 }
257
258 $reactionData = [
259 'user_id' => $userId,
260 'parent_id' => $comment->post_id,
261 'object_id' => $comment->id,
262 'object_type' => 'comment',
263 'type' => 'like',
264 'created_at' => gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp'))),
265 'updated_at' => gmdate('Y-m-d H:i:s', mt_rand(strtotime('-1 years'), current_time('timestamp'))),
266 ];
267
268 if ($comment->reactions()->where('user_id', $userId)->count() == 0) {
269 $reaction = Reaction::create($reactionData);
270 } else {
271 continue;
272 }
273
274 $comment->reactions_count = $comment->reactions_count + 1;
275 $comment->save();
276
277 $createdCount++;
278 }
279
280 \WP_CLI::line("Reaction created: $createdCount");
281
282 }
283
284
285 protected function getWords($count)
286 {
287 $words = [];
288 for ($i = 0; $i < $count; $i++) {
289
290 if ($count % 10 == 0) {
291 // add a new line
292 $words[] = PHP_EOL;
293 }
294
295 $words[] = Str::random(mt_rand(4, 6));
296 }
297 return implode(' ', $words);
298 }
299
300 protected function getRandomStatus($minWords = 80, $maxWords = 300)
301 {
302 // Array of sample sentences with meaningful content
303 $sentences = [
304 "**Technology** is advancing at an unprecedented pace, opening new possibilities for users and developers alike.",
305 "Education is the cornerstone of a thriving society, and continuous learning is essential for **personal growth**.",
306 "Healthcare innovations continue to improve outcomes and accessibility for patients *worldwide*.",
307 "Environmental **sustainability** is more crucial now than ever, as climate change impacts global communities.",
308 "Entrepreneurship drives economic growth by fostering **innovation** and creating job opportunities.",
309 "Innovations like *artificial intelligence* and **blockchain** are reshaping industries.",
310 "**Cybersecurity** is essential to protect data privacy and integrity in an increasingly digital world.",
311 "The future of work is being shaped by **remote technologies** that connect global teams.",
312 "Blockchain technology offers new ways to secure transactions and enhance *transparency*.",
313 "Nutrition and wellness have become focal points for individuals seeking a *healthier lifestyle*.",
314 "Cultural **diversity** enriches societies by bringing a variety of perspectives and experiences.",
315 "Sports and physical activities play a crucial role in maintaining **mental and physical health**.",
316 "Music and arts provide a **universal language** that bridges gaps between different cultures.",
317 "Social media has transformed how we communicate and share information, but it also presents **challenges**.",
318 "Mental health awareness is gaining importance, emphasizing the need for accessible **support systems**.",
319 "Urban planning and development are key to creating sustainable and **livable cities** for the future.",
320 "The role of **leadership** in business cannot be understated as it drives strategic direction and innovation.",
321 "Conservation efforts are vital for protecting **biodiversity** and natural habitats.",
322 "Technological **literacy** is becoming a fundamental skill in the digital age.",
323 "Public transportation systems are evolving to provide more efficient and *eco-friendly* options.",
324 "Renewable energy sources are crucial for reducing **carbon footprints** and combating climate change.",
325 "The impact of global tourism on local economies and environments is a growing field of study.",
326 "Personal finance management is key to achieving long-term **financial stability** and security.",
327 "The publishing industry is adapting to the digital era by embracing **ebooks** and online platforms.",
328 "Volunteering not only helps communities but also enriches the lives of those who **participate**.",
329 "The importance of work-life balance is being recognized as essential for **well-being**.",
330 "Agricultural technology is revolutionizing farming practices, making them more **sustainable** and efficient.",
331 "The film industry continues to explore new **storytelling techniques** through advances in technology.",
332 "Water conservation is critical in regions facing scarcity and is a global **priority**.",
333 "Language learning fosters communication and understanding among **diverse populations**.",
334 "Veterinary care advances are improving the lives of pets and animals in agricultural settings.",
335 "Children's education is adapting to include more **digital tools** and interactive learning methods.",
336 "Corporate social responsibility is becoming a standard practice for **ethical business operations**.",
337 "The exploration of space continues to excite and inspire innovations in technology and **science**.",
338 "Historical preservation is important for maintaining **cultural heritage** and educating future generations.",
339 "The role of media in shaping public opinion is significant, requiring **responsible reporting**.",
340 "Nutraceuticals are gaining popularity as consumers look for ways to improve health through **diet**.",
341 "Fashion and design reflect societal trends and can influence **cultural shifts**.",
342 "Telemedicine is making healthcare more accessible, especially in remote or underserved areas.",
343 "Data analysis skills are increasingly valuable in a world driven by **metrics** and benchmarks.",
344 "Marine conservation efforts are essential for protecting **ocean ecosystems** and species.",
345 "E-commerce has transformed retail, offering convenience and a broader range of products.",
346 "Public speaking and communication skills are invaluable in professional and personal settings.",
347 "The integration of arts into education enhances creativity and **problem-solving** abilities.",
348 "Sustainable tourism practices are essential for preserving attractions while benefiting local communities.",
349 "The development of drones is impacting sectors from delivery services to **aerial photography**.",
350 "Personal development is a lifelong process that involves self-awareness and **goal setting**.",
351 "Space-driven initiatives can lead to substantial local changes and **empowerment**.",
352 "The study of genetics is revolutionizing medicine with **personalized treatment plans**.",
353 "Professional networking is a key component of career development and success.",
354 "User experience design is crucial for making technology accessible and enjoyable.",
355 "The preservation of wildlife through sanctuaries and reserves is critical for ecological balance.",
356 "Museums play a crucial role in educating the public and preserving art and history.",
357 "Biotechnology is at the forefront of developing treatments and solutions for complex diseases.",
358 "Urban agriculture is growing as a solution to provide cities with fresh, local produce.",
359 "Ethical hacking helps strengthen systems against malicious attacks by identifying vulnerabilities.",
360 "Digital marketing strategies are crucial for businesses to reach and engage their target audience.",
361 "The aging population presents unique challenges and opportunities for healthcare and society.",
362 "Adventure sports are gaining popularity as people seek more thrilling and challenging experiences.",
363 "Financial technology is simplifying transactions and making banking more accessible to the underserved.",
364 "The debate on digital privacy continues as technology becomes more integrated into our lives.",
365 "Photography not only captures moments but also communicates stories and emotions.",
366 "The importance of local governance in addressing community-specific issues is increasingly recognized.",
367 "Robotics in manufacturing boosts efficiency and safety, transforming production processes.",
368 "Dietary trends are shifting towards plant-based options for health and environmental reasons.",
369 "The significance of mentorship in career advancement is well acknowledged.",
370 "The impact of climate change on weather patterns is becoming more apparent and severe.",
371 "Carpooling and ride-sharing contribute to reducing traffic congestion and carbon emissions.",
372 "The role of antioxidants in preventing chronic diseases is a key area of research.",
373 "Craftsmanship in traditional arts is being preserved through modern techniques and education.",
374 "The importance of regular exercise cannot be understated for maintaining health.",
375 "Dramatic arts provide a platform for expression and understanding social issues.",
376 "Literacy initiatives are crucial for empowering individuals and communities.",
377 "Wearable technology is enhancing fitness monitoring and personal health management.",
378 "The development of smart cities promises more efficient and sustainable urban living.",
379 "Non-profit organizations play a vital role in addressing societal and environmental challenges.",
380 "Personal branding is becoming more important in the digital age for professionals across fields.",
381 "The study of foreign cultures enriches personal experiences and global understanding.",
382 "Building effective teams is essential for success in any collaborative endeavor.",
383 "The growth of podcasts as a medium for information and entertainment continues to rise.",
384 "Artificial reefs are used to promote marine life and restore damaged ecosystems.",
385 "Investment in public parks and recreational facilities improves community health and well-being.",
386 "Understanding different leadership styles can help in managing diverse teams more effectively.",
387 "The rise of micro-mobility devices like scooters impacts urban transportation dynamics.",
388 "Privacy regulations are evolving to keep pace with technological advancements.",
389 "Crowdfunding platforms have democratized funding for startups and creative projects.",
390 "Sculpture as an art form involves both traditional techniques and modern mediums.",
391 "Building resilience to natural disasters is crucial for vulnerable regions around the world.",
392 "The growth of the gig economy has reshaped the concept of traditional employment.",
393 "Augmented reality is creating new experiences in gaming, education, and shopping.",
394 "The preservation of languages and dialects is important for maintaining cultural diversity.",
395 "Virtual reality offers immersive experiences that are revolutionizing entertainment and education.",
396 "The importance of saving and investment for financial independence cannot be understated.",
397 "Holistic approaches to health are becoming more popular, integrating body, mind, and spirit.",
398 "Green architecture is shaping the future of building by focusing on sustainability and efficiency.",
399 "Effective waste management strategies are crucial for reducing environmental impact.",
400 "The expansion of online education provides access to learning opportunities regardless of location.",
401 "Understanding market trends is essential for businesses to adapt and thrive.",
402 "The role of quantum computing in future technological developments is highly anticipated."
403 ];
404
405 // Shuffle sentences for variety
406 shuffle($sentences);
407
408 // Generate the paragraph
409 $wordCount = 0;
410 $paragraph = "";
411 while ($wordCount < $minWords) {
412 $sentence = array_shift($sentences);
413
414 $paragraph .= $sentence . PHP_EOL . '<br />';
415 $wordCount += str_word_count($sentence);
416
417 // Re-shuffle and refill sentences if needed
418 if (empty($sentences)) {
419 shuffle($sentences);
420 }
421 }
422
423 // Trim the paragraph if it exceeds the maximum word limit
424 if ($wordCount > $maxWords) {
425 $words = preg_split('/\s+/', $paragraph);
426 $paragraph = implode(' ', array_slice($words, 0, $maxWords));
427 }
428
429 return $paragraph;
430 }
431
432 protected function getRandomName()
433 {
434 $firstNames = [
435 "Liam", "Olivia", "Noah", "Emma", "Oliver", "Ava", "Elijah", "Sophia", "William", "Isabella",
436 "James", "Charlotte", "Benjamin", "Amelia", "Lucas", "Mia", "Henry", "Harper", "Alexander", "Evelyn",
437 "Ethan", "Abigail", "Jacob", "Emily", "Michael", "Ella", "Daniel", "Elizabeth", "Logan", "Camila",
438 "Matthew", "Luna", "Aiden", "Sofia", "Joseph", "Avery", "Sebastian", "Mila", "Jackson", "Scarlett",
439 "David", "Eleanor", "Samuel", "Madison", "Carter", "Layla", "Wyatt", "Penelope", "John", "Aria",
440 "Owen", "Chloe", "Dylan", "Grace", "Luke", "Ellie", "Gabriel", "Nora", "Anthony", "Hazel",
441 "Isaac", "Zoey", "Grayson", "Riley", "Jack", "Victoria", "Julian", "Lily", "Levi", "Aurora",
442 "Christopher", "Violet", "Joshua", "Nova", "Andrew", "Hannah", "Lincoln", "Emilia", "Mateo", "Zoe",
443 "Ryan", "Stella", "Jaxon", "Everly", "Nathan", "Isla", "Aaron", "Leah", "Isaiah", "Lillian",
444 "Charles", "Addison", "Caleb", "Willow", "Josiah", "Lucy", "Christian", "Paisley", "Hunter", "Natalie",
445 "Eli", "Naomi", "Jonathan", "Eliana", "Connor", "Brooklyn", "Landon", "Elena", "Adrian", "Aubrey",
446 "Asher", "Claire", "Cameron", "Ivy", "Leo", "Kinsley", "Theodore", "Audrey", "Jeremiah", "Maya",
447 "Hudson", "Genesis", "Robert", "Skylar", "Easton", "Bella", "Nolan", "Aaliyah", "Nicholas", "Madelyn",
448 "Ezra", "Savannah", "Colton", "Anna", "Angel", "Delilah", "Brayden", "Serenity", "Jordan", "Caroline",
449 "Austin", "Kennedy", "Adriel", "Valentina", "Jace", "Ruby", "Cooper", "Sophie", "Xavier", "Alice",
450 "Carson", "Gabriella", "Dominic", "Sadie", "Josiah", "Ariana", "Micah", "Allison", "Christopher", "Hailey",
451 "Kyrie", "Autumn", "Luca", "Nevaeh", "Jameson", "Natalia", "Camden", "Quinn", "Kai", "Josephine",
452 "Bryson", "Sarah", "Weston", "Cora", "Jason", "Emery", "Harrison", "Samantha", "Theo", "Piper",
453 "Silas", "Leilani", "George", "Paige", "Kayden", "Mackenzie", "Reid", "Lydia", "Wesley", "Jade",
454 "Braxton", "Peyton", "Declan", "Brianna", "Brooks", "Maria", "Jude", "Anastasia", "Antonio", "Isabelle",
455 "Cole", "Taylor", "Axel", "Rylee", "Miles", "London", "Sawyer", "Jasmine", "Ryder", "Gianna",
456 "Gavin", "Alaina", "Leonardo", "Liliana", "Ayden", "Sofia", "Bennett", "Kaitlyn", "Sean", "Harmony",
457 "Beckett", "Daisy", "Ryker", "Alexa", "Liam", "Kayla", "Thomas", "Adalynn", "Oscar", "Vivian",
458 ];
459 $lastNames = [
460 "Smith", "Johnson", "Williams", "Brown", "Jones", "Miller", "Davis", "Garcia", "Rodriguez", "Wilson",
461 "Martinez", "Anderson", "Taylor", "Thomas", "Hernandez", "Moore", "Martin", "Jackson", "Thompson", "White",
462 "Lopez", "Lee", "Gonzalez", "Harris", "Clark", "Lewis", "Robinson", "Walker", "Perez", "Hall",
463 "Young", "Allen", "Sanchez", "Wright", "King", "Scott", "Green", "Baker", "Adams", "Nelson",
464 "Hill", "Ramirez", "Campbell", "Mitchell", "Roberts", "Carter", "Phillips", "Evans", "Turner", "Torres",
465 "Parker", "Collins", "Edwards", "Stewart", "Flores", "Morris", "Nguyen", "Murphy", "Rivera", "Cook",
466 "Rogers", "Morgan", "Peterson", "Cooper", "Reed", "Bailey", "Bell", "Gomez", "Kelly", "Howard",
467 "Ward", "Cox", "Diaz", "Richardson", "Wood", "Watson", "Brooks", "Bennett", "Gray", "James",
468 "Reyes", "Cruz", "Hughes", "Price", "Myers", "Long", "Foster", "Sanders", "Ross", "Morales",
469 "Powell", "Sullivan", "Russell", "Ortiz", "Jenkins", "Gutierrez", "Perry", "Butler", "Barnes", "Fisher",
470 "Henderson", "Coleman", "Simmons", "Patterson", "Jordan", "Reynolds", "Hamilton", "Graham", "Kim", "Gonzales",
471 "Alexander", "Ramos", "Wallace", "Griffin", "West", "Cole", "Hayes", "Chavez", "Gibson", "Bryant",
472 "Ellis", "Stevens", "Murray", "Ford", "Marshall", "Owens", "Mcdonald", "Harrison", "Ruiz", "Kennedy",
473 "Wells", "Alvarez", "Woods", "Mendoza", "Castillo", "Olson", "Webb", "Washington", "Tucker", "Freeman",
474 "Burns", "Henry", "Vasquez", "Snyder", "Simpson", "Crawford", "Jimenez", "Porter", "Mason", "Shaw",
475 "Gordon", "Wagner", "Hunter", "Romero", "Hicks", "Dixon", "Hunt", "Palmer", "Robertson", "Black",
476 "Holmes", "Stone", "Meyer", "Boyd", "Mills", "Warren", "Fox", "Rose", "Rice", "Moreno",
477 "Schmidt", "Patel", "Ferguson", "Nichols", "Herrera", "Medina", "Ryan", "Fernandez", "Weaver", "Daniels",
478 "Stephens", "Gardner", "Payne", "Kelley", "Dunn", "Pierce", "Arnold", "Tran", "Spencer", "Peters",
479 "Hawkins", "Grant", "Hansen", "Castro", "Hoffman", "Hart", "Elliott", "Cunningham", "Knight", "Bradley",
480 "Carroll", "Hudson", "Duncan", "Armstrong", "Berry", "Andrews", "Johnston", "Ray", "Lane", "Riley",
481 "Carpenter", "Perkins", "Aguilar", "Silva", "Richards", "Willis", "Matthews", "Chapman", "Lawrence", "Garza",
482 "Vargas", "Watkins", "Wheeler", "Larson", "Carlson", "Harper", "George", "Greene", "Burke", "Guzman",
483 "Morrison", "Munoz", "Jacobs", "Obrien", "Lawson", "Franklin", "Lynch", "Bishop", "Carr", "Salazar",
484 "Austin", "Mendez", "Gilbert", "Jensen", "Williamson", "Montgomery", "Harvey", "Oliver", "Howell", "Dean",
485 "Hanson", "Weber", "Garrett", "Sims", "Burton", "Fuller", "Soto", "Mccarthy", "Rodriguez", "Chang",
486 "Mullins", "Benson", "Sharp", "Bowen", "Daniel", "Barber", "Cummings", "Hines", "Baldwin", "Griffith",
487 "Valdez", "Hubbard", "Salinas", "Reeves", "Warner", "Stevenson", "Burgess", "Santos", "Tate", "Cross",
488 "Garner", "Mann", "Mack", "Moss", "Thornton", "Dennis", "Mcgee", "Farmer", "Delgado", "Aguirre",
489 "Pacheco", "Blair", "Hogan", "Michael", "Donovan", "Mcintosh", "Walls", "Boone", "Charles", "Gill",
490 "Godfrey", "Lang", "Combs", "Kramer", "Heath", "Hancock", "Gallagher", "Gaines", "Shaffer", "Short",
491 "Wiggins", "Mathews", "Mcclain", "Fischer", "Wall", "Small", "Melton", "Hensley", "Bond", "Dyer",
492 "Cameron", "Grimes", "Contreras", "Christian", "Wyatt", "Baxter", "Snow", "Mosley", "Shepherd", "Larsen",
493 "Hoover", "Beasley", "Glenn", "Petersen", "Whitehead", "Meyers", "Keith", "Garrison", "Vincent", "Shields",
494 "Horn", "Savage", "Olsen", "Schroeder", "Hartman", "Woodard", "Mueller", "Kemp", "Deleon", "Booth",
495 "Patel", "Calhoun", "Wiley", "Eaton", "Cline", "Navarro", "Harrell", "Lester", "Humphrey", "Parrish",
496 "Duran", "Hutchinson", "Hess", "Dorsey", "Bullock", "Robles", "Beard", "Dalton", "Avila", "Vance",
497 "Rich", "Blackwell", "York", "Johns", "Blankenship", "Trevino", "Salinas", "Campos", "Pruitt", "Moses",
498 "Callahan", "Golden", "Montoya", "Hardin", "Guerra", "Mcdowell", "Carey", "Stafford", "Gallegos", "Henson",
499 "Wilkinson", "Booker", "Merritt", "Miranda", "Atkinson", "Orr", "Decker", "Hobbs", "Preston", "Tanner",
500 "Knox", "Pacheco", "Stephenson", "Glass", "Rojas", "Serrano", "Marks", "Hickman", "English", "Sweeney",
501 "Strong", "Prince", "Mcclure", "Conway", "Walter", "Roth", "Maynard", "Farrell", "Lowery", "Hurst",
502 "Nixon", "Weiss", "Trujillo", "Ellison", "Sloan", "Juarez", "Winters", "Mclean", "Randolph", "Leon",
503 "Boyer", "Villarreal", "Mccall", "Gentry", "Carrillo", "Kent", "Ayers", "Lara", "Shannon", "Sexton",
504 "Pace", "Hull", "Leblanc", "Browning", "Velasquez", "Leach", "Chang", "House", "Sellers", "Herring",
505 "Noble", "Foley", "Bartlett", "Mercado", "Landry", "Durham", "Walls", "Barr", "Mckee", "Bauer",
506 "Rivers", "Everett", "Bradshaw", "Pugh", "Velez", "Rush", "Estes", "Dodson", "Morse", "Sheppard",
507 "Weeks", "Camacho", "Bean", "Barron", "Livingston", "Middleton", "Spears", "Branch", "Blevins", "Chen",
508 "Kerr", "Mcconnell", "Hatfield", "Harding", "Ashley", "Solis", "Herman", "Frost", "Giles", "Blackburn",
509 "William", "Pennington", "Woodward", "Finley", "Mcintosh", "Koch", "Best", "Solomon", "Mccullough", "Dudley",
510 "Nolan", "Blanchard", "Rivas", "Brennan", "Mejia", "Kane", "Benton", "Joyce", "Buckley", "Haley",
511 "Valentine", "Maddox", "Russo", "Mcknight", "Buck", "Moon", "Mcmillan", "Crosby", "Berg", "Dotson",
512 "Mays", "Roach", "Church", "Chan", "Richmond", "Meadows", "Faulkner", "Oneill", "Knapp", "Kline",
513 "Barry", "Ochoa", "Jacobson", "Gay", "Avery", "Hendricks", "Horne", "Shepard", "Hebert", "Cherry",
514 "Cardenas", "Mcintyre", "Whitney", "Waller", "Holman", "Donaldson", "Cantu", "Terrell", "Morin", "Gillespie",
515 "Fuentes", "Tillman", "Sanford", "Bentley", "Peck", "Key", "Salas", "Rollins", "Gamble", "Dickson",
516 "Battle", "Santana", "Cabrera", "Cervantes", "Howe", "Hinton", "Hurley", "Spence", "Zamora", "Yang",
517 "Mcneil", "Suarez", "Case", "Petty", "Gould", "Mcfarland", "Sampson", "Carver", "Bray", "Rosario",
518 "Macdonald", "Stout", "Hester", "Melendez", "Dillon", "Farley", "Hopper", "Galloway", "Potts", "Bernard",
519 "Joyner", "Stein", "Aguirre", "Osborn", "Mercer", "Bender", "Franco", "Rowland", "Sykes", "Benjamin",
520 "Travis", "Pickett", "Crane", "Sears", "Mayo", "Dunlap", "Hayden", "Wilder", "Mckay", "Coffey",
521 "Mccarty", "Ewing", "Cooley", "Vaughan", "Bonner", "Cotton", "Holder", "Stark", "Ferrell", "Cantrell",
522 "Fulton", "Lynn", "Lott", "Calderon", "Rosa", "Pollard", "Hooper", "Burch", "Mullen", "Fry",
523 "Riddle", "Levy", "David", "Duke", "Odonnell", "Guy", "Michael", "Britt", "Frederick", "Daugherty",
524 "Berger", "Dillard", "Alston", "Jarvis", "Frye", "Riggs", "Chaney", "Odom", "Duffy", "Fitzpatrick",
525 "Valenzuela", "Merrill", "Mayer", "Alford", "Mcpherson", "Acevedo", "Donovan", "Barrera", "Albert", "Cote",
526 "Reilly", "Compton", "Raymond", "Mooney", "Mcgowan", "Craft", "Cleveland", "Clemons", "Wynn", "Nielsen",
527 "Baird", "Stanton", "Snider", "Rosales", "Bright", "Witt", "Stuart", "Hays", "Holden", "Rutledge",
528 "Kinney", "Clements", "Castaneda", "Slater", "Hahn", "Emerson", "Conrad", "Burks", "Delaney", "Pate",
529 "Lancaster", "Sweet", "Justice", "Tyson", "Sharpe", "Whitfield", "Talley", "Macias", "Irwin", "Burris",
530 "Ratliff", "Mccray", "Madden", "Kaufman", "Beach", "Goff", "Cash", "Bolton", "Mcfadden", "Levine",
531 "Good", "Byers", "Kirkland", "Kidd", "Workman", "Carney", "Dale", "Mcleod", "Holcomb", "England",
532 "Finch", "Head", "Burt", "Hendrix", "Sosa", "Haney", "Franks", "Sargent", "Nieves", "Downs",
533 "Rasmussen", "Bird", "Hewitt", "Lindsay", "Le", "Foreman", "Valencia", "Oneil", "Delacruz", "Vinson",
534 "Dejesus", "Hyde", "Forbes", "Gilliam", "Guthrie", "Wooten", "Huber", "Barlow", "Boyle", "McMahon",
535 "Buckner", "Rocha", "Puckett", "Langley", "Knowles", "Cooke", "Velazquez", "Whitley", "Noel", "Vang"
536 ];
537
538 return [
539 'first_name' => Arr::random($firstNames),
540 'last_name' => Arr::random($lastNames)
541 ];
542 }
543 }
544