mimic-data 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/random.ts","../src/core/mimic.ts","../src/core/registry.ts","../src/locales/en_US.ts","../src/locales/ja_JP.ts","../src/locales/id_ID.ts","../src/locales/de_DE.ts","../src/locales/fr_FR.ts","../src/locales/pt_BR.ts","../src/locales/ko_KR.ts","../src/locales/en_AU.ts","../src/locales/zh_CN.ts","../src/locales/en_IN.ts","../src/locales/es_MX.ts","../src/locales/it_IT.ts","../src/locales/es_ES.ts","../src/locales/nl_NL.ts","../src/locales/en_CA.ts","../src/locales/en_GB.ts","../src/locales/ru_RU.ts","../src/locales/pl_PL.ts","../src/locales/tr_TR.ts","../src/locales/sv_SE.ts","../src/locales/nb_NO.ts","../src/locales/da_DK.ts","../src/locales/fi_FI.ts","../src/locales/es_AR.ts","../src/locales/es_CL.ts","../src/locales/th_TH.ts","../src/locales/vi_VN.ts","../src/locales/ms_MY.ts","../src/locales/en_SG.ts","../src/locales/en_PH.ts","../src/locales/en_NZ.ts","../src/locales/en_ZA.ts","../src/locales/pt_PT.ts","../src/locales/el_GR.ts","../src/locales/cs_CZ.ts","../src/locales/de_AT.ts","../src/locales/de_CH.ts","../src/locales/nl_BE.ts","../src/locales/hu_HU.ts","../src/locales/ro_RO.ts","../src/locales/ar_AE.ts","../src/locales/ar_SA.ts","../src/locales/ar_EG.ts","../src/locales/he_IL.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\r\n * Random utility functions using native Math.random()\r\n */\r\nexport class Random {\r\n /**\r\n * Get random element from array\r\n */\r\n static pick<T>(array: T[]): T {\r\n return array[Math.floor(Math.random() * array.length)];\r\n }\r\n\r\n /**\r\n * Get random integer between min and max (inclusive)\r\n */\r\n static int(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n /**\r\n * Get random float between min and max\r\n */\r\n static float(min: number, max: number, decimals: number = 2): number {\r\n const value = Math.random() * (max - min) + min;\r\n return Number(value.toFixed(decimals));\r\n }\r\n\r\n /**\r\n * Get random boolean\r\n */\r\n static boolean(): boolean {\r\n return Math.random() >= 0.5;\r\n }\r\n\r\n /**\r\n * Shuffle array (Fisher-Yates algorithm)\r\n */\r\n static shuffle<T>(array: T[]): T[] {\r\n const result = [...array];\r\n for (let i = result.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [result[i], result[j]] = [result[j], result[i]];\r\n }\r\n return result;\r\n }\r\n}","import { LocaleDefinition, Gender, PersonData, AddressData, PhysicalData, WorkData, AgeRange } from '../types';\r\nimport { Random } from './random';\r\n\r\nexport class Mimic {\r\n private locale: LocaleDefinition;\r\n\r\n constructor(locale: LocaleDefinition) {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Update the locale\r\n */\r\n setLocale(locale: LocaleDefinition): void {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Identity generator\r\n */\r\n get identity() {\r\n return {\r\n firstName: (gender?: Gender): string => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n return genderChoice === 'male' \r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n },\r\n\r\n lastName: (): string => {\r\n return Random.pick(this.locale.lastNames);\r\n },\r\n\r\n fullName: (gender?: Gender): string => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n const firstName = genderChoice === 'male'\r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n const lastName = Random.pick(this.locale.lastNames);\r\n return this.locale.formatFullName(firstName, lastName);\r\n },\r\n\r\n gender: (): Gender => {\r\n return Random.pick(['male', 'female'] as Gender[]);\r\n },\r\n\r\n age: (range?: AgeRange): number => {\r\n const min = range?.min ?? 18;\r\n const max = range?.max ?? 65;\r\n return Random.int(min, max);\r\n },\r\n\r\n dateOfBirth: (range?: AgeRange): Date => {\r\n const age = this.identity.age(range);\r\n const currentYear = new Date().getFullYear();\r\n const birthYear = currentYear - age;\r\n const month = Random.int(0, 11);\r\n const day = Random.int(1, 28);\r\n return new Date(birthYear, month, day);\r\n },\r\n\r\n person: (gender?: Gender, ageRange?: AgeRange): PersonData => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n const firstName = genderChoice === 'male'\r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n const lastName = Random.pick(this.locale.lastNames);\r\n const age = this.identity.age(ageRange);\r\n const currentYear = new Date().getFullYear();\r\n const birthYear = currentYear - age;\r\n const month = Random.int(0, 11);\r\n const day = Random.int(1, 28);\r\n\r\n return {\r\n firstName,\r\n lastName,\r\n fullName: this.locale.formatFullName(firstName, lastName),\r\n gender: genderChoice,\r\n age,\r\n dateOfBirth: new Date(birthYear, month, day)\r\n };\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Location generator\r\n */\r\n get location() {\r\n return {\r\n street: (): string => {\r\n return Random.pick(this.locale.streets);\r\n },\r\n\r\n city: (): string => {\r\n return Random.pick(this.locale.cities);\r\n },\r\n\r\n state: (): string => {\r\n return Random.pick(this.locale.states);\r\n },\r\n\r\n zipCode: (): string => {\r\n return this.locale.generateZipCode();\r\n },\r\n\r\n fullAddress: (): string => {\r\n const street = Random.pick(this.locale.streets);\r\n const city = Random.pick(this.locale.cities);\r\n const state = Random.pick(this.locale.states);\r\n const zipCode = this.locale.generateZipCode();\r\n return this.locale.formatAddress(street, city, state, zipCode);\r\n },\r\n\r\n address: (): AddressData => {\r\n const street = Random.pick(this.locale.streets);\r\n const city = Random.pick(this.locale.cities);\r\n const state = Random.pick(this.locale.states);\r\n const zipCode = this.locale.generateZipCode();\r\n\r\n return {\r\n street,\r\n city,\r\n state,\r\n zipCode,\r\n fullAddress: this.locale.formatAddress(street, city, state, zipCode)\r\n };\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Physical data generator\r\n */\r\n get physical() {\r\n return {\r\n height: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n // Tinggi dalam cm (150-190 cm)\r\n const height = Random.int(150, 190);\r\n return {\r\n height,\r\n weight: 0,\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n // Tinggi dalam feet (4.9 - 6.3 ft)\r\n const height = Random.float(4.9, 6.3, 1);\r\n return {\r\n height,\r\n weight: 0,\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n },\r\n\r\n weight: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n // Berat dalam kg (45-100 kg)\r\n const weight = Random.int(45, 100);\r\n return {\r\n height: 0,\r\n weight,\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n // Berat dalam lb (100-220 lb)\r\n const weight = Random.int(100, 220);\r\n return {\r\n height: 0,\r\n weight,\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n },\r\n\r\n data: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n return {\r\n height: Random.int(150, 190),\r\n weight: Random.int(45, 100),\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n return {\r\n height: Random.float(4.9, 6.3, 1),\r\n weight: Random.int(100, 220),\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Work data generator\r\n */\r\n get work() {\r\n return {\r\n jobTitle: (): string => {\r\n return Random.pick(this.locale.jobTitles);\r\n },\r\n\r\n department: (): string => {\r\n return Random.pick(this.locale.departments);\r\n },\r\n\r\n data: (): WorkData => {\r\n return {\r\n jobTitle: Random.pick(this.locale.jobTitles),\r\n department: Random.pick(this.locale.departments)\r\n };\r\n }\r\n };\r\n }\r\n}","import { LocaleDefinition } from '../types';\r\n\r\n/**\r\n * Locale Registry untuk manajemen locale yang efisien\r\n * Mendukung lazy loading dan auto-registration\r\n */\r\nclass LocaleRegistry {\r\n private locales: Map<string, LocaleDefinition> = new Map();\r\n private aliases: Map<string, string> = new Map();\r\n\r\n /**\r\n * Register locale baru\r\n * @param code - Kode locale utama (contoh: 'en_US')\r\n * @param definition - Definisi locale\r\n * @param aliasesArray - Array alias untuk locale ini (contoh: ['en', 'us'])\r\n */\r\n register(\r\n code: string,\r\n definition: LocaleDefinition,\r\n aliasesArray: string[] = []\r\n ): void {\r\n this.locales.set(code, definition);\r\n \r\n // Register aliases\r\n for (const alias of aliasesArray) {\r\n this.aliases.set(alias, code);\r\n }\r\n }\r\n\r\n /**\r\n * Get locale definition\r\n * @param code - Kode locale atau alias\r\n * @returns LocaleDefinition atau undefined\r\n */\r\n get(code: string): LocaleDefinition | undefined {\r\n // Cek langsung di locales\r\n if (this.locales.has(code)) {\r\n return this.locales.get(code);\r\n }\r\n \r\n // Cek di aliases\r\n const mainCode = this.aliases.get(code);\r\n if (mainCode) {\r\n return this.locales.get(mainCode);\r\n }\r\n \r\n return undefined;\r\n }\r\n\r\n /**\r\n * Check apakah locale tersedia\r\n */\r\n has(code: string): boolean {\r\n return this.locales.has(code) || this.aliases.has(code);\r\n }\r\n\r\n /**\r\n * Get semua locale yang tersedia\r\n */\r\n getAvailableLocales(): string[] {\r\n return Array.from(this.locales.keys());\r\n }\r\n\r\n /**\r\n * Get semua aliases yang tersedia\r\n */\r\n getAvailableAliases(): string[] {\r\n return Array.from(this.aliases.keys());\r\n }\r\n\r\n /**\r\n * Get semua kode (locale + aliases)\r\n */\r\n getAllCodes(): string[] {\r\n return [\r\n ...this.getAvailableLocales(),\r\n ...this.getAvailableAliases()\r\n ];\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const localeRegistry = new LocaleRegistry();","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_US: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Joseph',\r\n 'Thomas', 'Christopher', 'Daniel', 'Matthew', 'Anthony', 'Mark', 'Donald',\r\n 'Steven', 'Andrew', 'Paul', 'Joshua', 'Kenneth', 'Kevin', 'Brian', 'George',\r\n 'Timothy', 'Ronald', 'Edward', 'Jason', 'Jeffrey', 'Ryan', 'Jacob', 'Gary',\r\n 'Nicholas', 'Eric', 'Jonathan', 'Stephen', 'Larry', 'Justin', 'Scott', 'Brandon',\r\n 'Benjamin', 'Samuel', 'Raymond', 'Gregory', 'Alexander', 'Patrick', 'Frank',\r\n 'Dennis', 'Jerry', 'Tyler', 'Aaron', 'Jose', 'Adam', 'Nathan', 'Douglas',\r\n 'Zachary', 'Peter', 'Kyle', 'Noah', 'Ethan', 'Jeremy', 'Christian', 'Walter'\r\n ],\r\n firstNamesFemale: [\r\n 'Mary', 'Patricia', 'Jennifer', 'Linda', 'Barbara', 'Elizabeth', 'Susan',\r\n 'Jessica', 'Sarah', 'Karen', 'Lisa', 'Nancy', 'Betty', 'Margaret', 'Sandra',\r\n 'Ashley', 'Kimberly', 'Emily', 'Donna', 'Michelle', 'Carol', 'Amanda', 'Dorothy',\r\n 'Melissa', 'Deborah', 'Stephanie', 'Rebecca', 'Sharon', 'Laura', 'Cynthia',\r\n 'Kathleen', 'Amy', 'Angela', 'Shirley', 'Anna', 'Brenda', 'Pamela', 'Emma',\r\n 'Nicole', 'Helen', 'Samantha', 'Katherine', 'Christine', 'Debra', 'Rachel',\r\n 'Carolyn', 'Janet', 'Catherine', 'Maria', 'Heather', 'Diane', 'Ruth', 'Julie',\r\n 'Olivia', 'Joyce', 'Virginia', 'Victoria', 'Kelly', 'Lauren', 'Christina'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis',\r\n 'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez', 'Wilson', 'Anderson',\r\n 'Thomas', 'Taylor', 'Moore', 'Jackson', 'Martin', 'Lee', 'Perez', 'Thompson',\r\n 'White', 'Harris', 'Sanchez', 'Clark', 'Ramirez', 'Lewis', 'Robinson', 'Walker',\r\n 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Torres', 'Nguyen', 'Hill', 'Flores',\r\n 'Green', 'Adams', 'Nelson', 'Baker', 'Hall', 'Rivera', 'Campbell', 'Mitchell',\r\n 'Carter', 'Roberts', 'Gomez', 'Phillips', 'Evans', 'Turner', 'Diaz', 'Parker',\r\n 'Cruz', 'Edwards', 'Collins', 'Reyes', 'Stewart', 'Morris', 'Morales', 'Murphy'\r\n ],\r\n streets: [\r\n 'Main Street', 'Oak Avenue', 'Maple Drive', 'Cedar Lane', 'Elm Street',\r\n 'Washington Boulevard', 'Lake View Drive', 'Park Avenue', 'Hill Road',\r\n 'Forest Lane', 'River Road', 'Sunset Boulevard', 'First Avenue', 'Second Street',\r\n 'Third Avenue', 'Pine Street', 'Walnut Avenue', 'Cherry Lane', 'Spring Street',\r\n 'Church Road', 'Market Street', 'Broadway', 'Madison Avenue', 'Lincoln Street',\r\n 'Jefferson Avenue', 'Franklin Street', 'Highland Avenue', 'Prospect Street',\r\n 'Valley Road', 'Ridge Road', 'Summit Avenue', 'Grove Street', 'Pearl Street'\r\n ],\r\n cities: [\r\n 'New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix', 'Philadelphia',\r\n 'San Antonio', 'San Diego', 'Dallas', 'San Jose', 'Austin', 'Jacksonville',\r\n 'Fort Worth', 'Columbus', 'Charlotte', 'San Francisco', 'Indianapolis', 'Seattle',\r\n 'Denver', 'Boston', 'Nashville', 'Detroit', 'Portland', 'Las Vegas', 'Memphis',\r\n 'Louisville', 'Baltimore', 'Milwaukee', 'Albuquerque', 'Tucson', 'Fresno',\r\n 'Sacramento', 'Kansas City', 'Mesa', 'Atlanta', 'Omaha', 'Colorado Springs',\r\n 'Raleigh', 'Miami', 'Long Beach', 'Virginia Beach', 'Oakland', 'Minneapolis'\r\n ],\r\n states: [\r\n 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado',\r\n 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho',\r\n 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',\r\n 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi',\r\n 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey',\r\n 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma',\r\n 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota',\r\n 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington',\r\n 'West Virginia', 'Wisconsin', 'Wyoming'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'Human Resources Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'UX Designer',\r\n 'Content Writer', 'Executive Assistant', 'Account Manager', 'DevOps Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'imperial',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 9999);\r\n return `${houseNumber} ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ja_JP: LocaleDefinition = {\r\n // Nama keluarga Jepang (姓)\r\n lastNames: [\r\n 'Satou', 'Suzuki', 'Takahashi', 'Tanaka', 'Watanabe', 'Itou', 'Yamamoto',\r\n 'Nakamura', 'Kobayashi', 'Katou', 'Yoshida', 'Yamada', 'Sasaki', 'Yamaguchi',\r\n 'Matsumoto', 'Inoue', 'Kimura', 'Hayashi', 'Shimizu', 'Yamazaki', 'Mori',\r\n 'Abe', 'Ikeda', 'Hashimoto', 'Yamashita', 'Ishikawa', 'Nakajima', 'Maeda',\r\n 'Fujita', 'Ogawa', 'Gotou', 'Okada', 'Hasegawa', 'Murakami', 'Kondou',\r\n 'Ishii', 'Saitou', 'Sakamoto', 'Endou', 'Fujii', 'Nishimura', 'Fukuda',\r\n 'Ootani', 'Miura', 'Okamoto', 'Matsuda', 'Nakano', 'Harada'\r\n ],\r\n // Nama depan pria (男性名)\r\n firstNamesMale: [\r\n 'Hiroshi', 'Takeshi', 'Kenji', 'Kazuo', 'Masao', 'Toshio', 'Minoru',\r\n 'Makoto', 'Satoshi', 'Yuji', 'Koji', 'Takashi', 'Shinji', 'Hideki',\r\n 'Masashi', 'Kenichi', 'Yuki', 'Haruki', 'Daiki', 'Ryouta', 'Shou',\r\n 'Kaito', 'Hayato', 'Souta', 'Yuuto', 'Kouki', 'Ren', 'Haruto',\r\n 'Akira', 'Ryuu', 'Tatsuya', 'Daisuke', 'Naoki', 'Tomoya', 'Shun',\r\n 'Ryousuke', 'Kenta', 'Yousuke', 'Taichi', 'Yuuma', 'Shouta', 'Riku'\r\n ],\r\n // Nama depan wanita (女性名)\r\n firstNamesFemale: [\r\n 'Yuko', 'Keiko', 'Kumiko', 'Sachiko', 'Yoshiko', 'Kazuko', 'Michiko',\r\n 'Akiko', 'Noriko', 'Yuki', 'Emi', 'Aiko', 'Mayumi', 'Naoko', 'Tomoko',\r\n 'Yuka', 'Ayumi', 'Haruka', 'Miho', 'Maki', 'Sakura', 'Hana', 'Yui',\r\n 'Rina', 'Nana', 'Ami', 'Mei', 'Momoka', 'Hina', 'Aoi', 'Mio',\r\n 'Nanami', 'Riko', 'Kana', 'Ayaka', 'Akari', 'Yuna', 'Sara', 'Miyu',\r\n 'Honoka', 'Koharu', 'Himari', 'Miku', 'Rin', 'Saki', 'Hinata'\r\n ],\r\n streets: [\r\n 'Chuo-dori', 'Sakura-dori', 'Midori-cho', 'Higashi-cho', 'Nishi-cho',\r\n 'Minami-cho', 'Kita-cho', 'Honcho', 'Miyuki-dori', 'Ekimae-dori',\r\n 'Showa-dori', 'Taisho-dori', 'Heisei-dori', 'Reiwa-dori', 'Yanagi-cho',\r\n 'Matsu-cho', 'Take-cho', 'Ume-cho', 'Momo-cho', 'Kiku-cho', 'Tsubaki-cho',\r\n 'Fuji-cho', 'Asahi-cho', 'Hoshi-cho', 'Tsuki-cho', 'Sora-cho', 'Umi-cho'\r\n ],\r\n cities: [\r\n 'Tokyo', 'Yokohama', 'Osaka', 'Nagoya', 'Sapporo', 'Fukuoka', 'Kobe',\r\n 'Kyoto', 'Kawasaki', 'Saitama', 'Hiroshima', 'Sendai', 'Chiba', 'Kitakyushu',\r\n 'Sakai', 'Niigata', 'Hamamatsu', 'Kumamoto', 'Sagamihara', 'Shizuoka',\r\n 'Okayama', 'Kagoshima', 'Hachioji', 'Matsuyama', 'Utsunomiya', 'Matsudo'\r\n ],\r\n // Prefektur Jepang (都道府県)\r\n states: [\r\n 'Tokyo', 'Osaka', 'Kyoto', 'Hokkaido', 'Aichi', 'Fukuoka', 'Kanagawa',\r\n 'Saitama', 'Chiba', 'Hyogo', 'Hiroshima', 'Miyagi', 'Niigata', 'Shizuoka',\r\n 'Okayama', 'Kumamoto', 'Kagoshima', 'Nagano', 'Gifu', 'Fukushima', 'Gunma',\r\n 'Ibaraki', 'Tochigi', 'Mie', 'Nara', 'Wakayama', 'Shiga', 'Yamanashi',\r\n 'Ishikawa', 'Toyama', 'Fukui', 'Yamaguchi', 'Ehime', 'Kagawa', 'Tokushima',\r\n 'Kochi', 'Saga', 'Nagasaki', 'Oita', 'Miyazaki', 'Okinawa', 'Aomori',\r\n 'Iwate', 'Akita', 'Yamagata', 'Tottori', 'Shimane'\r\n ],\r\n zipCodePattern: '###-####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Sales Manager', 'Accountant',\r\n 'HR Manager', 'Marketing Specialist', 'Data Analyst', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'System Administrator',\r\n 'Product Manager', 'Customer Support', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Sales', 'Marketing', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Administration', 'Quality Assurance'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Format Jepang: Nama Keluarga + Nama Depan\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n // Format alamat Jepang: 〒Kode Pos, Prefektur, Kota, Jalan, Nomor\r\n const choume = Random.int(1, 5);\r\n const banchi = Random.int(1, 20);\r\n const gou = Random.int(1, 30);\r\n return `〒${zipCode} ${state}, ${city}, ${street} ${choume}-${banchi}-${gou}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(1000, 9999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const id_ID: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Budi', 'Ahmad', 'Agus', 'Andi', 'Bambang', 'Dedi', 'Eko', 'Hadi',\r\n 'Iwan', 'Joko', 'Rudi', 'Slamet', 'Teguh', 'Wawan', 'Yudi', 'Rizki',\r\n 'Fajar', 'Bayu', 'Dimas', 'Arif', 'Indra', 'Gunawan', 'Hendra', 'Firman',\r\n 'Aditya', 'Putra', 'Gilang', 'Yoga', 'Rama', 'Satria', 'Wahyu', 'Rizal',\r\n 'Firdaus', 'Ilham', 'Ridwan', 'Surya', 'Akbar', 'Pratama', 'Nugroho'\r\n ],\r\n firstNamesFemale: [\r\n 'Siti', 'Dewi', 'Ani', 'Sri', 'Ratna', 'Rina', 'Endang', 'Fitri',\r\n 'Diah', 'Yuni', 'Wati', 'Ayu', 'Indah', 'Maya', 'Lestari', 'Putri',\r\n 'Sari', 'Rini', 'Tuti', 'Nur', 'Lia', 'Dian', 'Ika', 'Nia', 'Mega',\r\n 'Andini', 'Citra', 'Kartika', 'Puspita', 'Cahaya', 'Anggraini', 'Permata',\r\n 'Safitri', 'Rahayu', 'Maharani', 'Pratiwi', 'Kusuma', 'Melati', 'Zahra'\r\n ],\r\n lastNames: [\r\n 'Santoso', 'Wijaya', 'Susanto', 'Pranowo', 'Saputra', 'Kurniawan', 'Wibowo',\r\n 'Prasetyo', 'Hidayat', 'Setiawan', 'Nugroho', 'Hakim', 'Gunawan', 'Firmansyah',\r\n 'Budiman', 'Hermawan', 'Putra', 'Cahyadi', 'Utomo', 'Suharto', 'Handoko',\r\n 'Kusuma', 'Rahmat', 'Irawan', 'Sinaga', 'Sitorus', 'Sihotang', 'Simanjuntak',\r\n 'Tampubolon', 'Nababan', 'Manurung', 'Siregar', 'Panjaitan', 'Pasaribu',\r\n 'Hasibuan', 'Sembiring', 'Tarigan', 'Lubis', 'Nasution', 'Situmorang',\r\n 'Pardede', 'Simbolon', 'Silalahi', 'Aritonang', 'Simatupang', 'Hutapea'\r\n ],\r\n streets: [\r\n 'Jl. Merdeka', 'Jl. Sudirman', 'Jl. Gatot Subroto', 'Jl. Ahmad Yani',\r\n 'Jl. Diponegoro', 'Jl. Veteran', 'Jl. Pahlawan', 'Jl. Hayam Wuruk',\r\n 'Jl. Gajah Mada', 'Jl. Kartini', 'Jl. Proklamasi', 'Jl. Kemerdekaan',\r\n 'Jl. Imam Bonjol', 'Jl. Pemuda', 'Jl. Pattimura', 'Jl. Sisingamangaraja',\r\n 'Jl. Thamrin', 'Jl. Rasuna Said', 'Jl. MT Haryono', 'Jl. Basuki Rahmat',\r\n 'Jl. Wolter Monginsidi', 'Jl. Teuku Umar', 'Jl. Cut Nyak Dien', 'Jl. Majapahit'\r\n ],\r\n cities: [\r\n 'Jakarta', 'Surabaya', 'Bandung', 'Medan', 'Semarang', 'Makassar', 'Palembang',\r\n 'Tangerang', 'Depok', 'Bekasi', 'Bogor', 'Yogyakarta', 'Malang', 'Batam',\r\n 'Pekanbaru', 'Bandar Lampung', 'Padang', 'Denpasar', 'Samarinda', 'Banjarmasin',\r\n 'Pontianak', 'Balikpapan', 'Jambi', 'Manado', 'Mataram', 'Kupang', 'Ambon'\r\n ],\r\n states: [\r\n 'DKI Jakarta', 'Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Banten',\r\n 'Sumatera Utara', 'Sumatera Barat', 'Sumatera Selatan', 'Riau', 'Lampung',\r\n 'Kepulauan Riau', 'Bangka Belitung', 'Jambi', 'Bengkulu', 'Aceh',\r\n 'Kalimantan Barat', 'Kalimantan Tengah', 'Kalimantan Selatan', 'Kalimantan Timur',\r\n 'Kalimantan Utara', 'Sulawesi Utara', 'Sulawesi Tengah', 'Sulawesi Selatan',\r\n 'Sulawesi Tenggara', 'Gorontalo', 'Sulawesi Barat', 'Bali', 'Nusa Tenggara Barat',\r\n 'Nusa Tenggara Timur', 'Maluku', 'Maluku Utara', 'Papua', 'Papua Barat',\r\n 'DI Yogyakarta'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Akuntan', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Financial Analyst', 'Product Manager', 'System Administrator',\r\n 'Customer Service', 'Quality Assurance Engineer', 'Technical Writer',\r\n 'Database Administrator', 'Network Engineer', 'Content Writer', 'Account Manager'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const rt = Random.int(1, 20);\r\n const rw = Random.int(1, 15);\r\n return `${street} No. ${number}, RT ${rt}/RW ${rw}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_DE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Lukas', 'Leon', 'Tim', 'Paul', 'Jonas', 'Finn', 'Noah', 'Felix',\r\n 'Elias', 'Ben', 'Luca', 'Maximilian', 'Jan', 'Niklas', 'Tom', 'Moritz',\r\n 'Max', 'Julian', 'David', 'Alexander', 'Simon', 'Fabian', 'Tobias',\r\n 'Sebastian', 'Philipp', 'Florian', 'Kevin', 'Christian', 'Daniel',\r\n 'Michael', 'Stefan', 'Thomas', 'Andreas', 'Matthias', 'Markus', 'Peter',\r\n 'Klaus', 'Wolfgang', 'Jürgen', 'Hans', 'Dieter', 'Helmut', 'Werner'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Mia', 'Hannah', 'Sofia', 'Anna', 'Emilia', 'Lina', 'Marie',\r\n 'Sophia', 'Lena', 'Lea', 'Leonie', 'Amelie', 'Laura', 'Lisa', 'Luisa',\r\n 'Sarah', 'Julia', 'Katharina', 'Nina', 'Jana', 'Michelle', 'Christina',\r\n 'Vanessa', 'Jessica', 'Jennifer', 'Sandra', 'Stefanie', 'Melanie',\r\n 'Andrea', 'Petra', 'Sabine', 'Susanne', 'Martina', 'Monika', 'Birgit',\r\n 'Claudia', 'Karin', 'Angelika', 'Ingrid', 'Helga', 'Gisela', 'Ursula'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Schmidt', 'Schneider', 'Fischer', 'Weber', 'Meyer', 'Wagner',\r\n 'Becker', 'Schulz', 'Hoffmann', 'Schäfer', 'Koch', 'Bauer', 'Richter',\r\n 'Klein', 'Wolf', 'Schröder', 'Neumann', 'Schwarz', 'Zimmermann', 'Braun',\r\n 'Krüger', 'Hofmann', 'Hartmann', 'Lange', 'Schmitt', 'Werner', 'Schmitz',\r\n 'Krause', 'Meier', 'Lehmann', 'Schmid', 'Schulze', 'Maier', 'Köhler',\r\n 'Herrmann', 'König', 'Walter', 'Mayer', 'Huber', 'Kaiser', 'Fuchs',\r\n 'Peters', 'Lang', 'Scholz', 'Möller', 'Weiß', 'Jung', 'Hahn', 'Schubert'\r\n ],\r\n streets: [\r\n 'Hauptstraße', 'Bahnhofstraße', 'Gartenstraße', 'Schulstraße', 'Dorfstraße',\r\n 'Kirchstraße', 'Bergstraße', 'Waldstraße', 'Schillerstraße', 'Goethestraße',\r\n 'Lindenstraße', 'Parkstraße', 'Mozartstraße', 'Beethovenstraße', 'Bachstraße',\r\n 'Kantstraße', 'Lessingstraße', 'Fichtestraße', 'Schubertstraße', 'Brahmsstraße',\r\n 'Friedrichstraße', 'Wilhelmstraße', 'Marktstraße', 'Kaiserstraße', 'Poststraße',\r\n 'Ringstraße', 'Am Markt', 'Rosenstraße', 'Birkenweg', 'Ahornweg'\r\n ],\r\n cities: [\r\n 'Berlin', 'Hamburg', 'München', 'Köln', 'Frankfurt', 'Stuttgart', 'Düsseldorf',\r\n 'Dortmund', 'Essen', 'Leipzig', 'Bremen', 'Dresden', 'Hannover', 'Nürnberg',\r\n 'Duisburg', 'Bochum', 'Wuppertal', 'Bielefeld', 'Bonn', 'Münster', 'Karlsruhe',\r\n 'Mannheim', 'Augsburg', 'Wiesbaden', 'Gelsenkirchen', 'Mönchengladbach',\r\n 'Braunschweig', 'Chemnitz', 'Kiel', 'Aachen', 'Halle', 'Magdeburg', 'Freiburg',\r\n 'Krefeld', 'Lübeck', 'Oberhausen', 'Erfurt', 'Mainz', 'Rostock', 'Kassel'\r\n ],\r\n states: [\r\n 'Baden-Württemberg', 'Bayern', 'Berlin', 'Brandenburg', 'Bremen',\r\n 'Hamburg', 'Hessen', 'Mecklenburg-Vorpommern', 'Niedersachsen',\r\n 'Nordrhein-Westfalen', 'Rheinland-Pfalz', 'Saarland', 'Sachsen',\r\n 'Sachsen-Anhalt', 'Schleswig-Holstein', 'Thüringen'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Projektmanager', 'Datenanalyst', 'Marketing Manager',\r\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer',\r\n 'Betriebsleiter', 'Business Analyst', 'Finanzanalyst', 'Produktmanager',\r\n 'Systemadministrator', 'Kundenbetreuer', 'Quality Assurance Engineer',\r\n 'Technischer Redakteur', 'Datenbankadministrator', 'Netzwerkingenieur'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen',\r\n 'Betrieb', 'Kundenservice', 'IT', 'Forschung und Entwicklung',\r\n 'Recht', 'Produktmanagement', 'Design', 'Qualitätssicherung', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 200);\r\n return `${street} ${houseNumber}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const fr_FR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Gabriel', 'Raphaël', 'Léo', 'Louis', 'Lucas', 'Adam', 'Arthur', 'Hugo',\r\n 'Jules', 'Maël', 'Noah', 'Tom', 'Nathan', 'Ethan', 'Paul', 'Théo',\r\n 'Pierre', 'Jean', 'Marc', 'François', 'Michel', 'Nicolas', 'Antoine',\r\n 'Philippe', 'Jacques', 'Christophe', 'Olivier', 'Julien', 'David',\r\n 'Alexandre', 'Sébastien', 'Laurent', 'Guillaume', 'Maxime', 'Benjamin',\r\n 'Thomas', 'Vincent', 'Daniel', 'Patrick', 'Christian', 'Bernard', 'André'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Léa', 'Chloé', 'Manon', 'Camille', 'Zoé', 'Sarah', 'Lola',\r\n 'Inès', 'Jade', 'Louise', 'Lina', 'Rose', 'Alice', 'Juliette', 'Clara',\r\n 'Marie', 'Sophie', 'Isabelle', 'Julie', 'Nathalie', 'Caroline', 'Laura',\r\n 'Émilie', 'Pauline', 'Charlotte', 'Lucie', 'Céline', 'Marine', 'Sandra',\r\n 'Valérie', 'Sylvie', 'Catherine', 'Martine', 'Christine', 'Françoise',\r\n 'Monique', 'Nicole', 'Véronique', 'Brigitte', 'Dominique', 'Anne', 'Claire'\r\n ],\r\n lastNames: [\r\n 'Martin', 'Bernard', 'Thomas', 'Petit', 'Robert', 'Richard', 'Durand',\r\n 'Dubois', 'Moreau', 'Laurent', 'Simon', 'Michel', 'Lefebvre', 'Leroy',\r\n 'Roux', 'David', 'Bertrand', 'Morel', 'Fournier', 'Girard', 'Bonnet',\r\n 'Dupont', 'Lambert', 'Fontaine', 'Rousseau', 'Vincent', 'Muller', 'Lefevre',\r\n 'Faure', 'Andre', 'Mercier', 'Blanc', 'Guerin', 'Boyer', 'Garnier',\r\n 'Chevalier', 'Francois', 'Legrand', 'Gauthier', 'Garcia', 'Perrin',\r\n 'Robin', 'Clement', 'Morin', 'Nicolas', 'Henry', 'Roussel', 'Matthieu'\r\n ],\r\n streets: [\r\n 'Rue de la Paix', 'Avenue des Champs-Élysées', 'Boulevard Haussmann',\r\n 'Rue de Rivoli', 'Rue Saint-Honoré', 'Avenue Montaigne', 'Rue du Faubourg',\r\n 'Boulevard Saint-Germain', 'Rue de Vaugirard', 'Avenue Victor Hugo',\r\n 'Rue Lafayette', 'Boulevard Voltaire', 'Rue de la République', 'Place de la Concorde',\r\n 'Rue Nationale', 'Avenue Jean Jaurès', 'Rue Pasteur', 'Boulevard Gambetta',\r\n 'Rue du Général de Gaulle', 'Avenue de la Liberté', 'Rue Carnot', 'Place du Marché',\r\n 'Rue Victor Hugo', 'Boulevard de la Mer', 'Rue des Écoles', 'Avenue du Président'\r\n ],\r\n cities: [\r\n 'Paris', 'Marseille', 'Lyon', 'Toulouse', 'Nice', 'Nantes', 'Strasbourg',\r\n 'Montpellier', 'Bordeaux', 'Lille', 'Rennes', 'Reims', 'Le Havre', 'Saint-Étienne',\r\n 'Toulon', 'Grenoble', 'Dijon', 'Angers', 'Nîmes', 'Villeurbanne', 'Saint-Denis',\r\n 'Le Mans', 'Aix-en-Provence', 'Clermont-Ferrand', 'Brest', 'Limoges', 'Tours',\r\n 'Amiens', 'Perpignan', 'Metz', 'Besançon', 'Boulogne-Billancourt', 'Orléans',\r\n 'Mulhouse', 'Rouen', 'Caen', 'Nancy', 'Argenteuil', 'Montreuil', 'Saint-Paul'\r\n ],\r\n states: [\r\n 'Île-de-France', 'Provence-Alpes-Côte d\\'Azur', 'Auvergne-Rhône-Alpes',\r\n 'Nouvelle-Aquitaine', 'Occitanie', 'Hauts-de-France', 'Pays de la Loire',\r\n 'Bretagne', 'Grand Est', 'Normandie', 'Bourgogne-Franche-Comté',\r\n 'Centre-Val de Loire', 'Corse'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingénieur Logiciel', 'Chef de Projet', 'Analyste de Données', 'Responsable Marketing',\r\n 'Commercial', 'Comptable', 'Responsable RH', 'Designer', 'Responsable des Opérations',\r\n 'Analyste d\\'Affaires', 'Analyste Financier', 'Chef de Produit',\r\n 'Administrateur Système', 'Chargé de Clientèle', 'Ingénieur Qualité',\r\n 'Rédacteur Technique', 'Administrateur de Base de Données', 'Ingénieur Réseau'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Commercial', 'Ressources Humaines', 'Finance',\r\n 'Opérations', 'Service Client', 'IT', 'Recherche et Développement',\r\n 'Juridique', 'Gestion de Produit', 'Design', 'Assurance Qualité', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 300);\r\n return `${houseNumber} ${street}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pt_BR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Miguel', 'Arthur', 'Heitor', 'Bernardo', 'Théo', 'Davi', 'Gabriel', 'Pedro',\r\n 'Lucas', 'Matheus', 'Rafael', 'João', 'Guilherme', 'Gustavo', 'Felipe',\r\n 'Bruno', 'Leonardo', 'Diego', 'Rodrigo', 'Marcelo', 'Vinícius', 'André',\r\n 'Thiago', 'Fernando', 'Ricardo', 'Daniel', 'Carlos', 'Paulo', 'José',\r\n 'Antônio', 'Francisco', 'Marcos', 'Roberto', 'Eduardo', 'Fábio', 'César',\r\n 'Alexandre', 'Renato', 'Márcio', 'Sérgio', 'Luciano', 'Anderson', 'Caio'\r\n ],\r\n firstNamesFemale: [\r\n 'Alice', 'Sophia', 'Helena', 'Valentina', 'Laura', 'Isabella', 'Manuela',\r\n 'Júlia', 'Heloísa', 'Luiza', 'Maria', 'Lorena', 'Lívia', 'Giovanna',\r\n 'Beatriz', 'Ana', 'Fernanda', 'Camila', 'Juliana', 'Mariana', 'Patrícia',\r\n 'Amanda', 'Letícia', 'Carolina', 'Gabriela', 'Renata', 'Bianca', 'Natália',\r\n 'Vanessa', 'Aline', 'Cristina', 'Paula', 'Adriana', 'Sandra', 'Tatiana',\r\n 'Luciana', 'Priscila', 'Débora', 'Simone', 'Carla', 'Andreia', 'Viviane'\r\n ],\r\n lastNames: [\r\n 'Silva', 'Santos', 'Oliveira', 'Souza', 'Rodrigues', 'Ferreira', 'Alves',\r\n 'Pereira', 'Lima', 'Gomes', 'Costa', 'Ribeiro', 'Martins', 'Carvalho',\r\n 'Almeida', 'Lopes', 'Soares', 'Fernandes', 'Vieira', 'Barbosa', 'Rocha',\r\n 'Dias', 'Nascimento', 'Araujo', 'Monteiro', 'Cardoso', 'Nunes', 'Mendes',\r\n 'Freitas', 'Cavalcanti', 'Castro', 'Pinto', 'Farias', 'Moreira', 'Correia',\r\n 'Rezende', 'Campos', 'Teixeira', 'Miranda', 'Duarte', 'Aragão', 'Machado',\r\n 'Barros', 'Andrade', 'Moura', 'Cunha', 'Azevedo', 'Melo', 'Ramos', 'Pires'\r\n ],\r\n streets: [\r\n 'Rua das Flores', 'Avenida Paulista', 'Rua Augusta', 'Avenida Atlântica',\r\n 'Rua Oscar Freire', 'Avenida Brasil', 'Rua XV de Novembro', 'Avenida Copacabana',\r\n 'Rua da Consolação', 'Avenida Brigadeiro Faria Lima', 'Rua Direita',\r\n 'Avenida Getúlio Vargas', 'Rua do Comércio', 'Avenida Rio Branco',\r\n 'Rua Sete de Setembro', 'Avenida Presidente Vargas', 'Rua da Paz',\r\n 'Avenida Santos Dumont', 'Rua Amazonas', 'Avenida Dom Pedro II',\r\n 'Rua Tiradentes', 'Avenida Independência', 'Rua Marechal Deodoro',\r\n 'Avenida Afonso Pena', 'Rua Barão do Rio Branco', 'Avenida Ipiranga'\r\n ],\r\n cities: [\r\n 'São Paulo', 'Rio de Janeiro', 'Brasília', 'Salvador', 'Fortaleza', 'Belo Horizonte',\r\n 'Manaus', 'Curitiba', 'Recife', 'Porto Alegre', 'Goiânia', 'Belém', 'Guarulhos',\r\n 'Campinas', 'São Luís', 'São Gonçalo', 'Maceió', 'Duque de Caxias', 'Natal',\r\n 'Teresina', 'Campo Grande', 'Nova Iguaçu', 'São Bernardo do Campo', 'João Pessoa',\r\n 'Santo André', 'Osasco', 'Jaboatão dos Guararapes', 'São José dos Campos',\r\n 'Ribeirão Preto', 'Uberlândia', 'Sorocaba', 'Contagem', 'Aracaju', 'Feira de Santana'\r\n ],\r\n states: [\r\n 'São Paulo', 'Rio de Janeiro', 'Minas Gerais', 'Bahia', 'Paraná', 'Rio Grande do Sul',\r\n 'Pernambuco', 'Ceará', 'Pará', 'Santa Catarina', 'Goiás', 'Maranhão', 'Espírito Santo',\r\n 'Paraíba', 'Amazonas', 'Mato Grosso', 'Rio Grande do Norte', 'Alagoas', 'Piauí',\r\n 'Distrito Federal', 'Mato Grosso do Sul', 'Sergipe', 'Rondônia', 'Tocantins',\r\n 'Acre', 'Amapá', 'Roraima'\r\n ],\r\n zipCodePattern: '#####-###',\r\n jobTitles: [\r\n 'Engenheiro de Software', 'Gerente de Projetos', 'Analista de Dados',\r\n 'Gerente de Marketing', 'Representante de Vendas', 'Contador', 'Gerente de RH',\r\n 'Designer', 'Gerente de Operações', 'Analista de Negócios', 'Analista Financeiro',\r\n 'Gerente de Produto', 'Administrador de Sistemas', 'Atendente ao Cliente',\r\n 'Engenheiro de Qualidade', 'Redator Técnico', 'Administrador de Banco de Dados',\r\n 'Engenheiro de Redes', 'Coordenador de Marketing', 'Supervisor de Vendas'\r\n ],\r\n departments: [\r\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Financeiro',\r\n 'Operações', 'Atendimento ao Cliente', 'TI', 'Pesquisa e Desenvolvimento',\r\n 'Jurídico', 'Gestão de Produtos', 'Design', 'Qualidade', 'Administração'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 9999);\r\n const complement = Random.pick(['Apto', 'Casa', 'Sala', 'Bloco']);\r\n const complementNumber = Random.int(1, 500);\r\n return `${street}, ${houseNumber} - ${complement} ${complementNumber}, ${city} - ${state}, CEP ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(10000, 99999));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ko_KR: LocaleDefinition = {\r\n // Nama keluarga Korea (성)\r\n lastNames: [\r\n 'Kim', 'Lee', 'Park', 'Choi', 'Jung', 'Kang', 'Cho', 'Yoon', 'Jang',\r\n 'Lim', 'Han', 'Oh', 'Seo', 'Shin', 'Kwon', 'Hwang', 'Ahn', 'Song',\r\n 'Hong', 'Jeon', 'Ko', 'Moon', 'Son', 'Yang', 'Baek', 'Heo', 'Nam',\r\n 'Shim', 'Roh', 'Ha', 'Joo', 'Koo', 'Chung', 'Min', 'Yoo', 'Sung',\r\n 'Ji', 'Woo', 'Chae', 'Yeo', 'Do', 'Bae', 'Noh', 'Pyo', 'Tae'\r\n ],\r\n // Nama depan pria Korea (이름 - 남성)\r\n firstNamesMale: [\r\n 'Minho', 'Joon', 'Hyun', 'Seung', 'Woong', 'Jin', 'Sung', 'Tae',\r\n 'Young', 'Dong', 'Soo', 'Jun', 'Woo', 'Hoon', 'Jae', 'Kyung',\r\n 'Ho', 'Chan', 'Hyuk', 'Min', 'Joon-Ho', 'Ji-Hoon', 'Seo-Jun', 'Do-Yun',\r\n 'Si-Woo', 'Ye-Jun', 'Min-Jun', 'Joo-Won', 'Ha-Jun', 'Woo-Jin',\r\n 'Yu-Jun', 'Hyun-Woo', 'Jun-Seo', 'Geon-Woo', 'Ji-Hu', 'Yoon-Seo'\r\n ],\r\n // Nama depan wanita Korea (이름 - 여성)\r\n firstNamesFemale: [\r\n 'Hye', 'Min', 'Ji', 'Soo', 'Young', 'Eun', 'Mi', 'Sun', 'Kyung',\r\n 'Jung', 'Hee', 'Jin', 'Yeon', 'Seo', 'Ha', 'Yoo', 'Ah', 'Na',\r\n 'Seo-Yun', 'Ji-Woo', 'Ha-Eun', 'Min-Seo', 'Seo-Hyun', 'Ji-Ah', 'Yoo-Na',\r\n 'Soo-Ah', 'Chae-Won', 'Eun-Seo', 'Ha-Yoon', 'Ji-Yoo', 'Ah-Rin',\r\n 'Ye-Eun', 'Ga-Eun', 'Yu-Ri', 'Hye-Won', 'So-Yeon', 'Da-Eun', 'Bo-Ra'\r\n ],\r\n streets: [\r\n 'Gangnam-daero', 'Teheran-ro', 'Seocho-daero', 'Yeongdong-daero',\r\n 'Sejong-daero', 'Jongno', 'Euljiro', 'Myeongdong-gil', 'Insadong-gil',\r\n 'Dongdaemun-ro', 'Sinchon-ro', 'Hongik-ro', 'Itaewon-ro', 'Apgujeong-ro',\r\n 'Garosu-gil', 'Cheonggyecheon-ro', 'Hangang-daero', 'Olympic-ro',\r\n 'Dongho-ro', 'Seongbuk-ro', 'Bukchon-ro', 'Samcheong-ro', 'Sajik-ro'\r\n ],\r\n cities: [\r\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Suwon',\r\n 'Ulsan', 'Changwon', 'Goyang', 'Yongin', 'Seongnam', 'Bucheon', 'Ansan',\r\n 'Cheongju', 'Jeonju', 'Anyang', 'Cheonan', 'Pohang', 'Gimhae', 'Pyeongtaek',\r\n 'Uijeongbu', 'Siheung', 'Paju', 'Jinju', 'Gimpo', 'Iksan', 'Wonju'\r\n ],\r\n // Provinsi Korea (도/광역시)\r\n states: [\r\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Ulsan',\r\n 'Sejong', 'Gyeonggi-do', 'Gangwon-do', 'North Chungcheong', 'South Chungcheong',\r\n 'North Jeolla', 'South Jeolla', 'North Gyeongsang', 'South Gyeongsang', 'Jeju'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'System Administrator', 'Customer Service Representative', 'QA Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Format Korea: Nama Keluarga + Nama Depan\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n // Format alamat Korea: Provinsi, Kota, Jalan, Nomor bangunan, Kode Pos\r\n const buildingNumber = Random.int(1, 500);\r\n const dong = Random.pick(['Gangnam-gu', 'Seocho-gu', 'Songpa-gu', 'Jongno-gu', 'Jung-gu', 'Yongsan-gu']);\r\n return `${state}, ${city}, ${dong}, ${street} ${buildingNumber}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_AU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'Jack', 'Noah', 'William', 'Thomas', 'James', 'Henry', 'Lucas',\r\n 'Charlie', 'Ethan', 'Liam', 'Mason', 'Benjamin', 'Alexander', 'Samuel',\r\n 'Daniel', 'Matthew', 'Joshua', 'Ryan', 'Andrew', 'Michael', 'David',\r\n 'Christopher', 'Nathan', 'Jacob', 'Dylan', 'Luke', 'Isaac', 'Harrison',\r\n 'Lachlan', 'Cooper', 'Max', 'Angus', 'Hamish', 'Oscar', 'Archer', 'Flynn'\r\n ],\r\n firstNamesFemale: [\r\n 'Charlotte', 'Amelia', 'Olivia', 'Isla', 'Mia', 'Ava', 'Grace', 'Chloe',\r\n 'Emily', 'Sophie', 'Ella', 'Ruby', 'Harper', 'Zoe', 'Lucy', 'Lily',\r\n 'Emma', 'Isabella', 'Sophia', 'Hannah', 'Jessica', 'Sarah', 'Madison',\r\n 'Abigail', 'Elizabeth', 'Scarlett', 'Sienna', 'Matilda', 'Georgia',\r\n 'Evie', 'Willow', 'Ivy', 'Layla', 'Jasmine', 'Poppy', 'Maya', 'Aria'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Jones', 'Williams', 'Brown', 'Wilson', 'Taylor', 'Johnson',\r\n 'White', 'Martin', 'Anderson', 'Thompson', 'Nguyen', 'Thomas', 'Walker',\r\n 'Harris', 'Lee', 'Ryan', 'Robinson', 'Kelly', 'King', 'Murphy', 'Edwards',\r\n 'Hall', 'Moore', 'Clark', 'Jackson', 'Young', 'Lewis', 'Wood', 'Scott',\r\n 'Green', 'Davis', 'Baker', 'Adams', 'Nelson', 'Hill', 'Mitchell', 'Campbell',\r\n 'Roberts', 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart',\r\n 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Cooper', 'Richardson'\r\n ],\r\n streets: [\r\n 'George Street', 'Elizabeth Street', 'King Street', 'Queen Street', 'Collins Street',\r\n 'Bourke Street', 'Flinders Street', 'Swanston Street', 'William Street', 'Victoria Street',\r\n 'Chapel Street', 'High Street', 'Main Road', 'Oxford Street', 'Brunswick Street',\r\n 'Smith Street', 'Sydney Road', 'Lygon Street', 'Fitzroy Street', 'Acland Street',\r\n 'Beach Road', 'Princes Highway', 'Pacific Highway', 'Anzac Parade', 'Military Road',\r\n 'Crown Street', 'Park Road', 'Station Street', 'Church Street', 'Bay Street'\r\n ],\r\n cities: [\r\n 'Sydney', 'Melbourne', 'Brisbane', 'Perth', 'Adelaide', 'Gold Coast', 'Newcastle',\r\n 'Canberra', 'Sunshine Coast', 'Wollongong', 'Hobart', 'Geelong', 'Townsville',\r\n 'Cairns', 'Darwin', 'Toowoomba', 'Ballarat', 'Bendigo', 'Albury', 'Launceston',\r\n 'Mackay', 'Rockhampton', 'Bunbury', 'Bundaberg', 'Wagga Wagga', 'Hervey Bay',\r\n 'Mildura', 'Shepparton', 'Port Macquarie', 'Gladstone', 'Tamworth', 'Dubbo'\r\n ],\r\n states: [\r\n 'New South Wales', 'Victoria', 'Queensland', 'Western Australia',\r\n 'South Australia', 'Tasmania', 'Northern Territory',\r\n 'Australian Capital Territory'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'Tradesperson',\r\n 'Nurse', 'Teacher', 'Electrician', 'Plumber', 'Carpenter', 'Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 999);\r\n const unitNumber = Random.boolean() ? `Unit ${Random.int(1, 50)}/` : '';\r\n return `${unitNumber}${houseNumber} ${street}, ${city} ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const zh_CN: LocaleDefinition = {\r\n lastNames: [\r\n 'Wang', 'Li', 'Zhang', 'Liu', 'Chen', 'Yang', 'Huang', 'Zhao', 'Wu', 'Zhou',\r\n 'Xu', 'Sun', 'Ma', 'Zhu', 'Hu', 'Guo', 'He', 'Gao', 'Lin', 'Luo',\r\n 'Zheng', 'Liang', 'Xie', 'Song', 'Tang', 'Xu', 'Deng', 'Han', 'Feng', 'Cao',\r\n 'Peng', 'Zeng', 'Xiao', 'Tian', 'Dong', 'Pan', 'Yuan', 'Cai', 'Jiang', 'Yu'\r\n ],\r\n firstNamesMale: [\r\n 'Wei', 'Jun', 'Ming', 'Tao', 'Jie', 'Qiang', 'Lei', 'Yong', 'Jian', 'Ping',\r\n 'Bin', 'Feng', 'Long', 'Chao', 'Yang', 'Lin', 'Hao', 'Gang', 'Kai', 'Peng',\r\n 'Zhi', 'Yun', 'Bo', 'Hua', 'Xin', 'Liang', 'Chen', 'Dong', 'Fei', 'Xiong',\r\n 'Huan', 'Yu', 'Rui', 'Jing', 'Song', 'Zhen', 'Kun', 'Han', 'Xi', 'Cheng'\r\n ],\r\n firstNamesFemale: [\r\n 'Li', 'Fang', 'Xiu', 'Ying', 'Min', 'Jing', 'Juan', 'Yan', 'Hong', 'Mei',\r\n 'Xia', 'Qing', 'Lan', 'Yue', 'Xin', 'Ling', 'Na', 'Hui', 'Rong', 'Dan',\r\n 'Shan', 'Yun', 'Ping', 'Jie', 'Xue', 'Fen', 'Yu', 'Qian', 'Shu', 'Wen',\r\n 'Zhen', 'Xiang', 'Cui', 'Lin', 'Ran', 'Meng', 'Rou', 'Yi', 'Ning', 'Qin'\r\n ],\r\n streets: [\r\n 'Zhongshan Road', 'Renmin Road', 'Jiefang Road', 'Changjiang Road', 'Huanghe Road',\r\n 'Beijing Road', 'Shanghai Road', 'Guangzhou Road', 'Nanjing Road', 'Chengdu Road',\r\n 'Dongfeng Road', 'Xin Avenue', 'Heping Road', 'Wenhua Road', 'Jianshe Road',\r\n 'Minzhu Road', 'Gongyuan Road', 'Xueyuan Road', 'Keji Road', 'Binhe Road'\r\n ],\r\n cities: [\r\n 'Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Chengdu', 'Chongqing', 'Tianjin',\r\n 'Wuhan', 'Hangzhou', 'Nanjing', 'Xi\\'an', 'Shenyang', 'Harbin', 'Changchun',\r\n 'Dalian', 'Qingdao', 'Jinan', 'Zhengzhou', 'Shijiazhuang', 'Taiyuan', 'Hefei',\r\n 'Changsha', 'Nanchang', 'Fuzhou', 'Kunming', 'Guiyang', 'Nanning', 'Lanzhou'\r\n ],\r\n states: [\r\n 'Beijing', 'Shanghai', 'Tianjin', 'Chongqing', 'Hebei', 'Shanxi', 'Liaoning',\r\n 'Jilin', 'Heilongjiang', 'Jiangsu', 'Zhejiang', 'Anhui', 'Fujian', 'Jiangxi',\r\n 'Shandong', 'Henan', 'Hubei', 'Hunan', 'Guangdong', 'Hainan', 'Sichuan',\r\n 'Guizhou', 'Yunnan', 'Shaanxi', 'Gansu', 'Qinghai', 'Xinjiang', 'Guangxi'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'R&D', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 999);\r\n const unit = Random.int(1, 50);\r\n return `${state} Province, ${city}, ${street} No.${building}, Unit ${unit}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_IN: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Rahul', 'Amit', 'Raj', 'Rohan', 'Arjun', 'Aditya', 'Aryan', 'Vikram', 'Suresh',\r\n 'Karan', 'Sandeep', 'Rajesh', 'Manoj', 'Ashok', 'Deepak', 'Ajay', 'Ravi',\r\n 'Krishna', 'Sanjay', 'Vijay', 'Anil', 'Ramesh', 'Rakesh', 'Nitin', 'Vivek',\r\n 'Sachin', 'Akash', 'Nikhil', 'Siddharth', 'Ankit', 'Varun', 'Kunal', 'Harsh'\r\n ],\r\n firstNamesFemale: [\r\n 'Priya', 'Pooja', 'Anita', 'Sneha', 'Kavita', 'Neha', 'Ritu', 'Anjali', 'Divya',\r\n 'Preeti', 'Sunita', 'Asha', 'Rekha', 'Sonal', 'Manisha', 'Deepika', 'Simran',\r\n 'Nisha', 'Swati', 'Meera', 'Radha', 'Seema', 'Geeta', 'Riya', 'Shreya',\r\n 'Ayesha', 'Sakshi', 'Tanvi', 'Aditi', 'Kritika', 'Ishita', 'Dia', 'Mira'\r\n ],\r\n lastNames: [\r\n 'Sharma', 'Verma', 'Singh', 'Kumar', 'Gupta', 'Patel', 'Shah', 'Reddy', 'Desai',\r\n 'Joshi', 'Rao', 'Mehta', 'Nair', 'Iyer', 'Chopra', 'Malhotra', 'Kapoor', 'Agarwal',\r\n 'Bansal', 'Jain', 'Sinha', 'Khan', 'Menon', 'Kulkarni', 'Bhatt', 'Trivedi',\r\n 'Pandey', 'Mishra', 'Yadav', 'Saxena', 'Bose', 'Ghosh', 'Chatterjee', 'Das'\r\n ],\r\n streets: [\r\n 'MG Road', 'Nehru Street', 'Gandhi Nagar', 'Park Street', 'Brigade Road',\r\n 'Anna Salai', 'Mall Road', 'Station Road', 'Marine Drive', 'Linking Road',\r\n 'Main Road', 'Church Street', 'Cross Road', 'Ring Road', 'Service Road',\r\n 'Residency Road', 'Commercial Street', 'Infantry Road', 'Richmond Road'\r\n ],\r\n cities: [\r\n 'Mumbai', 'Delhi', 'Bangalore', 'Hyderabad', 'Chennai', 'Kolkata', 'Pune', 'Ahmedabad',\r\n 'Jaipur', 'Surat', 'Lucknow', 'Kanpur', 'Nagpur', 'Indore', 'Bhopal', 'Visakhapatnam',\r\n 'Patna', 'Vadodara', 'Ghaziabad', 'Ludhiana', 'Agra', 'Nashik', 'Faridabad', 'Meerut',\r\n 'Rajkot', 'Kalyan', 'Vasai', 'Varanasi', 'Srinagar', 'Aurangabad', 'Dhanbad', 'Amritsar'\r\n ],\r\n states: [\r\n 'Maharashtra', 'Delhi', 'Karnataka', 'Telangana', 'Tamil Nadu', 'West Bengal',\r\n 'Gujarat', 'Rajasthan', 'Uttar Pradesh', 'Madhya Pradesh', 'Bihar', 'Kerala',\r\n 'Andhra Pradesh', 'Haryana', 'Punjab', 'Odisha', 'Jharkhand', 'Uttarakhand',\r\n 'Himachal Pradesh', 'Assam', 'Chhattisgarh', 'Goa', 'Jammu and Kashmir'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Executive', 'Chartered Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Analyst'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Support', 'IT', 'Research & Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNo = Random.int(1, 999);\r\n const sector = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${houseNo}/${sector}, ${street}, ${city}, ${state} - ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_MX: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'José', 'Juan', 'Luis', 'Miguel', 'Carlos', 'Antonio', 'Francisco', 'Alejandro',\r\n 'Pedro', 'Jesús', 'Manuel', 'Rafael', 'Javier', 'Daniel', 'Ricardo', 'Fernando',\r\n 'Jorge', 'Roberto', 'Eduardo', 'Sergio', 'Raúl', 'Arturo', 'Gerardo', 'Héctor',\r\n 'Andrés', 'Diego', 'Gabriel', 'Oscar', 'Julio', 'Ramón', 'Armando', 'Enrique'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Guadalupe', 'Juana', 'Margarita', 'Rosa', 'Francisca', 'Teresa', 'Ana',\r\n 'Patricia', 'Carmen', 'Laura', 'Gabriela', 'Verónica', 'Silvia', 'Martha', 'Diana',\r\n 'Karla', 'Leticia', 'Sandra', 'Elena', 'Claudia', 'Alejandra', 'Daniela', 'Sofía',\r\n 'Adriana', 'Andrea', 'Monica', 'Beatriz', 'Cecilia', 'Paola', 'Fernanda', 'Lucía'\r\n ],\r\n lastNames: [\r\n 'Hernández', 'García', 'Martínez', 'López', 'González', 'Rodríguez', 'Pérez', 'Sánchez',\r\n 'Ramírez', 'Torres', 'Flores', 'Rivera', 'Gómez', 'Díaz', 'Cruz', 'Morales',\r\n 'Reyes', 'Gutiérrez', 'Ortiz', 'Mendoza', 'Castillo', 'Vargas', 'Romero', 'Jiménez',\r\n 'Ruiz', 'Álvarez', 'Vázquez', 'Medina', 'Aguilar', 'Salazar', 'Rojas', 'Herrera'\r\n ],\r\n streets: [\r\n 'Avenida Reforma', 'Calle Juárez', 'Avenida Insurgentes', 'Calle Hidalgo',\r\n 'Avenida Revolución', 'Calle Morelos', 'Avenida Universidad', 'Calle Independencia',\r\n 'Avenida Constitución', 'Calle 5 de Mayo', 'Avenida Chapultepec', 'Calle Madero',\r\n 'Avenida Patriotismo', 'Calle Guerrero', 'Avenida División del Norte', 'Calle Cuauhtémoc'\r\n ],\r\n cities: [\r\n 'Ciudad de México', 'Guadalajara', 'Monterrey', 'Puebla', 'Tijuana', 'León',\r\n 'Juárez', 'Zapopan', 'Mérida', 'San Luis Potosí', 'Querétaro', 'Toluca',\r\n 'Chihuahua', 'Aguascalientes', 'Saltillo', 'Mexicali', 'Culiacán', 'Acapulco',\r\n 'Cancún', 'Veracruz', 'Hermosillo', 'Morelia', 'Durango', 'Oaxaca', 'Tampico'\r\n ],\r\n states: [\r\n 'Ciudad de México', 'Jalisco', 'Nuevo León', 'Puebla', 'Baja California', 'Guanajuato',\r\n 'Chihuahua', 'Yucatán', 'San Luis Potosí', 'Querétaro', 'Estado de México',\r\n 'Veracruz', 'Aguascalientes', 'Coahuila', 'Sinaloa', 'Sonora', 'Michoacán',\r\n 'Guerrero', 'Quintana Roo', 'Tamaulipas', 'Oaxaca', 'Chiapas', 'Durango'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\r\n 'Representante de Ventas', 'Contador', 'Gerente de RH', 'Diseñador', 'Gerente de Operaciones',\r\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const colonia = Random.pick(['Centro', 'Norte', 'Sur', 'Oriente', 'Poniente']);\r\n return `${street} ${number}, Col. ${colonia}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const it_IT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Francesco', 'Alessandro', 'Andrea', 'Lorenzo', 'Matteo', 'Gabriele', 'Mattia',\r\n 'Marco', 'Luca', 'Giovanni', 'Giuseppe', 'Antonio', 'Roberto', 'Paolo', 'Stefano',\r\n 'Carlo', 'Davide', 'Simone', 'Federico', 'Riccardo', 'Michele', 'Tommaso',\r\n 'Filippo', 'Vincenzo', 'Emanuele', 'Alberto', 'Daniele', 'Leonardo', 'Pietro'\r\n ],\r\n firstNamesFemale: [\r\n 'Sofia', 'Giulia', 'Aurora', 'Alice', 'Ginevra', 'Emma', 'Giorgia', 'Greta',\r\n 'Beatrice', 'Anna', 'Chiara', 'Francesca', 'Sara', 'Martina', 'Alessia', 'Elena',\r\n 'Silvia', 'Valentina', 'Federica', 'Laura', 'Elisa', 'Claudia', 'Monica', 'Paola',\r\n 'Roberta', 'Simona', 'Antonella', 'Maria', 'Lucia', 'Cristina', 'Isabella'\r\n ],\r\n lastNames: [\r\n 'Rossi', 'Russo', 'Ferrari', 'Esposito', 'Bianchi', 'Romano', 'Colombo', 'Ricci',\r\n 'Marino', 'Greco', 'Bruno', 'Gallo', 'Conti', 'De Luca', 'Costa', 'Giordano',\r\n 'Mancini', 'Rizzo', 'Lombardi', 'Moretti', 'Barbieri', 'Fontana', 'Santoro',\r\n 'Mariani', 'Rinaldi', 'Caruso', 'Ferrara', 'Galli', 'Martini', 'Leone', 'Longo'\r\n ],\r\n streets: [\r\n 'Via Roma', 'Corso Italia', 'Via Garibaldi', 'Via Mazzini', 'Piazza Duomo',\r\n 'Via Dante', 'Corso Vittorio Emanuele', 'Via Cavour', 'Via Verdi', 'Via Nazionale',\r\n 'Corso Umberto', 'Via Milano', 'Via Torino', 'Via Napoli', 'Viale Europa',\r\n 'Via della Repubblica', 'Corso Giuseppe Mazzini', 'Via San Francesco', 'Via Venezia'\r\n ],\r\n cities: [\r\n 'Roma', 'Milano', 'Napoli', 'Torino', 'Palermo', 'Genova', 'Bologna', 'Firenze',\r\n 'Bari', 'Catania', 'Venezia', 'Verona', 'Messina', 'Padova', 'Trieste', 'Brescia',\r\n 'Parma', 'Taranto', 'Prato', 'Modena', 'Reggio Calabria', 'Reggio Emilia', 'Perugia',\r\n 'Livorno', 'Ravenna', 'Cagliari', 'Foggia', 'Rimini', 'Salerno', 'Ferrara', 'Sassari'\r\n ],\r\n states: [\r\n 'Lazio', 'Lombardia', 'Campania', 'Piemonte', 'Sicilia', 'Liguria', 'Emilia-Romagna',\r\n 'Toscana', 'Puglia', 'Veneto', 'Calabria', 'Sardegna', 'Marche', 'Abruzzo',\r\n 'Friuli-Venezia Giulia', 'Umbria', 'Basilicata', 'Molise', 'Trentino-Alto Adige', 'Valle d\\'Aosta'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingegnere Software', 'Project Manager', 'Analista Dati', 'Responsabile Marketing',\r\n 'Rappresentante Vendite', 'Commercialista', 'Responsabile HR', 'Designer',\r\n 'Responsabile Operazioni', 'Analista di Business', 'Product Manager', 'Amministratore di Sistema'\r\n ],\r\n departments: [\r\n 'Ingegneria', 'Marketing', 'Vendite', 'Risorse Umane', 'Finanza', 'Operazioni',\r\n 'Servizio Clienti', 'IT', 'Ricerca e Sviluppo', 'Legale', 'Amministrazione'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street}, ${number}, ${zipCode} ${city} (${state.substring(0, 2).toUpperCase()})`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_ES: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Antonio', 'Manuel', 'José', 'Francisco', 'David', 'Juan', 'Javier', 'Daniel',\r\n 'Carlos', 'Miguel', 'Alejandro', 'Pedro', 'Jesús', 'Pablo', 'Sergio', 'Rafael',\r\n 'Ángel', 'José Antonio', 'Fernando', 'Luis', 'Alberto', 'Jorge', 'Adrián',\r\n 'Álvaro', 'Diego', 'Raúl', 'Enrique', 'Rubén', 'Iván', 'Gonzalo', 'Hugo'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Carmen', 'Ana', 'Isabel', 'Dolores', 'Pilar', 'Teresa', 'Rosa',\r\n 'Lucía', 'Paula', 'Sara', 'Laura', 'Marta', 'Elena', 'Cristina', 'Andrea',\r\n 'Sofía', 'Beatriz', 'Alba', 'Nuria', 'Silvia', 'Patricia', 'Raquel', 'Marina',\r\n 'Clara', 'Irene', 'Julia', 'Natalia', 'Rocío', 'Eva', 'Mónica', 'Susana'\r\n ],\r\n lastNames: [\r\n 'García', 'Fernández', 'González', 'Rodríguez', 'López', 'Martínez', 'Sánchez', 'Pérez',\r\n 'Gómez', 'Martín', 'Jiménez', 'Ruiz', 'Hernández', 'Díaz', 'Moreno', 'Muñoz',\r\n 'Álvarez', 'Romero', 'Alonso', 'Gutiérrez', 'Navarro', 'Torres', 'Domínguez',\r\n 'Vázquez', 'Ramos', 'Gil', 'Ramírez', 'Serrano', 'Blanco', 'Molina', 'Morales'\r\n ],\r\n streets: [\r\n 'Calle Mayor', 'Gran Vía', 'Calle Real', 'Paseo de la Castellana', 'Avenida de Andalucía',\r\n 'Calle Alcalá', 'Paseo del Prado', 'Calle de Serrano', 'Avenida Diagonal',\r\n 'Ronda de Segovia', 'Calle Toledo', 'Plaza de España', 'Calle Atocha',\r\n 'Paseo de Gracia', 'Calle Preciados', 'Avenida de América', 'Calle Génova'\r\n ],\r\n cities: [\r\n 'Madrid', 'Barcelona', 'Valencia', 'Sevilla', 'Zaragoza', 'Málaga', 'Murcia',\r\n 'Palma', 'Las Palmas', 'Bilbao', 'Alicante', 'Córdoba', 'Valladolid', 'Vigo',\r\n 'Gijón', 'Hospitalet', 'Vitoria', 'Granada', 'Elche', 'Oviedo', 'Badalona',\r\n 'Cartagena', 'Terrassa', 'Jerez', 'Sabadell', 'Santa Cruz', 'Pamplona', 'Almería'\r\n ],\r\n states: [\r\n 'Madrid', 'Cataluña', 'Comunidad Valenciana', 'Andalucía', 'Aragón', 'Galicia',\r\n 'Castilla y León', 'País Vasco', 'Canarias', 'Castilla-La Mancha', 'Murcia',\r\n 'Asturias', 'Islas Baleares', 'Extremadura', 'Navarra', 'Cantabria', 'La Rioja'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Jefe de Proyecto', 'Analista de Datos', 'Responsable de Marketing',\r\n 'Comercial', 'Contable', 'Jefe de RRHH', 'Diseñador', 'Responsable de Operaciones',\r\n 'Analista de Negocio', 'Jefe de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'Informática', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const piso = Random.int(1, 8);\r\n const puerta = Random.pick(['A', 'B', 'C', 'D']);\r\n return `${street}, ${number}, ${piso}º ${puerta}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nl_NL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Pieter', 'Kees', 'Henk', 'Johan', 'Daan', 'Lucas', 'Sem', 'Bram', 'Thijs',\r\n 'Lars', 'Tim', 'Tom', 'Ruben', 'Sven', 'Stijn', 'Luuk', 'Jesse', 'Milan', 'Max',\r\n 'Finn', 'Teun', 'Bas', 'Nick', 'Thomas', 'Jasper', 'Jelle', 'Roel', 'Sander'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Emma', 'Sophie', 'Julia', 'Lisa', 'Laura', 'Sanne', 'Eva', 'Lotte',\r\n 'Sara', 'Isa', 'Anne', 'Nina', 'Fleur', 'Femke', 'Iris', 'Noa', 'Maud', 'Roos',\r\n 'Eline', 'Demi', 'Lynn', 'Amy', 'Lieke', 'Naomi', 'Amber', 'Vera', 'Maja', 'Tess'\r\n ],\r\n lastNames: [\r\n 'de Jong', 'Jansen', 'de Vries', 'van den Berg', 'van Dijk', 'Bakker', 'Janssen',\r\n 'Visser', 'Smit', 'Meijer', 'de Boer', 'Mulder', 'de Groot', 'Bos', 'Vos',\r\n 'Peters', 'Hendriks', 'van Leeuwen', 'Dekker', 'Brouwer', 'de Wit', 'Dijkstra',\r\n 'Smits', 'de Graaf', 'van der Meer', 'van der Linden', 'Kok', 'Jacobs', 'de Haan'\r\n ],\r\n streets: [\r\n 'Hoofdstraat', 'Kerkstraat', 'Schoolstraat', 'Dorpsstraat', 'Stationsweg',\r\n 'Molenstraat', 'Nieuwstraat', 'Parkweg', 'Bosweg', 'Beatrixlaan', 'Wilhelminalaan',\r\n 'Julianastraat', 'Koningstraat', 'Prins Hendrikstraat', 'Marktstraat',\r\n 'Parallelweg', 'Gravenstraat', 'Binnenweg', 'Groeneweg', 'Lindenstraat'\r\n ],\r\n cities: [\r\n 'Amsterdam', 'Rotterdam', 'Den Haag', 'Utrecht', 'Eindhoven', 'Tilburg', 'Groningen',\r\n 'Almere', 'Breda', 'Nijmegen', 'Enschede', 'Haarlem', 'Arnhem', 'Zaanstad',\r\n 'Amersfoort', 'Apeldoorn', 'Hoofddorp', 'Maastricht', 'Leiden', 'Dordrecht',\r\n 'Zoetermeer', 'Zwolle', 'Deventer', 'Delft', 'Alkmaar', 'Heerlen', 'Venlo'\r\n ],\r\n states: [\r\n 'Noord-Holland', 'Zuid-Holland', 'Utrecht', 'Noord-Brabant', 'Gelderland',\r\n 'Overijssel', 'Limburg', 'Groningen', 'Friesland', 'Zeeland', 'Flevoland', 'Drenthe'\r\n ],\r\n zipCodePattern: '#### @@',\r\n jobTitles: [\r\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\r\n 'Vertegenwoordiger', 'Accountant', 'HR Manager', 'Designer', 'Operationeel Manager',\r\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsanalist'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\r\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 250);\r\n const letter = Random.boolean() ? Random.pick(['A', 'B', 'C']) : '';\r\n return `${street} ${number}${letter}, ${zipCode}, ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const digits = String(Random.int(1000, 9999));\r\n const letters = String.fromCharCode(65 + Random.int(0, 25)) + \r\n String.fromCharCode(65 + Random.int(0, 25));\r\n return `${digits} ${letters}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_CA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Liam', 'Noah', 'Oliver', 'Ethan', 'Logan', 'Lucas', 'Mason', 'Benjamin', 'Jack',\r\n 'James', 'William', 'Alexander', 'Michael', 'Jacob', 'Daniel', 'Matthew', 'Ryan',\r\n 'Nathan', 'Samuel', 'Owen', 'Dylan', 'Connor', 'Carter', 'Caleb', 'Luke', 'Wyatt',\r\n 'Thomas', 'Andrew', 'Nicholas', 'Adam', 'David', 'Joseph', 'Tyler', 'Hunter'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Olivia', 'Ava', 'Sophia', 'Isabella', 'Charlotte', 'Amelia', 'Mia', 'Harper',\r\n 'Emily', 'Abigail', 'Ella', 'Madison', 'Scarlett', 'Grace', 'Chloe', 'Victoria',\r\n 'Sofia', 'Lily', 'Hannah', 'Avery', 'Zoe', 'Aria', 'Brooklyn', 'Claire', 'Leah',\r\n 'Maya', 'Addison', 'Riley', 'Sarah', 'Rachel', 'Jessica', 'Jennifer', 'Laura'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Brown', 'Lee', 'Wilson', 'Martin', 'Roy', 'Tremblay', 'Anderson', 'Johnson',\r\n 'Taylor', 'Gagnon', 'White', 'Thomas', 'Thompson', 'Campbell', 'Clark', 'Lewis',\r\n 'Walker', 'Hall', 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Robinson', 'Green',\r\n 'MacDonald', 'Murphy', 'Stewart', 'Cook', 'Bailey', 'Kelly', 'Ross', 'Mitchell'\r\n ],\r\n streets: [\r\n 'Main Street', 'King Street', 'Queen Street', 'Yonge Street', 'Bloor Street',\r\n 'Dundas Street', 'College Street', 'Bay Street', 'University Avenue', 'Front Street',\r\n 'Wellington Street', 'Richmond Street', 'Adelaide Street', 'Spadina Avenue',\r\n 'Parliament Street', 'Jarvis Street', 'Church Street', 'Victoria Street', 'First Avenue'\r\n ],\r\n cities: [\r\n 'Toronto', 'Montreal', 'Vancouver', 'Calgary', 'Edmonton', 'Ottawa', 'Winnipeg',\r\n 'Quebec City', 'Hamilton', 'Kitchener', 'London', 'Victoria', 'Halifax', 'Oshawa',\r\n 'Windsor', 'Saskatoon', 'Regina', 'Barrie', 'Kelowna', 'Abbotsford', 'Sherbrooke',\r\n 'Guelph', 'Kingston', 'Trois-Rivières', 'Sudbury', 'Thunder Bay', 'Moncton'\r\n ],\r\n states: [\r\n 'Ontario', 'Quebec', 'British Columbia', 'Alberta', 'Manitoba', 'Saskatchewan',\r\n 'Nova Scotia', 'New Brunswick', 'Newfoundland and Labrador', 'Prince Edward Island',\r\n 'Northwest Territories', 'Yukon', 'Nunavut'\r\n ],\r\n zipCodePattern: '@#@ #@#',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const unit = Random.boolean() ? `Unit ${Random.int(1, 100)}, ` : '';\r\n return `${unit}${number} ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letters = 'ABCDEFGHJKLMNPRSTVWXYZ';\r\n const digits = '0123456789';\r\n return `${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]} ${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_GB: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'George', 'Harry', 'Jack', 'Jacob', 'Noah', 'Charlie', 'Muhammad', 'Thomas',\r\n 'Oscar', 'William', 'James', 'Henry', 'Alfie', 'Leo', 'Joshua', 'Freddie', 'Ethan',\r\n 'Archie', 'Isaac', 'Alexander', 'Joseph', 'Edward', 'Samuel', 'Daniel', 'Max',\r\n 'Lucas', 'Mason', 'Harrison', 'Logan', 'Sebastian', 'Dylan', 'Arthur', 'Theo'\r\n ],\r\n firstNamesFemale: [\r\n 'Olivia', 'Amelia', 'Isla', 'Ava', 'Emily', 'Isabella', 'Mia', 'Poppy', 'Ella',\r\n 'Lily', 'Sophie', 'Grace', 'Sophia', 'Charlotte', 'Freya', 'Evie', 'Daisy', 'Florence',\r\n 'Alice', 'Jessica', 'Ivy', 'Millie', 'Ruby', 'Rosie', 'Scarlett', 'Isabelle',\r\n 'Phoebe', 'Willow', 'Sienna', 'Lucy', 'Emma', 'Harriet', 'Evelyn', 'Elsie'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Jones', 'Taylor', 'Brown', 'Williams', 'Wilson', 'Johnson', 'Davies',\r\n 'Robinson', 'Wright', 'Thompson', 'Evans', 'Walker', 'White', 'Roberts', 'Green',\r\n 'Hall', 'Wood', 'Jackson', 'Clarke', 'Patel', 'Khan', 'Lewis', 'James', 'Roberts',\r\n 'Baker', 'Harrison', 'Hughes', 'Edwards', 'Collins', 'Morgan', 'Cooper', 'Bell'\r\n ],\r\n streets: [\r\n 'High Street', 'Station Road', 'Main Street', 'Park Road', 'Church Street',\r\n 'Victoria Road', 'Green Lane', 'Manor Road', 'Church Lane', 'Park Avenue',\r\n 'The Avenue', 'Queens Road', 'New Road', 'Grange Road', 'King Street', 'Kingsway',\r\n 'Windsor Road', 'London Road', 'Mill Lane', 'School Lane', 'The Green', 'The Crescent'\r\n ],\r\n cities: [\r\n 'London', 'Birmingham', 'Manchester', 'Leeds', 'Liverpool', 'Newcastle', 'Sheffield',\r\n 'Bristol', 'Glasgow', 'Leicester', 'Edinburgh', 'Bradford', 'Cardiff', 'Belfast',\r\n 'Nottingham', 'Coventry', 'Kingston upon Hull', 'Stoke-on-Trent', 'Plymouth',\r\n 'Wolverhampton', 'Derby', 'Southampton', 'Portsmouth', 'Brighton', 'Reading',\r\n 'Northampton', 'Luton', 'Bolton', 'Aberdeen', 'York', 'Oxford', 'Cambridge'\r\n ],\r\n states: [\r\n 'England', 'Scotland', 'Wales', 'Northern Ireland', 'Greater London', 'West Midlands',\r\n 'Greater Manchester', 'West Yorkshire', 'South Yorkshire', 'Merseyside', 'Tyne and Wear'\r\n ],\r\n zipCodePattern: '@## #@@',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n return `${number} ${street}, ${city}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const area = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\r\n const district = Random.int(1, 99);\r\n const sector = Random.int(0, 9);\r\n const unit = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\r\n return `${area}${district} ${sector}${unit}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ru_RU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Alexander', 'Dmitry', 'Maxim', 'Sergey', 'Andrey', 'Alexey', 'Artem', 'Ivan',\r\n 'Mikhail', 'Roman', 'Vladimir', 'Nikita', 'Yegor', 'Denis', 'Pavel', 'Kirill',\r\n 'Anton', 'Oleg', 'Konstantin', 'Igor', 'Evgeny', 'Viktor', 'Nikolay', 'Ilya',\r\n 'Timur', 'Daniil', 'Vadim', 'Georgy', 'Stanislav', 'Gleb', 'Ruslan', 'Yaroslav'\r\n ],\r\n firstNamesFemale: [\r\n 'Anastasia', 'Maria', 'Daria', 'Anna', 'Ekaterina', 'Victoria', 'Polina', 'Elizaveta',\r\n 'Alexandra', 'Natalia', 'Olga', 'Tatiana', 'Irina', 'Yulia', 'Elena', 'Ksenia',\r\n 'Svetlana', 'Marina', 'Vera', 'Sophia', 'Alina', 'Valeria', 'Veronika', 'Kristina',\r\n 'Diana', 'Lyubov', 'Galina', 'Nina', 'Larisa', 'Ludmila', 'Angelina', 'Arina'\r\n ],\r\n lastNames: [\r\n 'Ivanov', 'Smirnov', 'Kuznetsov', 'Popov', 'Vasiliev', 'Petrov', 'Sokolov', 'Mikhailov',\r\n 'Novikov', 'Fedorov', 'Morozov', 'Volkov', 'Alexeev', 'Lebedev', 'Semenov', 'Egorov',\r\n 'Pavlov', 'Kozlov', 'Stepanov', 'Nikolaev', 'Orlov', 'Andreev', 'Makarov', 'Nikitin',\r\n 'Zakharov', 'Zaitsev', 'Soloviev', 'Borisov', 'Yakovlev', 'Grigoriev', 'Romanov'\r\n ],\r\n streets: [\r\n 'Lenina Street', 'Pushkina Street', 'Sovetskaya Street', 'Tsentralnaya Street',\r\n 'Mira Avenue', 'Gagarina Street', 'Komsomolskaya Street', 'Kirova Street',\r\n 'Pobedy Avenue', 'Oktyabrskaya Street', 'Sadovaya Street', 'Moskovskaya Street',\r\n 'Nevsky Prospekt', 'Tverskaya Street', 'Arbat Street', 'Prospekt Mira',\r\n 'Kutuzovsky Prospekt', 'Leningradsky Prospekt', 'Novinsky Boulevard'\r\n ],\r\n cities: [\r\n 'Moscow', 'Saint Petersburg', 'Novosibirsk', 'Yekaterinburg', 'Kazan', 'Nizhny Novgorod',\r\n 'Chelyabinsk', 'Samara', 'Omsk', 'Rostov-on-Don', 'Ufa', 'Krasnoyarsk', 'Voronezh',\r\n 'Perm', 'Volgograd', 'Krasnodar', 'Saratov', 'Tyumen', 'Tolyatti', 'Izhevsk',\r\n 'Barnaul', 'Ulyanovsk', 'Irkutsk', 'Khabarovsk', 'Yaroslavl', 'Vladivostok', 'Tomsk'\r\n ],\r\n states: [\r\n 'Moscow Oblast', 'Saint Petersburg', 'Moscow', 'Sverdlovsk Oblast', 'Tatarstan',\r\n 'Krasnodar Krai', 'Chelyabinsk Oblast', 'Nizhny Novgorod Oblast', 'Samara Oblast',\r\n 'Bashkortostan', 'Rostov Oblast', 'Krasnoyarsk Krai', 'Novosibirsk Oblast',\r\n 'Perm Krai', 'Voronezh Oblast', 'Volgograd Oblast', 'Saratov Oblast'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 200);\r\n const apartment = Random.int(1, 150);\r\n return `${state}, ${city}, ${street}, d. ${building}, kv. ${apartment}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pl_PL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Andrzej', 'Piotr', 'Krzysztof', 'Stanisław', 'Tomasz', 'Paweł', 'Józef',\r\n 'Marcin', 'Michał', 'Grzegorz', 'Jerzy', 'Tadeusz', 'Adam', 'Łukasz', 'Zbigniew',\r\n 'Ryszard', 'Kazimierz', 'Marek', 'Mateusz', 'Kamil', 'Jakub', 'Robert', 'Rafał',\r\n 'Wojciech', 'Sławomir', 'Dariusz', 'Dawid', 'Bartosz', 'Kacper', 'Filip', 'Igor'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Katarzyna', 'Małgorzata', 'Agnieszka', 'Barbara', 'Ewa', 'Krystyna',\r\n 'Elżbieta', 'Zofia', 'Teresa', 'Joanna', 'Magdalena', 'Monika', 'Jadwiga', 'Danuta',\r\n 'Irena', 'Halina', 'Helena', 'Beata', 'Aleksandra', 'Natalia', 'Dorota', 'Paulina',\r\n 'Sylwia', 'Iwona', 'Jolanta', 'Renata', 'Karolina', 'Weronika', 'Julia', 'Martyna'\r\n ],\r\n lastNames: [\r\n 'Nowak', 'Kowalski', 'Wiśniewski', 'Dąbrowski', 'Lewandowski', 'Wójcik', 'Kamiński',\r\n 'Kowalczyk', 'Zieliński', 'Szymański', 'Woźniak', 'Kozłowski', 'Jankowski', 'Wojciechowski',\r\n 'Kwiatkowski', 'Kaczmarek', 'Mazur', 'Krawczyk', 'Piotrowski', 'Grabowski', 'Nowakowski',\r\n 'Pawłowski', 'Michalski', 'Nowicki', 'Adamczyk', 'Dudek', 'Zając', 'Wieczorek', 'Jabłoński'\r\n ],\r\n streets: [\r\n 'ulica Główna', 'ulica Kwiatowa', 'ulica Słoneczna', 'ulica Polna', 'ulica Leśna',\r\n 'ulica Krótka', 'ulica Długa', 'ulica Szkolna', 'ulica Kościelna', 'ulica Parkowa',\r\n 'Plac Wolności', 'Aleja Solidarności', 'ulica 3 Maja', 'ulica Piłsudskiego',\r\n 'ulica Mickiewicza', 'ulica Słowackiego', 'ulica Kopernika', 'ulica Chopina'\r\n ],\r\n cities: [\r\n 'Warszawa', 'Kraków', 'Łódź', 'Wrocław', 'Poznań', 'Gdańsk', 'Szczecin', 'Bydgoszcz',\r\n 'Lublin', 'Białystok', 'Katowice', 'Gdynia', 'Częstochowa', 'Radom', 'Sosnowiec',\r\n 'Toruń', 'Kielce', 'Gliwice', 'Zabrze', 'Bytom', 'Olsztyn', 'Bielsko-Biała',\r\n 'Rzeszów', 'Ruda Śląska', 'Rybnik', 'Tychy', 'Dąbrowa Górnicza', 'Płock', 'Elbląg'\r\n ],\r\n states: [\r\n 'Mazowieckie', 'Śląskie', 'Wielkopolskie', 'Małopolskie', 'Dolnośląskie', 'Łódzkie',\r\n 'Pomorskie', 'Kujawsko-Pomorskie', 'Zachodniopomorskie', 'Lubelskie', 'Podkarpackie',\r\n 'Warmińsko-Mazurskie', 'Świętokrzyskie', 'Podlaskie', 'Opolskie', 'Lubuskie'\r\n ],\r\n zipCodePattern: '##-###',\r\n jobTitles: [\r\n 'Inżynier Oprogramowania', 'Kierownik Projektu', 'Analityk Danych', 'Kierownik Marketingu',\r\n 'Przedstawiciel Handlowy', 'Księgowy', 'Kierownik HR', 'Projektant', 'Kierownik Operacyjny',\r\n 'Analityk Biznesowy', 'Kierownik Produktu', 'Administrator Systemu', 'Inżynier Jakości'\r\n ],\r\n departments: [\r\n 'Inżynieria', 'Marketing', 'Sprzedaż', 'Zasoby Ludzkie', 'Finanse', 'Operacje',\r\n 'Obsługa Klienta', 'IT', 'Badania i Rozwój', 'Prawny', 'Administracja'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const apartment = Random.int(1, 80);\r\n return `${street} ${number}/${apartment}, ${zipCode} ${city}, woj. ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(10, 99));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const tr_TR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mehmet', 'Mustafa', 'Ahmet', 'Ali', 'Hüseyin', 'Hasan', 'İbrahim', 'İsmail',\r\n 'Yusuf', 'Murat', 'Süleyman', 'Ömer', 'Emre', 'Can', 'Burak', 'Kemal', 'Onur',\r\n 'Serkan', 'Fatih', 'Oğuz', 'Eren', 'Cem', 'Deniz', 'Barış', 'Kaan', 'Arda',\r\n 'Emir', 'Efe', 'Okan', 'Furkan', 'Yasin', 'Berkay', 'Umut', 'Volkan'\r\n ],\r\n firstNamesFemale: [\r\n 'Ayşe', 'Fatma', 'Emine', 'Hatice', 'Zeynep', 'Elif', 'Merve', 'Büşra', 'Esra',\r\n 'Sultan', 'Hanife', 'Meryem', 'Şeyma', 'Fadime', 'Cemre', 'Selin', 'Yasemin',\r\n 'Özlem', 'Gül', 'Aylin', 'Deniz', 'Ceren', 'Ece', 'Beyza', 'Tuğba', 'Burcu',\r\n 'Ebru', 'Nur', 'Buse', 'Defne', 'Ada', 'Aslı', 'Seda', 'Meltem'\r\n ],\r\n lastNames: [\r\n 'Yılmaz', 'Kaya', 'Demir', 'Şahin', 'Çelik', 'Yıldız', 'Yıldırım', 'Öztürk',\r\n 'Aydın', 'Özdemir', 'Arslan', 'Doğan', 'Kılıç', 'Aslan', 'Çetin', 'Kara',\r\n 'Koç', 'Kurt', 'Özkan', 'Şimşek', 'Erdoğan', 'Aksoy', 'Güneş', 'Çakır',\r\n 'Özgür', 'Korkmaz', 'Acar', 'Polat', 'Aktaş', 'Özer', 'Demirci', 'Yavuz'\r\n ],\r\n streets: [\r\n 'Atatürk Caddesi', 'İstiklal Caddesi', 'Cumhuriyet Caddesi', 'Barbaros Bulvarı',\r\n 'Bağdat Caddesi', 'Gazi Mustafa Kemal Bulvarı', 'Ankara Caddesi', 'İnönü Caddesi',\r\n 'Fevzi Çakmak Caddesi', 'Mithatpaşa Caddesi', 'Kızılay Meydanı', 'Fatih Caddesi',\r\n 'Yeşilırmak Sokak', 'Mehmet Akif Caddesi', 'Hürriyet Bulvarı', 'Mimar Sinan Caddesi'\r\n ],\r\n cities: [\r\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\r\n 'Şanlıurfa', 'Kocaeli', 'Mersin', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri',\r\n 'Samsun', 'Balıkesir', 'Kahramanmaraş', 'Van', 'Aydın', 'Denizli', 'Sakarya',\r\n 'Tekirdağ', 'Muğla', 'Eskişehir', 'Mardin', 'Malatya', 'Erzurum', 'Trabzon'\r\n ],\r\n states: [\r\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\r\n 'Mersin', 'Kocaeli', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri', 'Samsun',\r\n 'Balıkesir', 'Tekirdağ', 'Trabzon', 'Erzurum', 'Malatya', 'Van', 'Şanlıurfa'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Yazılım Mühendisi', 'Proje Yöneticisi', 'Veri Analisti', 'Pazarlama Müdürü',\r\n 'Satış Temsilcisi', 'Muhasebeci', 'İnsan Kaynakları Müdürü', 'Tasarımcı',\r\n 'Operasyon Müdürü', 'İş Analisti', 'Ürün Müdürü', 'Sistem Yöneticisi', 'Kalite Mühendisi'\r\n ],\r\n departments: [\r\n 'Mühendislik', 'Pazarlama', 'Satış', 'İnsan Kaynakları', 'Finans', 'Operasyon',\r\n 'Müşteri Hizmetleri', 'BT', 'Araştırma ve Geliştirme', 'Hukuk', 'İdari İşler'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const mahalle = Random.pick(['Merkez', 'Yeni', 'Çarşı', 'Kale', 'Bahçelievler']);\r\n const no = Random.int(1, 200);\r\n const daire = Random.int(1, 50);\r\n return `${mahalle} Mah., ${street} No:${no} D:${daire}, ${zipCode} ${city}/${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const sv_SE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Erik', 'Lars', 'Karl', 'Anders', 'Per', 'Johan', 'Nils', 'Lennart', 'Emil',\r\n 'Oscar', 'Gustav', 'Viktor', 'Axel', 'Filip', 'Elias', 'Lucas', 'Alexander',\r\n 'Oliver', 'William', 'Hugo', 'Liam', 'Noah', 'Adam', 'Isak', 'Anton', 'Theo',\r\n 'Mattias', 'Magnus', 'Stefan', 'Peter', 'Mikael', 'Daniel', 'Fredrik', 'Björn'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Maria', 'Karin', 'Eva', 'Kristina', 'Lena', 'Emma', 'Sofia', 'Ingrid',\r\n 'Birgitta', 'Sara', 'Lisa', 'Linnea', 'Maja', 'Elin', 'Ida', 'Ebba', 'Wilma',\r\n 'Alice', 'Julia', 'Elsa', 'Alicia', 'Olivia', 'Astrid', 'Agnes', 'Ella', 'Freja',\r\n 'Klara', 'Saga', 'Isabelle', 'Emilia', 'Hanna', 'Amanda', 'Josefin', 'Ellen'\r\n ],\r\n lastNames: [\r\n 'Andersson', 'Johansson', 'Karlsson', 'Nilsson', 'Eriksson', 'Larsson', 'Olsson',\r\n 'Persson', 'Svensson', 'Gustafsson', 'Pettersson', 'Jonsson', 'Jansson', 'Hansson',\r\n 'Bengtsson', 'Jönsson', 'Lindberg', 'Jakobsson', 'Magnusson', 'Olofsson', 'Lindström',\r\n 'Lindqvist', 'Lindgren', 'Berg', 'Axelsson', 'Bergström', 'Lundberg', 'Lind', 'Lundgren'\r\n ],\r\n streets: [\r\n 'Storgatan', 'Drottninggatan', 'Kungsgatan', 'Biblioteksgatan', 'Birger Jarlsgatan',\r\n 'Sveavägen', 'Vasagatan', 'Hamngatan', 'Karlavägen', 'Valhallavägen',\r\n 'Linnégatan', 'Skånegatan', 'Södermalmsallén', 'Odengatan', 'Götgatan',\r\n 'Ringvägen', 'Hornsgatan', 'Folkungagatan', 'Östermalmsgatan', 'Norrtullsgatan'\r\n ],\r\n cities: [\r\n 'Stockholm', 'Göteborg', 'Malmö', 'Uppsala', 'Västerås', 'Örebro', 'Linköping',\r\n 'Helsingborg', 'Jönköping', 'Norrköping', 'Lund', 'Umeå', 'Gävle', 'Borås',\r\n 'Eskilstuna', 'Södertälje', 'Karlstad', 'Täby', 'Växjö', 'Halmstad', 'Sundsvall',\r\n 'Luleå', 'Trollhättan', 'Östersund', 'Borlänge', 'Falun', 'Skellefteå', 'Kalmar'\r\n ],\r\n states: [\r\n 'Stockholm', 'Västra Götaland', 'Skåne', 'Uppsala', 'Västmanland', 'Örebro',\r\n 'Östergötland', 'Jönköping', 'Kronoberg', 'Kalmar', 'Gotland', 'Blekinge',\r\n 'Halland', 'Värmland', 'Dalarna', 'Gävleborg', 'Västernorrland', 'Jämtland',\r\n 'Västerbotten', 'Norrbotten', 'Södermanland'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Mjukvaruingenjör', 'Projektledare', 'Dataanalytiker', 'Marknadschef',\r\n 'Säljare', 'Revisor', 'HR-chef', 'Designer', 'Driftschef', 'Affärsanalytiker',\r\n 'Produktchef', 'Systemadministratör', 'Kvalitetsingenjör', 'Utvecklare'\r\n ],\r\n departments: [\r\n 'Teknik', 'Marknadsföring', 'Försäljning', 'Personal', 'Ekonomi', 'Drift',\r\n 'Kundtjänst', 'IT', 'Forskning och utveckling', 'Juridik', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const apartment = Random.boolean() ? ` lgh ${Random.int(1001, 1299)}` : '';\r\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nb_NO: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Per', 'Bjørn', 'Ole', 'Lars', 'Knut', 'Arne', 'Kjell', 'Tor', 'Svein',\r\n 'Thomas', 'Andreas', 'Martin', 'Daniel', 'Henrik', 'Magnus', 'Jonas', 'Emil',\r\n 'Alexander', 'Markus', 'Kristian', 'Fredrik', 'Marius', 'Erik', 'Øyvind',\r\n 'Adrian', 'Lucas', 'Tobias', 'Noah', 'Oliver', 'William', 'Filip', 'Jakob'\r\n ],\r\n firstNamesFemale: [\r\n 'Anne', 'Marit', 'Inger', 'Kari', 'Nina', 'Lise', 'Eva', 'Hilde', 'Ingrid',\r\n 'Emma', 'Nora', 'Sara', 'Sofie', 'Emilie', 'Ingrid', 'Thea', 'Maja', 'Eline',\r\n 'Ida', 'Julie', 'Maria', 'Vilde', 'Frida', 'Amalie', 'Victoria', 'Anna',\r\n 'Mathilde', 'Mia', 'Hanna', 'Linnea', 'Leah', 'Isabella', 'Ella', 'Hedda'\r\n ],\r\n lastNames: [\r\n 'Hansen', 'Johansen', 'Olsen', 'Larsen', 'Andersen', 'Pedersen', 'Nilsen', 'Kristiansen',\r\n 'Jensen', 'Karlsen', 'Johnsen', 'Pettersen', 'Eriksen', 'Berg', 'Haugen', 'Hagen',\r\n 'Johannessen', 'Andreassen', 'Jacobsen', 'Olsen', 'Solberg', 'Moen', 'Lund', 'Bakke',\r\n 'Lie', 'Strand', 'Nguyen', 'Halvorsen', 'Svendsen', 'Martinsen', 'Mikkelsen'\r\n ],\r\n streets: [\r\n 'Storgata', 'Kirkegata', 'Hovedgata', 'Karl Johans gate', 'Prinsens gate',\r\n 'Torgallmenningen', 'Grensen', 'Stortingsgata', 'Bogstadveien', 'Bygdøy allé',\r\n 'Parkveien', 'Skippergata', 'Kongens gate', 'Drammensveien', 'Pilestredet',\r\n 'Ullevålsveien', 'Markveien', 'Thorvald Meyers gate', 'Akersgata', 'Møllergata'\r\n ],\r\n cities: [\r\n 'Oslo', 'Bergen', 'Stavanger', 'Trondheim', 'Drammen', 'Fredrikstad', 'Kristiansand',\r\n 'Sandnes', 'Tromsø', 'Sarpsborg', 'Skien', 'Ålesund', 'Sandefjord', 'Haugesund',\r\n 'Tønsberg', 'Moss', 'Porsgrunn', 'Bodø', 'Arendal', 'Hamar', 'Larvik', 'Halden',\r\n 'Askøy', 'Lillehammer', 'Mo i Rana', 'Molde', 'Horten', 'Gjøvik', 'Kongsberg'\r\n ],\r\n states: [\r\n 'Oslo', 'Viken', 'Innlandet', 'Vestfold og Telemark', 'Agder', 'Rogaland',\r\n 'Vestland', 'Møre og Romsdal', 'Trøndelag', 'Nordland', 'Troms og Finnmark'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Programvareingeniør', 'Prosjektleder', 'Dataanalytiker', 'Markedssjef',\r\n 'Selger', 'Regnskapsfører', 'HR-leder', 'Designer', 'Driftsleder',\r\n 'Forretningsanalytiker', 'Produktleder', 'Systemadministrator', 'Kvalitetsingeniør'\r\n ],\r\n departments: [\r\n 'Ingeniør', 'Markedsføring', 'Salg', 'Personale', 'Økonomi', 'Drift',\r\n 'Kundeservice', 'IT', 'Forskning og utvikling', 'Juridisk', 'Administrasjon'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const da_DK: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Morten', 'Peter', 'Jens', 'Michael', 'Lars', 'Henrik', 'Thomas', 'Søren',\r\n 'Christian', 'Martin', 'Niels', 'Rasmus', 'Anders', 'Mikkel', 'Frederik',\r\n 'Mathias', 'Casper', 'Simon', 'Mads', 'Jacob', 'Emil', 'Magnus', 'Lucas',\r\n 'Oliver', 'William', 'Noah', 'Oscar', 'Victor', 'Alexander', 'Sebastian'\r\n ],\r\n firstNamesFemale: [\r\n 'Anne', 'Kirsten', 'Mette', 'Hanne', 'Lene', 'Susanne', 'Camilla', 'Louise',\r\n 'Maria', 'Sofie', 'Julie', 'Emma', 'Ida', 'Anna', 'Laura', 'Sarah', 'Mathilde',\r\n 'Freja', 'Clara', 'Isabella', 'Alma', 'Ella', 'Karla', 'Josefine', 'Victoria',\r\n 'Caroline', 'Katrine', 'Line', 'Rikke', 'Trine', 'Charlotte', 'Maja'\r\n ],\r\n lastNames: [\r\n 'Nielsen', 'Jensen', 'Hansen', 'Pedersen', 'Andersen', 'Christensen', 'Larsen',\r\n 'Sørensen', 'Rasmussen', 'Jørgensen', 'Petersen', 'Madsen', 'Kristensen', 'Olsen',\r\n 'Thomsen', 'Christiansen', 'Poulsen', 'Johansen', 'Møller', 'Mortensen', 'Knudsen',\r\n 'Jakobsen', 'Laursen', 'Simonsen', 'Frederiksen', 'Kjær', 'Schmidt', 'Holm'\r\n ],\r\n streets: [\r\n 'Hovedgaden', 'Kirkevej', 'Skovvej', 'Parkvej', 'Strandvej', 'Møllevej',\r\n 'Skolevej', 'Birkevej', 'Rosenvej', 'Vestergade', 'Østergade', 'Nørregade',\r\n 'Søndergade', 'Tingvej', 'Lillevej', 'Storegade', 'Åvej', 'Byvej', 'Havnevej'\r\n ],\r\n cities: [\r\n 'København', 'Aarhus', 'Odense', 'Aalborg', 'Esbjerg', 'Randers', 'Kolding',\r\n 'Horsens', 'Vejle', 'Roskilde', 'Herning', 'Silkeborg', 'Næstved', 'Fredericia',\r\n 'Viborg', 'Køge', 'Holstebro', 'Taastrup', 'Slagelse', 'Hillerød', 'Sønderborg',\r\n 'Holbæk', 'Svendborg', 'Hjørring', 'Frederikshavn', 'Rønne', 'Nykøbing F'\r\n ],\r\n states: [\r\n 'Hovedstaden', 'Sjælland', 'Syddanmark', 'Midtjylland', 'Nordjylland'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareingeniør', 'Projektleder', 'Dataanalytiker', 'Marketingchef',\r\n 'Salgsrepræsentant', 'Revisor', 'HR-chef', 'Designer', 'Driftschef',\r\n 'Forretningsanalytiker', 'Produktchef', 'Systemadministrator', 'Kvalitetsingeniør'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Salg', 'HR', 'Økonomi', 'Drift', 'Kundeservice',\r\n 'IT', 'Forskning og udvikling', 'Juridisk', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const floor = Random.boolean() ? `, ${Random.int(1, 5)}. sal` : '';\r\n return `${street} ${number}${floor}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const fi_FI: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jari', 'Mika', 'Mikko', 'Juha', 'Petri', 'Jukka', 'Antti', 'Timo', 'Ville',\r\n 'Matti', 'Pekka', 'Sami', 'Kari', 'Markus', 'Teemu', 'Joonas', 'Lauri', 'Tuomas',\r\n 'Eero', 'Oskari', 'Valtteri', 'Aleksi', 'Oliver', 'Emil', 'Elias', 'Leo',\r\n 'Onni', 'Aatos', 'Väinö', 'Eino', 'Veikko', 'Seppo', 'Heikki', 'Kalevi'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Johanna', 'Sari', 'Hanna', 'Kaisa', 'Laura', 'Sanna', 'Minna',\r\n 'Tiina', 'Pirjo', 'Tuula', 'Eeva', 'Aino', 'Sofia', 'Emilia', 'Emma', 'Olivia',\r\n 'Aada', 'Helmi', 'Lilja', 'Elli', 'Isla', 'Venla', 'Linnea', 'Matilda', 'Aino',\r\n 'Kerttu', 'Ella', 'Anni', 'Iida', 'Sara', 'Oona', 'Pihla'\r\n ],\r\n lastNames: [\r\n 'Virtanen', 'Korhonen', 'Nieminen', 'Mäkinen', 'Hämäläinen', 'Laine', 'Heikkinen',\r\n 'Koskinen', 'Järvinen', 'Lehtonen', 'Lehtinen', 'Saarinen', 'Salminen', 'Heinonen',\r\n 'Niemi', 'Heikkilä', 'Kinnunen', 'Salonen', 'Tuominen', 'Laitinen', 'Turunen',\r\n 'Mattila', 'Rantanen', 'Karjalainen', 'Jokinen', 'Laaksonen', 'Savolainen', 'Mäkelä'\r\n ],\r\n streets: [\r\n 'Mannerheimintie', 'Hämeentie', 'Aleksanterinkatu', 'Esplanadi', 'Bulevardi',\r\n 'Pohjoinen Rautatiekatu', 'Fredrikinkatu', 'Iso Roobertinkatu', 'Kalevankatu',\r\n 'Töölönkatu', 'Runeberginkatu', 'Mechelininkatu', 'Hietaniemenkatu', 'Lapinlahdenkatu',\r\n 'Agricolankatu', 'Sturenkatu', 'Hämeentie', 'Koskelantie', 'Hitsaajankatu'\r\n ],\r\n cities: [\r\n 'Helsinki', 'Espoo', 'Tampere', 'Vantaa', 'Oulu', 'Turku', 'Jyväskylä', 'Lahti',\r\n 'Kuopio', 'Pori', 'Kouvola', 'Joensuu', 'Lappeenranta', 'Hämeenlinna', 'Vaasa',\r\n 'Rovaniemi', 'Seinäjoki', 'Mikkeli', 'Kotka', 'Salo', 'Porvoo', 'Kokkola',\r\n 'Lohja', 'Hyvinkää', 'Järvenpää', 'Rauma', 'Tuusula', 'Kajaani', 'Savonlinna'\r\n ],\r\n states: [\r\n 'Uusimaa', 'Varsinais-Suomi', 'Satakunta', 'Kanta-Häme', 'Pirkanmaa', 'Päijät-Häme',\r\n 'Kymenlaakso', 'Etelä-Karjala', 'Etelä-Savo', 'Pohjois-Savo', 'Pohjois-Karjala',\r\n 'Keski-Suomi', 'Etelä-Pohjanmaa', 'Pohjanmaa', 'Keski-Pohjanmaa', 'Pohjois-Pohjanmaa',\r\n 'Kainuu', 'Lappi', 'Ahvenanmaa'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ohjelmistokehittäjä', 'Projektipäällikkö', 'Data-analyytikko', 'Markkinointipäällikkö',\r\n 'Myyntiedustaja', 'Kirjanpitäjä', 'HR-päällikkö', 'Suunnittelija', 'Toimintapäällikkö',\r\n 'Liiketoiminta-analyytikko', 'Tuotepäällikkö', 'Järjestelmänvalvoja', 'Laatuinsinööri'\r\n ],\r\n departments: [\r\n 'Kehitys', 'Markkinointi', 'Myynti', 'Henkilöstöhallinto', 'Talous', 'Toiminnot',\r\n 'Asiakaspalvelu', 'IT', 'Tutkimus ja kehitys', 'Oikeusosasto', 'Hallinto'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const apartment = Random.boolean() ? ` ${Random.int(1, 99)}` : '';\r\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_AR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Juan', 'Carlos', 'José', 'Luis', 'Jorge', 'Ricardo', 'Daniel', 'Marcelo',\r\n 'Alejandro', 'Pablo', 'Diego', 'Martín', 'Fernando', 'Gonzalo', 'Matías',\r\n 'Sebastián', 'Nicolás', 'Federico', 'Gabriel', 'Andrés', 'Ezequiel', 'Facundo',\r\n 'Maximiliano', 'Rodrigo', 'Germán', 'Luciano', 'Ignacio', 'Agustín', 'Franco'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Ana', 'Laura', 'Marta', 'Silvia', 'Andrea', 'Gabriela', 'Claudia',\r\n 'Carolina', 'Valeria', 'Natalia', 'Paula', 'Verónica', 'Cecilia', 'Patricia',\r\n 'Sofía', 'Martina', 'Lucía', 'Valentina', 'Florencia', 'Camila', 'Milagros',\r\n 'Victoria', 'Catalina', 'Antonella', 'Agustina', 'Micaela', 'Julieta', 'Guadalupe'\r\n ],\r\n lastNames: [\r\n 'González', 'Rodríguez', 'Fernández', 'López', 'Martínez', 'García', 'Pérez', 'Gómez',\r\n 'Sánchez', 'Romero', 'Álvarez', 'Díaz', 'Torres', 'Ruiz', 'Ramírez', 'Flores',\r\n 'Benítez', 'Acosta', 'Medina', 'Castro', 'Molina', 'Moreno', 'Suárez', 'Vega',\r\n 'Pereyra', 'Gutiérrez', 'Silva', 'Vargas', 'Cabrera', 'Ramos', 'Navarro', 'Sosa'\r\n ],\r\n streets: [\r\n 'Avenida Corrientes', 'Avenida Santa Fe', 'Avenida 9 de Julio', 'Avenida Rivadavia',\r\n 'Calle Florida', 'Avenida de Mayo', 'Calle San Martín', 'Avenida Callao',\r\n 'Calle Lavalle', 'Avenida Córdoba', 'Avenida Belgrano', 'Calle Reconquista',\r\n 'Avenida Libertador', 'Calle Maipú', 'Avenida Pueyrredón', 'Calle Defensa',\r\n 'Avenida Independencia', 'Calle Rodríguez Peña', 'Avenida Las Heras'\r\n ],\r\n cities: [\r\n 'Buenos Aires', 'Córdoba', 'Rosario', 'Mendoza', 'La Plata', 'San Miguel de Tucumán',\r\n 'Mar del Plata', 'Salta', 'Santa Fe', 'San Juan', 'Resistencia', 'Neuquén',\r\n 'Corrientes', 'Santiago del Estero', 'Posadas', 'Bahía Blanca', 'Paraná',\r\n 'San Salvador de Jujuy', 'Formosa', 'La Rioja', 'Catamarca', 'San Luis', 'Río Cuarto'\r\n ],\r\n states: [\r\n 'Buenos Aires', 'Córdoba', 'Santa Fe', 'Mendoza', 'Tucumán', 'Entre Ríos',\r\n 'Salta', 'Chaco', 'Corrientes', 'Misiones', 'San Juan', 'Jujuy', 'Santiago del Estero',\r\n 'San Luis', 'Catamarca', 'La Rioja', 'Formosa', 'Neuquén', 'Río Negro',\r\n 'Chubut', 'Santa Cruz', 'Tierra del Fuego', 'La Pampa'\r\n ],\r\n zipCodePattern: '@####@@@',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\r\n 'Representante de Ventas', 'Contador', 'Gerente de RRHH', 'Diseñador', 'Gerente de Operaciones',\r\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'IT', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const piso = Random.int(1, 20);\r\n const depto = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${street} ${number}, Piso ${piso} Dpto ${depto}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letter = String.fromCharCode(65 + Random.int(0, 25));\r\n const digits = String(Random.int(1000, 9999));\r\n const letters = String.fromCharCode(65 + Random.int(0, 25)) +\r\n String.fromCharCode(65 + Random.int(0, 25)) +\r\n String.fromCharCode(65 + Random.int(0, 25));\r\n return `${letter}${digits}${letters}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_CL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Juan', 'Pedro', 'José', 'Luis', 'Carlos', 'Jorge', 'Miguel', 'Andrés',\r\n 'Francisco', 'Ricardo', 'Manuel', 'Alejandro', 'Diego', 'Sebastián', 'Cristian',\r\n 'Matías', 'Felipe', 'Gonzalo', 'Rodrigo', 'Javier', 'Pablo', 'Marcelo',\r\n 'Gabriel', 'Nicolás', 'Maximiliano', 'Tomás', 'Martín', 'Ignacio', 'Joaquín'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Carmen', 'Rosa', 'Ana', 'Isabel', 'Teresa', 'Gloria', 'Patricia',\r\n 'Claudia', 'Andrea', 'Carolina', 'Francisca', 'Daniela', 'Camila', 'Javiera',\r\n 'Valentina', 'Constanza', 'Fernanda', 'Catalina', 'Isidora', 'Sofía', 'Martina',\r\n 'Florencia', 'Antonia', 'Emilia', 'Trinidad', 'Maite', 'Josefa', 'Amanda'\r\n ],\r\n lastNames: [\r\n 'González', 'Muñoz', 'Rojas', 'Díaz', 'Pérez', 'Soto', 'Contreras', 'Silva',\r\n 'Martínez', 'Sepúlveda', 'Morales', 'Rodríguez', 'López', 'Fuentes', 'Hernández',\r\n 'Torres', 'Araya', 'Flores', 'Espinoza', 'Valenzuela', 'Castillo', 'Tapia',\r\n 'Reyes', 'Vásquez', 'Ramírez', 'Núñez', 'Pizarro', 'Carrasco', 'Gutiérrez', 'Herrera'\r\n ],\r\n streets: [\r\n 'Avenida Libertador Bernardo O\\'Higgins', 'Avenida Providencia', 'Avenida Apoquindo',\r\n 'Avenida Las Condes', 'Avenida Vicuña Mackenna', 'Avenida Grecia', 'Calle Huérfanos',\r\n 'Calle Agustinas', 'Avenida Pedro de Valdivia', 'Avenida Bilbao', 'Calle Bandera',\r\n 'Avenida República', 'Calle Estado', 'Avenida Irarrázaval', 'Avenida Ñuñoa'\r\n ],\r\n cities: [\r\n 'Santiago', 'Valparaíso', 'Viña del Mar', 'Concepción', 'La Serena', 'Antofagasta',\r\n 'Temuco', 'Rancagua', 'Talca', 'Arica', 'Puerto Montt', 'Chillán', 'Iquique',\r\n 'Los Ángeles', 'Coyhaique', 'Punta Arenas', 'Valdivia', 'Osorno', 'Quillota',\r\n 'Curicó', 'Calama', 'Copiapó', 'Linares', 'Ovalle', 'San Antonio'\r\n ],\r\n states: [\r\n 'Región Metropolitana', 'Valparaíso', 'Biobío', 'Araucanía', 'Los Lagos',\r\n 'Maule', 'Antofagasta', 'Coquimbo', 'O\\'Higgins', 'Tarapacá', 'Los Ríos',\r\n 'Aysén', 'Magallanes', 'Atacama', 'Arica y Parinacota', 'Ñuble'\r\n ],\r\n zipCodePattern: '#######',\r\n jobTitles: [\r\n 'Ingeniero en Software', 'Jefe de Proyecto', 'Analista de Datos', 'Jefe de Marketing',\r\n 'Ejecutivo Comercial', 'Contador', 'Jefe de RRHH', 'Diseñador', 'Jefe de Operaciones',\r\n 'Analista de Negocios', 'Product Manager', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const depto = Random.int(1, 500);\r\n return `${street} ${number}, Depto ${depto}, ${city}, ${state}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000000, 9999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const th_TH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Somchai', 'Somsak', 'Chai', 'Niran', 'Anon', 'Thana', 'Korn', 'Pong',\r\n 'Arun', 'Wit', 'Sak', 'Nop', 'Chai', 'Manop', 'Anucha', 'Weerasak',\r\n 'Surasak', 'Prasert', 'Phong', 'Sombat', 'Narong', 'Wichit', 'Lek', 'Noi',\r\n 'Anurak', 'Sarawut', 'Kittipong', 'Jirawat', 'Thanawat', 'Apichai'\r\n ],\r\n firstNamesFemale: [\r\n 'Somying', 'Noi', 'Lek', 'Malee', 'Siriporn', 'Suda', 'Nittaya', 'Pornpan',\r\n 'Orathai', 'Wanida', 'Suwanna', 'Pranee', 'Rattana', 'Chanya', 'Supaporn',\r\n 'Areerat', 'Apinya', 'Waranya', 'Jirapha', 'Panida', 'Kanokwan', 'Sudarat',\r\n 'Naruemon', 'Wilai', 'Amara', 'Thanaporn', 'Pimsiri', 'Sirikul', 'Nutcha'\r\n ],\r\n lastNames: [\r\n 'Srisuk', 'Tantrakul', 'Wongcharoen', 'Pholchai', 'Saetang', 'Chanthara', 'Wattana',\r\n 'Ruangsri', 'Pornprasert', 'Thongchai', 'Suwannaphon', 'Chaiyaporn', 'Kingkaew',\r\n 'Intharasombat', 'Duangkaew', 'Maneekan', 'Somkhuan', 'Thepthong', 'Ratanaporn',\r\n 'Wongsawat', 'Chanthaburi', 'Phongsri', 'Methaphan', 'Rattanawong', 'Phongphan'\r\n ],\r\n streets: [\r\n 'Sukhumvit Road', 'Rama IV Road', 'Silom Road', 'Sathorn Road', 'Ratchadamri Road',\r\n 'Petchburi Road', 'Rama I Road', 'Phayathai Road', 'Ratchadaphisek Road',\r\n 'Vibhavadi Rangsit Road', 'Ladprao Road', 'Charoenkrung Road', 'Yaowarat Road',\r\n 'Ratchawithi Road', 'Lan Luang Road', 'Phra Athit Road', 'Khao San Road'\r\n ],\r\n cities: [\r\n 'Bangkok', 'Nonthaburi', 'Nakhon Ratchasima', 'Chiang Mai', 'Hat Yai', 'Udon Thani',\r\n 'Pak Kret', 'Khon Kaen', 'Chon Buri', 'Nakhon Si Thammarat', 'Rayong', 'Lampang',\r\n 'Ubon Ratchathani', 'Surat Thani', 'Phuket', 'Nakhon Sawan', 'Chiang Rai', 'Saraburi',\r\n 'Samut Prakan', 'Trang', 'Phitsanulok', 'Krabi', 'Songkhla', 'Phetchaburi'\r\n ],\r\n states: [\r\n 'Bangkok', 'Nonthaburi', 'Pathum Thani', 'Samut Prakan', 'Chiang Mai', 'Chon Buri',\r\n 'Nakhon Ratchasima', 'Khon Kaen', 'Surat Thani', 'Udon Thani', 'Phuket', 'Songkhla',\r\n 'Rayong', 'Nakhon Si Thammarat', 'Chiang Rai', 'Ubon Ratchathani', 'Phitsanulok'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const soi = Random.int(1, 50);\r\n const number = Random.int(1, 999);\r\n return `${number} Soi ${soi}, ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const vi_VN: LocaleDefinition = {\r\n lastNames: [\r\n 'Nguyen', 'Tran', 'Le', 'Pham', 'Hoang', 'Huynh', 'Phan', 'Vu', 'Vo', 'Dang',\r\n 'Bui', 'Do', 'Ngo', 'Duong', 'Ly', 'Dinh', 'Trinh', 'Ha', 'Mai', 'Truong',\r\n 'To', 'Dao', 'Lam', 'Chau', 'Doan', 'Tang', 'Quach', 'Cao', 'Tong', 'Thai'\r\n ],\r\n firstNamesMale: [\r\n 'Van', 'Minh', 'Duc', 'Tuan', 'Thanh', 'Hieu', 'Khang', 'Phong', 'Hung',\r\n 'Quang', 'Hoang', 'Nam', 'Duy', 'Hai', 'Long', 'Khanh', 'Son', 'Thang',\r\n 'Dat', 'Huy', 'Trung', 'Tai', 'Vinh', 'Cuong', 'Khoa', 'Anh', 'Bao', 'Quan',\r\n 'Tien', 'Kien', 'Linh', 'Binh', 'An', 'Phu'\r\n ],\r\n firstNamesFemale: [\r\n 'Thi', 'Anh', 'Lan', 'Huong', 'Mai', 'Thu', 'Linh', 'Phuong', 'Ha', 'Hoa',\r\n 'Hang', 'Thuy', 'Yen', 'Nga', 'Nhu', 'Quynh', 'Van', 'Tuyet', 'Hien', 'Nhung',\r\n 'Dieu', 'Tam', 'My', 'Trang', 'Ngoc', 'Thao', 'Chi', 'Vy', 'Uyen', 'Khanh',\r\n 'Nhi', 'Bich', 'Trinh', 'Minh', 'Kim', 'Hong'\r\n ],\r\n streets: [\r\n 'Le Loi', 'Nguyen Hue', 'Tran Hung Dao', 'Ly Thai To', 'Hai Ba Trung',\r\n 'Ba Trieu', 'Phan Chu Trinh', 'Hoang Dieu', 'Nguyen Thai Hoc', 'Nguyen Trai',\r\n 'Tran Phu', 'Le Duan', 'Vo Thi Sau', 'Nguyen Du', 'Dong Khoi', 'Pasteur',\r\n 'Dien Bien Phu', 'Cach Mang Thang Tam', 'Vo Van Tan', 'Tran Quoc Toan'\r\n ],\r\n cities: [\r\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Bien Hoa',\r\n 'Hue', 'Nha Trang', 'Buon Ma Thuot', 'Vung Tau', 'Quy Nhon', 'Nam Dinh',\r\n 'Thai Nguyen', 'Phan Thiet', 'Thai Binh', 'Vinh', 'My Tho', 'Rach Gia',\r\n 'Long Xuyen', 'Cam Ranh', 'Ha Long', 'Pleiku', 'Bac Lieu', 'Cao Lanh'\r\n ],\r\n states: [\r\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Dong Nai',\r\n 'Binh Duong', 'Ba Ria-Vung Tau', 'Khanh Hoa', 'Lam Dong', 'Thua Thien Hue',\r\n 'Quang Nam', 'Thanh Hoa', 'Nghe An', 'Hai Duong', 'Nam Dinh', 'Thai Nguyen',\r\n 'Bac Ninh', 'Vinh Phuc', 'Phu Tho', 'Long An', 'Tien Giang', 'Ben Tre'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const ward = Random.int(1, 20);\r\n const district = Random.int(1, 12);\r\n return `${number} ${street}, Ward ${ward}, District ${district}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ms_MY: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Ahmad', 'Ali', 'Hassan', 'Ismail', 'Ibrahim', 'Mohd', 'Abdullah', 'Yusof',\r\n 'Rahman', 'Aziz', 'Zulkifli', 'Hamid', 'Halim', 'Hakim', 'Amin', 'Rashid',\r\n 'Fahmi', 'Faiz', 'Hafiz', 'Amirul', 'Danial', 'Syafiq', 'Iqbal', 'Haikal',\r\n 'Rizal', 'Ammar', 'Zikri', 'Arif', 'Ashraf', 'Firdaus', 'Nabil', 'Hakimi'\r\n ],\r\n firstNamesFemale: [\r\n 'Siti', 'Nur', 'Norain', 'Farah', 'Aisha', 'Zainab', 'Fatimah', 'Maryam',\r\n 'Amira', 'Sarah', 'Alya', 'Nadia', 'Sofea', 'Hanna', 'Aisyah', 'Najwa',\r\n 'Qistina', 'Irdina', 'Balqis', 'Ain', 'Nasuha', 'Izyan', 'Natasha', 'Erina',\r\n 'Fatin', 'Hanis', 'Syahirah', 'Insyirah', 'Marissa', 'Zulaikha', 'Nabila'\r\n ],\r\n lastNames: [\r\n 'Abdullah', 'Ahmad', 'Mohamed', 'Ibrahim', 'Hassan', 'Ismail', 'Rahman', 'Ali',\r\n 'Omar', 'Osman', 'Yusof', 'Aziz', 'Hamid', 'Salleh', 'Idris', 'Daud', 'Bakar',\r\n 'Mansor', 'Hussain', 'Yasin', 'Karim', 'Samad', 'Sulaiman', 'Hashim', 'Ramli',\r\n 'Harun', 'Wahab', 'Zain', 'Latif', 'Rashid', 'Ghani', 'Nasir', 'Rahim'\r\n ],\r\n streets: [\r\n 'Jalan Raja', 'Jalan Sultan', 'Jalan Tun Razak', 'Jalan Ampang', 'Jalan Bukit Bintang',\r\n 'Jalan Masjid India', 'Jalan Tuanku Abdul Rahman', 'Jalan Pudu', 'Jalan Imbi',\r\n 'Jalan Hang Tuah', 'Jalan Petaling', 'Jalan Chow Kit', 'Jalan Ipoh', 'Jalan Kelang Lama',\r\n 'Jalan Tun Perak', 'Jalan Munshi Abdullah', 'Jalan Genting Klang', 'Jalan Pahang'\r\n ],\r\n cities: [\r\n 'Kuala Lumpur', 'George Town', 'Ipoh', 'Shah Alam', 'Petaling Jaya', 'Johor Bahru',\r\n 'Malacca City', 'Alor Setar', 'Kuching', 'Kota Kinabalu', 'Seremban', 'Kuantan',\r\n 'Klang', 'Subang Jaya', 'Kota Bharu', 'Sandakan', 'Kuala Terengganu', 'Miri',\r\n 'Kangar', 'Putrajaya', 'Cyberjaya', 'Taiping', 'Sibu', 'Muar', 'Batu Pahat'\r\n ],\r\n states: [\r\n 'Selangor', 'Johor', 'Penang', 'Perak', 'Kedah', 'Pahang', 'Negeri Sembilan',\r\n 'Melaka', 'Kelantan', 'Terengganu', 'Perlis', 'Sabah', 'Sarawak',\r\n 'Kuala Lumpur', 'Putrajaya', 'Labuan'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const taman = Random.pick(['Taman', 'Bandar', 'Kampung']);\r\n const area = Random.pick(['Indah', 'Jaya', 'Perdana', 'Utama', 'Sentosa']);\r\n return `No. ${number}, ${street}, ${taman} ${area}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_SG: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Wei Ming', 'Jun Hao', 'Ryan', 'Ethan', 'Kai', 'Zhi Hao', 'Darren', 'Marcus',\r\n 'Nicholas', 'Brandon', 'Wei Jie', 'Joshua', 'Matthew', 'Daniel', 'Benjamin',\r\n 'Aaron', 'Isaac', 'Jayden', 'Aiden', 'Sean', 'Adrian', 'Xavier', 'Lucas',\r\n 'Nathan', 'Tyler', 'Arjun', 'Ravi', 'Kumar', 'Raj', 'Vikram'\r\n ],\r\n firstNamesFemale: [\r\n 'Hui Ling', 'Xin Yi', 'Rachel', 'Chloe', 'Emma', 'Ying Xuan', 'Sarah', 'Emily',\r\n 'Michelle', 'Nicole', 'Angela', 'Amanda', 'Cheryl', 'Joyce', 'Melissa', 'Sophia',\r\n 'Isabelle', 'Natalie', 'Ashley', 'Crystal', 'Priya', 'Divya', 'Kavitha', 'Ananya',\r\n 'Shreya', 'Mei Ling', 'Li Ying', 'Jia Yi', 'Shi Hui', 'Wei Ting'\r\n ],\r\n lastNames: [\r\n 'Tan', 'Lim', 'Lee', 'Ng', 'Ong', 'Wong', 'Goh', 'Chua', 'Chan', 'Koh',\r\n 'Teo', 'Ang', 'Yeo', 'Lau', 'Tay', 'Ho', 'Low', 'Sim', 'Chia', 'Toh',\r\n 'Kumar', 'Singh', 'Kaur', 'Rahman', 'Ali', 'Hassan', 'Ahmad', 'Mohamed',\r\n 'Abdullah', 'Ibrahim', 'Chen', 'Wang', 'Zhang', 'Liu', 'Yang'\r\n ],\r\n streets: [\r\n 'Orchard Road', 'Raffles Boulevard', 'Shenton Way', 'Marina Boulevard', 'Beach Road',\r\n 'North Bridge Road', 'South Bridge Road', 'Collyer Quay', 'Robinson Road', 'Cecil Street',\r\n 'Eu Tong Sen Street', 'Serangoon Road', 'Geylang Road', 'Balestier Road', 'Thomson Road',\r\n 'Bukit Timah Road', 'Clementi Road', 'Jurong East Avenue', 'Ang Mo Kio Avenue', 'Tampines Avenue'\r\n ],\r\n cities: [\r\n 'Singapore', 'Woodlands', 'Tampines', 'Jurong East', 'Ang Mo Kio', 'Bedok',\r\n 'Hougang', 'Yishun', 'Sembawang', 'Bukit Panjang', 'Choa Chu Kang', 'Punggol',\r\n 'Sengkang', 'Pasir Ris', 'Clementi', 'Bukit Batok', 'Toa Payoh', 'Queenstown'\r\n ],\r\n states: [\r\n 'Central Region', 'North Region', 'North-East Region', 'East Region', 'West Region'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Executive', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const block = Random.int(1, 999);\r\n const unit = `#${Random.int(1, 40).toString().padStart(2, '0')}-${Random.int(1, 999)}`;\r\n return `Blk ${block} ${street}, ${unit}, Singapore ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_PH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'John', 'Mark', 'Angelo', 'Joshua', 'James', 'Michael', 'Christian', 'Carl',\r\n 'Kenneth', 'Anthony', 'Kristian', 'Daniel', 'Joseph', 'Gabriel', 'Rafael',\r\n 'Emmanuel', 'Nathaniel', 'Matthew', 'Andrew', 'Samuel', 'Diego', 'Luis',\r\n 'Marco', 'Paolo', 'Adrian', 'Ryan', 'Ethan', 'Jacob', 'Nathan', 'Vincent'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Princess', 'Angel', 'Andrea', 'Nicole', 'Michelle', 'Sarah',\r\n 'Angelica', 'Christine', 'Patricia', 'Mary', 'Rose', 'Joy', 'Grace', 'Faith',\r\n 'Hope', 'Kristine', 'Jasmine', 'Sofia', 'Isabella', 'Gabriela', 'Katrina',\r\n 'Samantha', 'Jessica', 'Jennifer', 'Stephanie', 'Alexandra', 'Alessandra', 'Bianca'\r\n ],\r\n lastNames: [\r\n 'dela Cruz', 'Garcia', 'Reyes', 'Ramos', 'Mendoza', 'Santos', 'Flores', 'Gonzales',\r\n 'Bautista', 'Cruz', 'Fernandez', 'Lopez', 'Perez', 'Martinez', 'Rivera', 'Torres',\r\n 'Aquino', 'Villanueva', 'Castro', 'Santiago', 'Morales', 'Valdez', 'Navarro',\r\n 'Alvarez', 'Salazar', 'Romero', 'Manuel', 'Castillo', 'Aguilar', 'Mercado'\r\n ],\r\n streets: [\r\n 'EDSA', 'Roxas Boulevard', 'Quezon Avenue', 'Taft Avenue', 'España Boulevard',\r\n 'Ayala Avenue', 'Ortigas Avenue', 'Shaw Boulevard', 'Commonwealth Avenue',\r\n 'C-5 Road', 'Katipunan Avenue', 'Magsaysay Avenue', 'Rizal Avenue', 'Del Pilar Street',\r\n 'Araneta Avenue', 'Aurora Boulevard', 'Marcos Highway', 'Bonifacio Drive'\r\n ],\r\n cities: [\r\n 'Manila', 'Quezon City', 'Makati', 'Pasig', 'Taguig', 'Pasay', 'Parañaque',\r\n 'Las Piñas', 'Muntinlupa', 'Caloocan', 'Malabon', 'Navotas', 'Valenzuela',\r\n 'Marikina', 'San Juan', 'Mandaluyong', 'Cebu City', 'Davao City', 'Zamboanga City',\r\n 'Cagayan de Oro', 'General Santos', 'Iloilo City', 'Bacolod', 'Baguio'\r\n ],\r\n states: [\r\n 'Metro Manila', 'Calabarzon', 'Central Luzon', 'Central Visayas', 'Western Visayas',\r\n 'Davao Region', 'Northern Mindanao', 'Ilocos Region', 'Cagayan Valley', 'Bicol Region',\r\n 'Eastern Visayas', 'Zamboanga Peninsula', 'SOCCSKSARGEN', 'Cordillera', 'MIMAROPA'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const barangay = Random.pick(['Barangay San Antonio', 'Barangay Santa Cruz', 'Barangay San Jose', 'Barangay Poblacion']);\r\n return `${number} ${street}, ${barangay}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_NZ: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'Jack', 'Noah', 'William', 'James', 'Lucas', 'Mason', 'Ethan', 'Leo',\r\n 'Liam', 'Benjamin', 'Hunter', 'Joshua', 'Samuel', 'Daniel', 'Matthew', 'Joseph',\r\n 'Thomas', 'Harry', 'Charlie', 'Jacob', 'Archie', 'George', 'Max', 'Oscar',\r\n 'Finn', 'Isaac', 'Connor', 'Ryan', 'Lachlan', 'Cooper', 'Riley', 'Flynn'\r\n ],\r\n firstNamesFemale: [\r\n 'Charlotte', 'Olivia', 'Amelia', 'Isla', 'Mia', 'Harper', 'Emily', 'Ella', 'Sophie',\r\n 'Ava', 'Lily', 'Grace', 'Chloe', 'Isabella', 'Ruby', 'Lucy', 'Zoe', 'Emma',\r\n 'Hannah', 'Aria', 'Scarlett', 'Poppy', 'Evelyn', 'Willow', 'Sienna', 'Ivy',\r\n 'Hazel', 'Aurora', 'Madison', 'Layla', 'Alice', 'Eleanor', 'Maya'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Wilson', 'Taylor', 'Brown', 'Williams', 'Jones', 'Anderson', 'White',\r\n 'Thompson', 'Davis', 'Martin', 'Clark', 'Robinson', 'Walker', 'Young', 'Harris',\r\n 'King', 'Scott', 'Green', 'Adams', 'Baker', 'Campbell', 'Mitchell', 'Roberts',\r\n 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart', 'Morris', 'Murphy'\r\n ],\r\n streets: [\r\n 'Queen Street', 'High Street', 'Main Street', 'Victoria Street', 'Lambton Quay',\r\n 'Courtenay Place', 'Cuba Street', 'Willis Street', 'The Terrace', 'Customhouse Quay',\r\n 'Karangahape Road', 'Ponsonby Road', 'Dominion Road', 'Great South Road', 'Broadway',\r\n 'Riccarton Road', 'Colombo Street', 'Cashel Street', 'Manchester Street', 'Hereford Street'\r\n ],\r\n cities: [\r\n 'Auckland', 'Wellington', 'Christchurch', 'Hamilton', 'Tauranga', 'Lower Hutt',\r\n 'Dunedin', 'Palmerston North', 'Napier', 'Porirua', 'Hibiscus Coast', 'New Plymouth',\r\n 'Rotorua', 'Whangarei', 'Nelson', 'Hastings', 'Invercargill', 'Upper Hutt',\r\n 'Gisborne', 'Taupo', 'Blenheim', 'Pukekohe', 'Timaru', 'Whanganui'\r\n ],\r\n states: [\r\n 'Auckland', 'Wellington', 'Canterbury', 'Waikato', 'Bay of Plenty', 'Otago',\r\n 'Manawatu-Wanganui', 'Hawke\\'s Bay', 'Northland', 'Taranaki', 'Southland',\r\n 'Nelson', 'Marlborough', 'Tasman', 'Gisborne', 'West Coast'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const unit = Random.boolean() ? `Unit ${Random.int(1, 50)}, ` : '';\r\n return `${unit}${number} ${street}, ${city} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_ZA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Liam', 'Joshua', 'Daniel', 'Matthew', 'Michael', 'Ethan', 'David', 'Ryan',\r\n 'Connor', 'Benjamin', 'Luke', 'Thabang', 'Sipho', 'Thabo', 'Mandla', 'Bongani',\r\n 'Jabulani', 'Sibusiso', 'Nkosinathi', 'Siyabonga', 'Andile', 'Lwazi', 'Sandile',\r\n 'Dylan', 'Tyler', 'Nathan', 'Christian', 'Kyle', 'Cameron', 'Jordan'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Olivia', 'Sarah', 'Jessica', 'Emily', 'Hannah', 'Nicole', 'Amy',\r\n 'Chloe', 'Sophie', 'Nomsa', 'Thandi', 'Zanele', 'Precious', 'Nomvula', 'Lindiwe',\r\n 'Sibongile', 'Nokuthula', 'Busisiwe', 'Nompumelelo', 'Zinhle', 'Ayanda', 'Noluthando',\r\n 'Madison', 'Mia', 'Kayla', 'Paige', 'Amelia', 'Grace', 'Isabella'\r\n ],\r\n lastNames: [\r\n 'Smith', 'van der Merwe', 'Botha', 'Naidoo', 'Pillay', 'Mthembu', 'Dlamini', 'Nkosi',\r\n 'Zulu', 'Ndlovu', 'Ngcobo', 'Khumalo', 'Sithole', 'Mahlangu', 'Molefe', 'Mokoena',\r\n 'Du Plessis', 'Pretorius', 'Nel', 'Meyer', 'Venter', 'Muller', 'Marais', 'Coetzee',\r\n 'Williams', 'Jones', 'Brown', 'Taylor', 'Johnson', 'Davies', 'Singh', 'Patel'\r\n ],\r\n streets: [\r\n 'Mandela Street', 'Church Street', 'Main Road', 'Voortrekker Road', 'Oxford Road',\r\n 'Rissik Street', 'Commissioner Street', 'Jorrisen Street', 'Rivonia Road', 'William Nicol Drive',\r\n 'Jan Smuts Avenue', 'Beyers Naude Drive', 'Long Street', 'Adderley Street', 'Strand Street',\r\n 'Kloof Street', 'Sea Point Promenade', 'Smith Street', 'Anton Lembede Street', 'Victoria Embankment'\r\n ],\r\n cities: [\r\n 'Johannesburg', 'Cape Town', 'Durban', 'Pretoria', 'Port Elizabeth', 'Bloemfontein',\r\n 'East London', 'Pietermaritzburg', 'Polokwane', 'Nelspruit', 'Kimberley', 'Rustenburg',\r\n 'George', 'Midrand', 'Centurion', 'Sandton', 'Soweto', 'Benoni', 'Boksburg',\r\n 'Germiston', 'Randburg', 'Roodepoort', 'Vereeniging', 'Welkom', 'Newcastle'\r\n ],\r\n states: [\r\n 'Gauteng', 'Western Cape', 'KwaZulu-Natal', 'Eastern Cape', 'Free State',\r\n 'Limpopo', 'Mpumalanga', 'North West', 'Northern Cape'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n return `${number} ${street}, ${city}, ${state}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pt_PT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'João', 'Francisco', 'Miguel', 'Rodrigo', 'Pedro', 'Tiago', 'Gonçalo', 'Diogo',\r\n 'José', 'António', 'Manuel', 'Carlos', 'Paulo', 'Rui', 'Luís', 'Bruno',\r\n 'Ricardo', 'Hugo', 'André', 'Nuno', 'Rafael', 'Daniel', 'David', 'Tomás',\r\n 'Bernardo', 'Martim', 'Santiago', 'Afonso', 'Duarte', 'Gabriel', 'Gustavo'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Ana', 'Beatriz', 'Sofia', 'Mariana', 'Inês', 'Carolina', 'Catarina',\r\n 'Rita', 'Joana', 'Francisca', 'Teresa', 'Helena', 'Isabel', 'Leonor', 'Lara',\r\n 'Sara', 'Marta', 'Margarida', 'Diana', 'Matilde', 'Alice', 'Mafalda', 'Adriana',\r\n 'Carlota', 'Constança', 'Gabriela', 'Luísa', 'Melissa', 'Raquel', 'Cristina'\r\n ],\r\n lastNames: [\r\n 'Silva', 'Santos', 'Ferreira', 'Pereira', 'Oliveira', 'Costa', 'Rodrigues', 'Martins',\r\n 'Jesus', 'Sousa', 'Fernandes', 'Gonçalves', 'Gomes', 'Lopes', 'Marques', 'Alves',\r\n 'Almeida', 'Ribeiro', 'Pinto', 'Carvalho', 'Teixeira', 'Moreira', 'Correia', 'Mendes',\r\n 'Nunes', 'Soares', 'Vieira', 'Monteiro', 'Cardoso', 'Rocha', 'Neves', 'Coelho'\r\n ],\r\n streets: [\r\n 'Avenida da Liberdade', 'Rua Augusta', 'Rua da Prata', 'Avenida Almirante Reis',\r\n 'Rua Garrett', 'Praça do Comércio', 'Rua de Santa Catarina', 'Avenida dos Aliados',\r\n 'Rua das Flores', 'Avenida da República', 'Rua do Ouro', 'Rua Direita', 'Rua da Madalena',\r\n 'Avenida Fontes Pereira de Melo', 'Rua Braamcamp', 'Rua Alexandre Herculano'\r\n ],\r\n cities: [\r\n 'Lisboa', 'Porto', 'Vila Nova de Gaia', 'Amadora', 'Braga', 'Coimbra', 'Funchal',\r\n 'Setúbal', 'Almada', 'Agualva-Cacém', 'Queluz', 'Rio Tinto', 'Barreiro', 'Aveiro',\r\n 'Évora', 'Odivelas', 'Corroios', 'Loures', 'Gondomar', 'Guimarães', 'Matosinhos',\r\n 'Faro', 'Portimão', 'Leiria', 'Viseu', 'Castelo Branco', 'Vila Real', 'Santarém'\r\n ],\r\n states: [\r\n 'Lisboa', 'Porto', 'Braga', 'Aveiro', 'Faro', 'Setúbal', 'Coimbra', 'Leiria',\r\n 'Viseu', 'Santarém', 'Viana do Castelo', 'Vila Real', 'Évora', 'Beja',\r\n 'Castelo Branco', 'Guarda', 'Portalegre', 'Bragança', 'Açores', 'Madeira'\r\n ],\r\n zipCodePattern: '####-###',\r\n jobTitles: [\r\n 'Engenheiro de Software', 'Gestor de Projeto', 'Analista de Dados', 'Gestor de Marketing',\r\n 'Representante de Vendas', 'Contabilista', 'Gestor de RH', 'Designer', 'Gestor de Operações',\r\n 'Analista de Negócios', 'Gestor de Produto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Finanças', 'Operações',\r\n 'Apoio ao Cliente', 'IT', 'Investigação e Desenvolvimento', 'Jurídico', 'Administração'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const floor = Random.int(1, 8);\r\n const door = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${street}, ${number}, ${floor}º ${door}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(1000, 9999));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const el_GR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Georgios', 'Ioannis', 'Konstantinos', 'Dimitrios', 'Nikolaos', 'Panagiotis', 'Vasileios',\r\n 'Christos', 'Athanasios', 'Michail', 'Spyridon', 'Andreas', 'Alexandros', 'Stefanos',\r\n 'Antonios', 'Theodoros', 'Evangelos', 'Ilias', 'Petros', 'Apostolos', 'Anastasios',\r\n 'Grigorios', 'Charalampos', 'Nikos', 'Kostas', 'Giorgos', 'Yannis', 'Dimitris', 'Marios'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Eleni', 'Aikaterini', 'Vasiliki', 'Sofia', 'Angeliki', 'Georgia', 'Dimitra',\r\n 'Konstantina', 'Paraskevi', 'Ioanna', 'Anastasia', 'Christina', 'Styliani', 'Fotini',\r\n 'Panagiota', 'Despina', 'Katerina', 'Anna', 'Alexandra', 'Irini', 'Nikoletta',\r\n 'Evangelia', 'Chrysoula', 'Theodora', 'Zoi', 'Antonia', 'Eleftheria', 'Marina'\r\n ],\r\n lastNames: [\r\n 'Papadopoulos', 'Pappas', 'Georgiou', 'Dimitriou', 'Nikolaou', 'Ioannou', 'Konstantinou',\r\n 'Christodoulou', 'Vasiliou', 'Athanasiou', 'Petrou', 'Andreou', 'Oikonomou', 'Karagiannis',\r\n 'Angelopoulos', 'Alexandrou', 'Michailidis', 'Georgiadis', 'Papadakis', 'Vlahos',\r\n 'Papageorgiou', 'Theodorou', 'Nikou', 'Economou', 'Panagiotou', 'Makris', 'Kostopoulos'\r\n ],\r\n streets: [\r\n 'Odos Ermou', 'Leoforos Vasilissis Sofias', 'Odos Panepistimiou', 'Odos Stadiou',\r\n 'Leoforos Alexandras', 'Odos Akadimias', 'Odos Patision', 'Leoforos Kifisias',\r\n 'Odos Solonos', 'Odos Athinas', 'Leoforos Mesogeion', 'Odos Voukourestiou',\r\n 'Plateia Syntagmatos', 'Odos Mitropoleos', 'Leoforos Vouliagmenis'\r\n ],\r\n cities: [\r\n 'Athens', 'Thessaloniki', 'Patras', 'Heraklion', 'Larissa', 'Volos', 'Ioannina',\r\n 'Chania', 'Chalcis', 'Serres', 'Katerini', 'Kalamata', 'Kavala', 'Rhodes',\r\n 'Agrinio', 'Trikala', 'Lamia', 'Kozani', 'Drama', 'Veria', 'Corfu', 'Xanthi'\r\n ],\r\n states: [\r\n 'Attica', 'Central Macedonia', 'Crete', 'Thessaly', 'Western Greece', 'Peloponnese',\r\n 'Epirus', 'Central Greece', 'Eastern Macedonia and Thrace', 'Ionian Islands',\r\n 'Western Macedonia', 'North Aegean', 'South Aegean', 'Mount Athos'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const cs_CZ: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jiří', 'Jan', 'Petr', 'Josef', 'Pavel', 'Martin', 'Tomáš', 'Jaroslav', 'Miroslav',\r\n 'Zdeněk', 'Václav', 'Milan', 'Michal', 'František', 'David', 'Lukáš', 'Jakub',\r\n 'Ondřej', 'Filip', 'Stanislav', 'Vojtěch', 'Adam', 'Radek', 'Daniel', 'Marek',\r\n 'Aleš', 'Roman', 'Ladislav', 'Karel', 'Patrik', 'Dominik', 'Matěj'\r\n ],\r\n firstNamesFemale: [\r\n 'Marie', 'Jana', 'Eva', 'Anna', 'Hana', 'Věra', 'Lenka', 'Alena', 'Petra',\r\n 'Kateřina', 'Lucie', 'Martina', 'Veronika', 'Jitka', 'Ivana', 'Michaela',\r\n 'Helena', 'Zuzana', 'Markéta', 'Andrea', 'Monika', 'Barbora', 'Tereza', 'Nikola',\r\n 'Simona', 'Kristýna', 'Natálie', 'Adéla', 'Eliška', 'Karolína', 'Daniela'\r\n ],\r\n lastNames: [\r\n 'Novák', 'Svoboda', 'Novotný', 'Dvořák', 'Černý', 'Procházka', 'Kučera', 'Veselý',\r\n 'Horáček', 'Němec', 'Pospíšil', 'Pokorný', 'Hájek', 'Jelínek', 'Král', 'Růžička',\r\n 'Beneš', 'Fiala', 'Sedláček', 'Doležal', 'Zeman', 'Kolář', 'Navrátil', 'Čermák',\r\n 'Urban', 'Vaněk', 'Blažek', 'Krejčí', 'Moravec', 'Marek', 'Štěpánek', 'Šimek'\r\n ],\r\n streets: [\r\n 'Václavské náměstí', 'Národní třída', 'Na Příkopě', 'Pařížská ulice', 'Karlova ulice',\r\n 'Nerudova ulice', 'Revolucní', 'Spálená', 'Vinohradská', 'Jugoslávská', 'Náměstí Míru',\r\n 'Jungmannova', 'Jindřišská', 'Sokolská', 'Žitná', 'Anglická', 'Italská', 'Rumunská'\r\n ],\r\n cities: [\r\n 'Praha', 'Brno', 'Ostrava', 'Plzeň', 'Liberec', 'Olomouc', 'České Budějovice',\r\n 'Hradec Králové', 'Ústí nad Labem', 'Pardubice', 'Zlín', 'Havířov', 'Kladno',\r\n 'Most', 'Opava', 'Frýdek-Místek', 'Jihlava', 'Teplice', 'Karviná', 'Karlovy Vary',\r\n 'Děčín', 'Chomutov', 'Přerov', 'Jablonec nad Nisou', 'Mladá Boleslav', 'Prostějov'\r\n ],\r\n states: [\r\n 'Hlavní město Praha', 'Středočeský', 'Jihočeský', 'Plzeňský', 'Karlovarský',\r\n 'Ústecký', 'Liberecký', 'Královéhradecký', 'Pardubický', 'Vysočina',\r\n 'Jihomoravský', 'Olomoucký', 'Zlínský', 'Moravskoslezský'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Softwarový inženýr', 'Projektový manažer', 'Datový analytik', 'Marketingový manažer',\r\n 'Obchodní zástupce', 'Účetní', 'Personalista', 'Designer', 'Provozní manažer',\r\n 'Business analytik', 'Produktový manažer', 'Správce systému', 'Kontrolor kvality'\r\n ],\r\n departments: [\r\n 'Technický', 'Marketing', 'Prodej', 'Lidské zdroje', 'Finance', 'Provoz',\r\n 'Zákaznický servis', 'IT', 'Výzkum a vývoj', 'Právní', 'Administrativa'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_AT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Michael', 'Thomas', 'Christian', 'Andreas', 'Stefan', 'Markus', 'Alexander', 'Wolfgang',\r\n 'Florian', 'Daniel', 'Patrick', 'Mario', 'Manuel', 'Christoph', 'Philipp', 'Matthias',\r\n 'David', 'Sebastian', 'Lukas', 'Johannes', 'Marcel', 'Dominik', 'Benjamin', 'Tobias',\r\n 'Simon', 'Martin', 'Peter', 'Franz', 'Josef', 'Maximilian', 'Jakob', 'Felix'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Julia', 'Sarah', 'Lisa', 'Laura', 'Katharina', 'Marie', 'Sophie', 'Lena',\r\n 'Magdalena', 'Christina', 'Nina', 'Hannah', 'Stefanie', 'Sandra', 'Daniela', 'Melanie',\r\n 'Jasmin', 'Verena', 'Elisabeth', 'Andrea', 'Maria', 'Petra', 'Sabine', 'Martina',\r\n 'Claudia', 'Eva', 'Michaela', 'Karin', 'Susanne', 'Barbara', 'Angelika'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Gruber', 'Wagner', 'Huber', 'Pichler', 'Steiner', 'Moser', 'Mayer',\r\n 'Berger', 'Hofer', 'Leitner', 'Bauer', 'Schmid', 'Schneider', 'Reiter', 'Fischer',\r\n 'Weber', 'Maier', 'Schwarz', 'Eder', 'Brunner', 'Lang', 'Hoffmann', 'Binder',\r\n 'Lechner', 'Wolf', 'Koller', 'Fuchs', 'Haas', 'Wimmer', 'Egger', 'Aigner'\r\n ],\r\n streets: [\r\n 'Hauptstraße', 'Bahnhofstraße', 'Kirchenplatz', 'Marktplatz', 'Dorfstraße', 'Schulstraße',\r\n 'Wiener Straße', 'Linzer Straße', 'Salzburger Straße', 'Grazer Straße', 'Ringstraße',\r\n 'Innsbrucker Straße', 'Am Ring', 'Schönbrunner Straße', 'Mariahilfer Straße',\r\n 'Kärntner Straße', 'Graben', 'Herrengasse', 'Landstraße', 'Favoritenstraße'\r\n ],\r\n cities: [\r\n 'Wien', 'Graz', 'Linz', 'Salzburg', 'Innsbruck', 'Klagenfurt', 'Villach', 'Wels',\r\n 'Sankt Pölten', 'Dornbirn', 'Steyr', 'Wiener Neustadt', 'Feldkirch', 'Bregenz',\r\n 'Leonding', 'Klosterneuburg', 'Baden', 'Wolfsberg', 'Leoben', 'Krems', 'Traun',\r\n 'Amstetten', 'Lustenau', 'Kapfenberg', 'Mödling', 'Hallein', 'Kufstein', 'Traiskirchen'\r\n ],\r\n states: [\r\n 'Wien', 'Niederösterreich', 'Oberösterreich', 'Steiermark', 'Tirol', 'Kärnten',\r\n 'Salzburg', 'Vorarlberg', 'Burgenland'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareentwickler', 'Projektmanager', 'Datenanalyst', 'Marketingleiter',\r\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\r\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\r\n ],\r\n departments: [\r\n 'Technik', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen', 'Betrieb',\r\n 'Kundenservice', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const door = Random.int(1, 30);\r\n return `${street} ${number}/${door}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_CH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'David', 'Luca', 'Noah', 'Leon', 'Nico', 'Jan', 'Marco', 'Lukas', 'Jonas', 'Sandro',\r\n 'Thomas', 'Michael', 'Daniel', 'Christian', 'Stefan', 'Patrick', 'Andreas', 'Markus',\r\n 'Peter', 'Martin', 'Marcel', 'Simon', 'Fabian', 'Tobias', 'Raphael', 'Samuel',\r\n 'Benjamin', 'Adrian', 'Florian', 'Dominik', 'Matthias', 'Alexander'\r\n ],\r\n firstNamesFemale: [\r\n 'Mia', 'Emma', 'Laura', 'Lara', 'Sophie', 'Anna', 'Julia', 'Sara', 'Lea', 'Nina',\r\n 'Lisa', 'Sarah', 'Melanie', 'Michelle', 'Jennifer', 'Nadine', 'Nicole', 'Stefanie',\r\n 'Andrea', 'Sandra', 'Claudia', 'Martina', 'Jasmin', 'Vanessa', 'Sabrina', 'Anja',\r\n 'Elena', 'Chiara', 'Alina', 'Elisa', 'Noemi', 'Ladina'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Meier', 'Schmid', 'Keller', 'Weber', 'Huber', 'Schneider', 'Meyer',\r\n 'Steiner', 'Fischer', 'Gerber', 'Brunner', 'Baumann', 'Frei', 'Zimmermann', 'Moser',\r\n 'Widmer', 'Wyss', 'Graf', 'Roth', 'Hofmann', 'Lehmann', 'Bühler', 'Hofer',\r\n 'Suter', 'Kuhn', 'Koch', 'Blanc', 'Kohler', 'Wenger', 'Lang', 'Kaufmann'\r\n ],\r\n streets: [\r\n 'Bahnhofstrasse', 'Hauptstrasse', 'Dorfstrasse', 'Bergstrasse', 'Kirchgasse',\r\n 'Schulhausstrasse', 'Poststrasse', 'Seestrasse', 'Talstrasse', 'Gartenstrasse',\r\n 'Waldhofstrasse', 'Industriestrasse', 'Rosenweg', 'Lindenweg', 'Parkstrasse',\r\n 'Feldweg', 'Mühlestrasse', 'Brunnenweg', 'Ringstrasse', 'Zürcherstrasse'\r\n ],\r\n cities: [\r\n 'Zürich', 'Genf', 'Basel', 'Lausanne', 'Bern', 'Winterthur', 'Luzern', 'St. Gallen',\r\n 'Lugano', 'Biel', 'Thun', 'Köniz', 'La Chaux-de-Fonds', 'Schaffhausen', 'Fribourg',\r\n 'Chur', 'Vernier', 'Neuchâtel', 'Uster', 'Sion', 'Emmen', 'Zug', 'Yverdon-les-Bains',\r\n 'Kriens', 'Rapperswil-Jona', 'Dübendorf', 'Montreux', 'Frauenfeld', 'Dietikon', 'Wil'\r\n ],\r\n states: [\r\n 'Zürich', 'Bern', 'Luzern', 'Uri', 'Schwyz', 'Obwalden', 'Nidwalden', 'Glarus',\r\n 'Zug', 'Fribourg', 'Solothurn', 'Basel-Stadt', 'Basel-Landschaft', 'Schaffhausen',\r\n 'Appenzell Ausserrhoden', 'Appenzell Innerrhoden', 'St. Gallen', 'Graubünden',\r\n 'Aargau', 'Thurgau', 'Ticino', 'Vaud', 'Valais', 'Neuchâtel', 'Genève', 'Jura'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareentwickler', 'Projektleiter', 'Datenanalyst', 'Marketingleiter',\r\n 'Verkäufer', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\r\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\r\n ],\r\n departments: [\r\n 'Technik', 'Marketing', 'Verkauf', 'Personal', 'Finanzen', 'Betrieb',\r\n 'Kundendienst', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nl_BE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Lars', 'Thomas', 'Lucas', 'Maxime', 'Nathan', 'Louis', 'Noah', 'Arthur', 'Victor',\r\n 'Adam', 'Mohamed', 'Nicolas', 'Alexander', 'Simon', 'Mathias', 'Robbe', 'Wout',\r\n 'Jan', 'Pieter', 'Koen', 'Bart', 'Tom', 'Kevin', 'David', 'Michael', 'Johan',\r\n 'Marc', 'Steven', 'Peter', 'Filip', 'Stijn', 'Bram'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Louise', 'Marie', 'Anna', 'Laura', 'Lisa', 'Julie', 'Noor', 'Lotte',\r\n 'Sara', 'Camille', 'Charlotte', 'Ella', 'Nina', 'Fien', 'Lena', 'Amber', 'Luna',\r\n 'Sarah', 'Sophie', 'Kim', 'Elke', 'Sofie', 'Eline', 'Jana', 'Karen', 'Nathalie',\r\n 'Katrien', 'Ann', 'Veerle', 'Ellen', 'Inge'\r\n ],\r\n lastNames: [\r\n 'Peeters', 'Janssens', 'Maes', 'Jacobs', 'Mertens', 'Willems', 'Claes', 'Goossens',\r\n 'Wouters', 'De Smet', 'De Vos', 'Hermans', 'Van de Velde', 'Vermeulen', 'Dubois',\r\n 'Lambert', 'Laurent', 'Simon', 'Leroy', 'Dupont', 'Martens', 'De Wilde', 'Hendrickx',\r\n 'Michiels', 'Van den Berg', 'Pauwels', 'Stevens', 'De Clercq', 'Coppens', 'Bogaert'\r\n ],\r\n streets: [\r\n 'Grote Markt', 'Kerkstraat', 'Dorpsstraat', 'Stationsstraat', 'Hoogstraat',\r\n 'Molenstraat', 'Nieuwstraat', 'Brugsestraat', 'Antwerpsestraat', 'Brusselsestraat',\r\n 'Koning Albertlaan', 'Koningin Elisabethlaan', 'Leopold II-laan', 'Mechelsesteenweg',\r\n 'Turnhoutsebaan', 'Leuvenselaan', 'Gentsebaan', 'Gentsestraat', 'Markt', 'Burg'\r\n ],\r\n cities: [\r\n 'Brussel', 'Antwerpen', 'Gent', 'Charleroi', 'Luik', 'Brugge', 'Namen', 'Leuven',\r\n 'Bergen', 'Mechelen', 'Aalst', 'La Louvière', 'Kortrijk', 'Hasselt', 'Sint-Niklaas',\r\n 'Oostende', 'Doornik', 'Genk', 'Seraing', 'Roeselare', 'Moeskroen', 'Verviers',\r\n 'Dendermonde', 'Beringen', 'Turnhout', 'Dilbeek', 'Heist-op-den-Berg', 'Vilvoorde'\r\n ],\r\n states: [\r\n 'Antwerpen', 'Limburg', 'Oost-Vlaanderen', 'West-Vlaanderen', 'Vlaams-Brabant',\r\n 'Waals-Brabant', 'Henegouwen', 'Luik', 'Luxemburg', 'Namen', 'Brussels Hoofdstedelijk Gewest'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\r\n 'Verkoopvertegenwoordiger', 'Boekhouder', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsingenieur'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\r\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const bus = Random.boolean() ? ` bus ${Random.int(1, 50)}` : '';\r\n return `${street} ${number}${bus}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const hu_HU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'László', 'István', 'József', 'János', 'Zoltán', 'Sándor', 'Gábor', 'Ferenc',\r\n 'Péter', 'Attila', 'Tamás', 'András', 'Balázs', 'Máté', 'Dávid', 'Ádám',\r\n 'Levente', 'Bence', 'Márk', 'Dominik', 'Norbert', 'Kristóf', 'Richárd', 'Viktor',\r\n 'Gyula', 'Imre', 'Csaba', 'Tibor', 'Mihály', 'Zsolt', 'Krisztián', 'Róbert'\r\n ],\r\n firstNamesFemale: [\r\n 'Mária', 'Erzsébet', 'Ilona', 'Katalin', 'Éva', 'Anna', 'Margit', 'Judit',\r\n 'Ágnes', 'Eszter', 'Andrea', 'Krisztina', 'Erika', 'Mónika', 'Zsuzsanna', 'Réka',\r\n 'Petra', 'Laura', 'Zsófia', 'Lilla', 'Dóra', 'Boglárka', 'Fanni', 'Viktória',\r\n 'Renáta', 'Nikolett', 'Tímea', 'Beatrix', 'Anita', 'Noémi', 'Emese', 'Orsolya'\r\n ],\r\n lastNames: [\r\n 'Nagy', 'Kovács', 'Tóth', 'Szabó', 'Horváth', 'Varga', 'Kiss', 'Molnár',\r\n 'Németh', 'Farkas', 'Balogh', 'Papp', 'Takács', 'Juhász', 'Lakatos', 'Mészáros',\r\n 'Oláh', 'Simon', 'Rácz', 'Fekete', 'Szűcs', 'Kocsis', 'Szilágyi', 'Török',\r\n 'Fehér', 'Balázs', 'Gál', 'Vincze', 'Szalai', 'Máté', 'Kozma', 'Hegedűs'\r\n ],\r\n streets: [\r\n 'Fő utca', 'Kossuth utca', 'Petőfi utca', 'Rákóczi út', 'Dózsa György út',\r\n 'Árpád utca', 'Vörösmarty utca', 'Bem utca', 'Ady Endre utca', 'József Attila utca',\r\n 'Mátyás király utca', 'Széchenyi utca', 'Deák Ferenc utca', 'Hősök tere',\r\n 'Andrássy út', 'Váci utca', 'Dohány utca', 'Nagykörút', 'Baross utca', 'Üllői út'\r\n ],\r\n cities: [\r\n 'Budapest', 'Debrecen', 'Szeged', 'Miskolc', 'Pécs', 'Győr', 'Nyíregyháza', 'Kecskemét',\r\n 'Székesfehérvár', 'Szombathely', 'Szolnok', 'Tatabánya', 'Kaposvár', 'Érd', 'Veszprém',\r\n 'Békéscsaba', 'Zalaegerszeg', 'Sopron', 'Eger', 'Nagykanizsa', 'Dunakeszi', 'Hódmezővásárhely',\r\n 'Szentendre', 'Cegléd', 'Vác', 'Gyula', 'Baja', 'Ózd', 'Salgótarján', 'Mosonmagyaróvár'\r\n ],\r\n states: [\r\n 'Budapest', 'Pest', 'Fejér', 'Komárom-Esztergom', 'Veszprém', 'Győr-Moson-Sopron',\r\n 'Vas', 'Zala', 'Baranya', 'Somogy', 'Tolna', 'Borsod-Abaúj-Zemplén', 'Heves',\r\n 'Nógrád', 'Hajdú-Bihar', 'Jász-Nagykun-Szolnok', 'Szabolcs-Szatmár-Bereg',\r\n 'Bács-Kiskun', 'Békés', 'Csongrád-Csanád'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Szoftverfejlesztő', 'Projektvezető', 'Adatelemző', 'Marketing menedzser',\r\n 'Értékesítési képviselő', 'Könyvelő', 'HR vezető', 'Tervező', 'Üzemeltetési vezető',\r\n 'Üzleti elemző', 'Termékmenedzser', 'Rendszergazda', 'Minőségbiztosítási mérnök'\r\n ],\r\n departments: [\r\n 'Mérnöki', 'Marketing', 'Értékesítés', 'Humán erőforrás', 'Pénzügy', 'Üzemeltetés',\r\n 'Ügyfélszolgálat', 'IT', 'Kutatás-fejlesztés', 'Jogi', 'Adminisztráció'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Hungarian name format: Last First\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${zipCode} ${city}, ${street} ${number}.`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ro_RO: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Ion', 'Gheorghe', 'Nicolae', 'Vasile', 'Constantin', 'Andrei', 'Mihai', 'Alexandru',\r\n 'Adrian', 'Cristian', 'Florin', 'Marian', 'Daniel', 'Ionuț', 'Gabriel', 'Bogdan',\r\n 'Ștefan', 'Vlad', 'Radu', 'George', 'David', 'Cosmin', 'Dragoș', 'Ciprian',\r\n 'Sorin', 'Dan', 'Viorel', 'Petru', 'Dumitru', 'Emil', 'Liviu', 'Ovidiu'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Elena', 'Ana', 'Ioana', 'Andreea', 'Alexandra', 'Mihaela', 'Cristina',\r\n 'Gabriela', 'Alina', 'Daniela', 'Monica', 'Simona', 'Diana', 'Raluca', 'Adriana',\r\n 'Laura', 'Nicoleta', 'Corina', 'Carmen', 'Oana', 'Roxana', 'Valentina', 'Camelia',\r\n 'Florentina', 'Georgeta', 'Mariana', 'Luminița', 'Silvia', 'Anca', 'Magdalena', 'Irina'\r\n ],\r\n lastNames: [\r\n 'Popescu', 'Ionescu', 'Popa', 'Radu', 'Dumitrescu', 'Georgescu', 'Stan', 'Stoica',\r\n 'Constantin', 'Munteanu', 'Dima', 'Vasile', 'Barbu', 'Preda', 'Mocanu', 'Ilie',\r\n 'Mihai', 'Dobre', 'Andrei', 'Stanciu', 'Tudor', 'Enache', 'Ștefan', 'Marin',\r\n 'Niculescu', 'Drăghici', 'Alexandru', 'Matei', 'Sandu', 'Cristea', 'Oprea', 'Munteanu'\r\n ],\r\n streets: [\r\n 'Strada Independenței', 'Bulevardul Unirii', 'Strada Republicii', 'Calea Victoriei',\r\n 'Strada Libertății', 'Bulevardul Carol I', 'Strada Mihai Viteazu', 'Strada Aviatorilor',\r\n 'Bulevardul Magheru', 'Strada Dorobanți', 'Calea Moșilor', 'Strada Lipscani',\r\n 'Bulevardul Brâncoveanu', 'Strada Obor', 'Calea Grivița', 'Bulevardul Pache Protopopescu'\r\n ],\r\n cities: [\r\n 'București', 'Cluj-Napoca', 'Timișoara', 'Iași', 'Constanța', 'Craiova', 'Brașov',\r\n 'Galați', 'Ploiești', 'Oradea', 'Brăila', 'Arad', 'Pitești', 'Sibiu', 'Bacău',\r\n 'Târgu Mureș', 'Baia Mare', 'Buzău', 'Botoșani', 'Satu Mare', 'Râmnicu Vâlcea',\r\n 'Suceava', 'Piatra Neamț', 'Drobeta-Turnu Severin', 'Focșani', 'Târgoviște', 'Tulcea'\r\n ],\r\n states: [\r\n 'București', 'Cluj', 'Timiș', 'Iași', 'Constanța', 'Dolj', 'Brașov', 'Galați',\r\n 'Prahova', 'Bihor', 'Brăila', 'Arad', 'Argeș', 'Sibiu', 'Bacău', 'Mureș',\r\n 'Maramureș', 'Buzău', 'Botoșani', 'Satu Mare', 'Vâlcea', 'Suceava', 'Neamț',\r\n 'Mehedinți', 'Vrancea', 'Dâmbovița', 'Tulcea', 'Bistrița-Năsăud', 'Caraș-Severin'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Inginer Software', 'Manager de Proiect', 'Analist de Date', 'Manager Marketing',\r\n 'Reprezentant Vânzări', 'Contabil', 'Manager HR', 'Designer', 'Manager Operațiuni',\r\n 'Analist de Afaceri', 'Manager Produs', 'Administrator Sistem', 'Inginer Calitate'\r\n ],\r\n departments: [\r\n 'Inginerie', 'Marketing', 'Vânzări', 'Resurse Umane', 'Finanțe', 'Operațiuni',\r\n 'Servicii Clienți', 'IT', 'Cercetare și Dezvoltare', 'Juridic', 'Administrație'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const bloc = Random.pick(['A', 'B', 'C', 'D']);\r\n const scara = Random.int(1, 4);\r\n const ap = Random.int(1, 50);\r\n return `${street} nr. ${number}, Bl. ${bloc}, Sc. ${scara}, Ap. ${ap}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_AE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohammed', 'Ahmed', 'Abdullah', 'Sultan', 'Khalid', 'Omar', 'Ali', 'Hassan',\r\n 'Saeed', 'Rashid', 'Hamad', 'Majid', 'Fahad', 'Nasser', 'Faisal', 'Yousef',\r\n 'Ibrahim', 'Abdulrahman', 'Saud', 'Mansour', 'Talal', 'Waleed', 'Tariq', 'Zayed',\r\n 'Rashed', 'Hamdan', 'Maktoum', 'Obaid', 'Salem', 'Marwan', 'Jassim', 'Nawaf'\r\n ],\r\n firstNamesFemale: [\r\n 'Fatima', 'Aisha', 'Mariam', 'Noura', 'Sara', 'Hessa', 'Latifa', 'Shamsa',\r\n 'Moza', 'Sheikha', 'Amna', 'Salama', 'Meitha', 'Hind', 'Maryam', 'Shamma',\r\n 'Reem', 'Layla', 'Dana', 'Khawla', 'Budoor', 'Jawaher', 'Maitha', 'Mouza',\r\n 'Shaikha', 'Alia', 'Asma', 'Hanan', 'Nada', 'Noor', 'Wadha', 'Mahra'\r\n ],\r\n lastNames: [\r\n 'Al Maktoum', 'Al Nahyan', 'Al Qasimi', 'Al Sharqi', 'Al Nuaimi', 'Al Mualla',\r\n 'Al Ali', 'Al Mansouri', 'Al Shamsi', 'Al Ketbi', 'Al Kaabi', 'Al Dhaheri',\r\n 'Al Mazrouei', 'Al Hamadi', 'Al Suwaidi', 'Al Zaabi', 'Al Marzouqi', 'Al Ahbabi',\r\n 'Al Mansoori', 'Al Blooshi', 'Al Muhairi', 'Al Shehhi', 'Al Hashimi', 'Al Zarooni',\r\n 'Al Falasi', 'Al Ameri', 'Al Kindi', 'Al Marri', 'Al Yasi', 'Al Mheiri'\r\n ],\r\n streets: [\r\n 'Sheikh Zayed Road', 'Khalifa Street', 'Hamdan Street', 'Al Wasl Road', 'Jumeirah Road',\r\n 'Al Khaleej Road', 'Airport Road', 'Al Rigga Road', 'Al Maktoum Road', 'Baniyas Road',\r\n 'Sheikh Mohammed Bin Rashid Boulevard', 'Al Salam Street', 'Al Ain Road', 'Corniche Road',\r\n 'Sheikh Rashid Road', 'Al Ittihad Road', 'Al Dhafra Street', 'Marina Walk', 'The Walk JBR'\r\n ],\r\n cities: [\r\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Al Ain', 'Ajman', 'Ras Al Khaimah', 'Fujairah',\r\n 'Umm Al Quwain', 'Khor Fakkan', 'Dibba', 'Kalba', 'Jebel Ali', 'Al Dhaid',\r\n 'Madinat Zayed', 'Liwa', 'Ghayathi', 'Ruwais', 'Al Mirfa', 'Mezaira'\r\n ],\r\n states: [\r\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Ajman', 'Umm Al Quwain', 'Ras Al Khaimah', 'Fujairah'\r\n ],\r\n zipCodePattern: '',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.pick(['Tower', 'Building', 'Plaza', 'Centre']);\r\n const buildingName = Random.pick(['Al Barsha', 'Marina', 'Downtown', 'Business Bay']);\r\n const office = Random.int(100, 999);\r\n return `Office ${office}, ${buildingName} ${building}, ${street}, ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return ''; // UAE doesn't use postal codes\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_SA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohammed', 'Abdullah', 'Fahd', 'Khalid', 'Faisal', 'Mansour', 'Saud', 'Abdulaziz',\r\n 'Turki', 'Sultan', 'Salman', 'Nasser', 'Talal', 'Bandar', 'Mishal', 'Abdulrahman',\r\n 'Yousef', 'Ahmed', 'Ali', 'Omar', 'Hassan', 'Saad', 'Faris', 'Rakan', 'Nawaf',\r\n 'Majed', 'Hamad', 'Waleed', 'Tariq', 'Rashid', 'Ibrahim', 'Ziyad'\r\n ],\r\n firstNamesFemale: [\r\n 'Noura', 'Sarah', 'Maha', 'Hessa', 'Lulwa', 'Latifa', 'Abeer', 'Reem', 'Hind',\r\n 'Jawaher', 'Mona', 'Amal', 'Deema', 'Lama', 'Nada', 'Hanan', 'Ghada', 'Basma',\r\n 'Arwa', 'Reema', 'Maryam', 'Fatima', 'Nora', 'Layla', 'Dana', 'Sama', 'Rana',\r\n 'Asma', 'Raghad', 'Wafa', 'Anoud', 'Atheer'\r\n ],\r\n lastNames: [\r\n 'Al Saud', 'Al Otaibi', 'Al Ghamdi', 'Al Zahrani', 'Al Harbi', 'Al Qahtani',\r\n 'Al Shehri', 'Al Malki', 'Al Dosari', 'Al Mutairi', 'Al Rashid', 'Al Saeed',\r\n 'Al Mansour', 'Al Juhani', 'Al Anazi', 'Al Shamrani', 'Al Subai', 'Al Yami',\r\n 'Al Faisal', 'Al Turki', 'Al Khalifa', 'Al Abdulaziz', 'Al Thani', 'Al Dawsari',\r\n 'Al Shaalan', 'Al Balawi', 'Al Ahmadi', 'Al Sulaiman', 'Al Mubarak', 'Al Hamad'\r\n ],\r\n streets: [\r\n 'King Fahd Road', 'King Abdullah Road', 'King Abdulaziz Road', 'Olaya Street',\r\n 'Tahlia Street', 'Madinah Road', 'Makkah Road', 'Al Urubah Road', 'Prince Mohammed Road',\r\n 'King Khalid Road', 'Al Malaz Street', 'Al Imam Saud Road', 'Al Amir Sultan Road',\r\n 'Corniche Road', 'Airport Road', 'Al Kharj Road', 'Riyadh Park Road', 'King Saud Road'\r\n ],\r\n cities: [\r\n 'Riyadh', 'Jeddah', 'Makkah', 'Madinah', 'Dammam', 'Khobar', 'Dhahran', 'Jubail',\r\n 'Tabuk', 'Abha', 'Khamis Mushait', 'Buraidah', 'Hail', 'Najran', 'Yanbu', 'Jazan',\r\n 'Al Ahsa', 'Taif', 'Qatif', 'Al Kharj', 'Ras Tanura', 'Hafar Al Batin', 'Arar', 'Sakaka'\r\n ],\r\n states: [\r\n 'Riyadh', 'Makkah', 'Madinah', 'Eastern Province', 'Asir', 'Tabuk', 'Qassim',\r\n 'Hail', 'Northern Borders', 'Jazan', 'Najran', 'Al Bahah', 'Al Jouf'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const district = Random.pick(['Al Malaz', 'Al Olaya', 'Al Naseem', 'Al Salamah', 'Al Rawdah']);\r\n const buildingNumber = Random.int(1000, 9999);\r\n return `Building ${buildingNumber}, ${district}, ${street}, ${city} ${zipCode}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_EG: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohamed', 'Ahmed', 'Mahmoud', 'Ali', 'Omar', 'Youssef', 'Hassan', 'Amr',\r\n 'Khaled', 'Ibrahim', 'Mustafa', 'Osama', 'Tamer', 'Hossam', 'Karim', 'Tarek',\r\n 'Sherif', 'Adel', 'Walid', 'Ashraf', 'Magdy', 'Hazem', 'Hany', 'Ayman',\r\n 'Ramy', 'Wael', 'Essam', 'Medhat', 'Samir', 'Fathy', 'Samy', 'Nabil'\r\n ],\r\n firstNamesFemale: [\r\n 'Fatma', 'Mona', 'Nour', 'Mariam', 'Sara', 'Nada', 'Heba', 'Aya', 'Salma',\r\n 'Yasmin', 'Rana', 'Layla', 'Hala', 'Dina', 'Rania', 'Amira', 'Eman', 'Noha',\r\n 'Sahar', 'Nagwa', 'Manal', 'Somaya', 'Ghada', 'Amal', 'Nawal', 'Hanan',\r\n 'Maha', 'Samira', 'Hanaa', 'Rabab', 'Soha', 'Menna'\r\n ],\r\n lastNames: [\r\n 'Mohamed', 'Ahmed', 'Ali', 'Hassan', 'Ibrahim', 'Mahmoud', 'Youssef', 'Abdel Rahman',\r\n 'Abdel Aziz', 'Abdel Fattah', 'Abdel Hamid', 'El Sayed', 'El Shahat', 'Khalil',\r\n 'Mostafa', 'Salah', 'Fouad', 'Rashad', 'Farouk', 'Shawky', 'Refaat', 'Abdallah',\r\n 'El Sherbiny', 'El Maghraby', 'El Masry', 'El Naggar', 'El Sisi', 'El Din', 'Mansour'\r\n ],\r\n streets: [\r\n 'Tahrir Street', 'Ramses Street', 'Salah Salem Street', 'Mohamed Farid Street',\r\n 'Qasr El Nil Street', 'Talaat Harb Street', 'El Haram Street', 'Nasr Road',\r\n 'Makram Ebeid Street', 'Mostafa El Nahhas Street', 'El Geish Street', 'El Nozha Street',\r\n 'Abbas El Akkad Street', 'Ahmed Orabi Street', 'Port Said Street', 'October Bridge'\r\n ],\r\n cities: [\r\n 'Cairo', 'Alexandria', 'Giza', 'Shubra El Kheima', 'Port Said', 'Suez', 'Luxor',\r\n 'Mansoura', 'El Mahalla El Kubra', 'Tanta', 'Asyut', 'Ismailia', 'Faiyum', 'Zagazig',\r\n 'Aswan', 'Damietta', 'Damanhur', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Hurghada',\r\n 'Kafr El Sheikh', 'Arish', 'Mallawi', '6th of October City', 'Sharm El Sheikh'\r\n ],\r\n states: [\r\n 'Cairo', 'Alexandria', 'Giza', 'Qalyubia', 'Port Said', 'Suez', 'Luxor',\r\n 'Dakahlia', 'Gharbia', 'Sharqia', 'Asyut', 'Ismailia', 'Faiyum', 'Beheira',\r\n 'Aswan', 'Damietta', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Red Sea',\r\n 'Kafr El Sheikh', 'North Sinai', 'South Sinai', 'Matruh', 'New Valley'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 999);\r\n const floor = Random.int(1, 12);\r\n const apartment = Random.int(1, 50);\r\n return `Building ${building}, Floor ${floor}, Apartment ${apartment}, ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const he_IL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'David', 'Moshe', 'Yosef', 'Daniel', 'Uri', 'Avi', 'Amit', 'Or', 'Yonatan', 'Eitan',\r\n 'Noam', 'Itai', 'Rotem', 'Lior', 'Omri', 'Alon', 'Yuval', 'Gal', 'Idan', 'Nir',\r\n 'Ariel', 'Ben', 'Shai', 'Yair', 'Tom', 'Adam', 'Tomer', 'Dor', 'Oren', 'Elad',\r\n 'Chen', 'Ran', 'Roi', 'Omer'\r\n ],\r\n firstNamesFemale: [\r\n 'Sarah', 'Miriam', 'Rachel', 'Tamar', 'Noa', 'Shira', 'Maya', 'Yael', 'Hila',\r\n 'Dana', 'Tal', 'Lihi', 'Noga', 'Adi', 'Roni', 'Noy', 'Shani', 'Mia', 'Ella',\r\n 'Yarden', 'Lian', 'Agam', 'Rotem', 'Lior', 'Amit', 'Carmel', 'Talia', 'Neta',\r\n 'Efrat', 'Gal', 'Inbar', 'Avigail', 'Chen'\r\n ],\r\n lastNames: [\r\n 'Cohen', 'Levy', 'Mizrahi', 'Peretz', 'Biton', 'Dahan', 'Avraham', 'Friedman',\r\n 'Azoulay', 'Yosef', 'Katz', 'Kaplan', 'Ben David', 'Ben Ami', 'Malka', 'Shapiro',\r\n 'Amar', 'Ohana', 'Elkayam', 'Golan', 'Goldberg', 'Stein', 'Schwartz', 'Levi',\r\n 'Ben Haim', 'Abuksis', 'Israeli', 'Sharon', 'Barak', 'Shalom', 'Weiss', 'Klein'\r\n ],\r\n streets: [\r\n 'Dizengoff Street', 'Rothschild Boulevard', 'Ben Yehuda Street', 'Allenby Street',\r\n 'King George Street', 'Jaffa Road', 'HaYarkon Street', 'Sderot Ben Gurion',\r\n 'Herzl Street', 'Weizmann Street', 'Basel Street', 'Nordau Boulevard', 'Ibn Gvirol Street',\r\n 'Rabin Square', 'Carmel Market', 'Neve Tzedek', 'Florentin', 'Sarona'\r\n ],\r\n cities: [\r\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Rishon LeZion', 'Petah Tikva', 'Ashdod', 'Netanya',\r\n 'Beer Sheva', 'Holon', 'Bnei Brak', 'Ramat Gan', 'Rehovot', 'Bat Yam', 'Ashkelon',\r\n 'Herzliya', 'Kfar Saba', 'Hadera', 'Modi\\'in', 'Nazareth', 'Lod', 'Ramla', 'Nahariya',\r\n 'Rosh HaAyin', 'Givatayim', 'Kiryat Ata', 'Raanana', 'Acre', 'Eilat'\r\n ],\r\n states: [\r\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Central', 'Southern', 'Northern', 'Judea and Samaria'\r\n ],\r\n zipCodePattern: '#######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 200);\r\n const apartment = Random.int(1, 50);\r\n return `${street} ${building}, Apt ${apartment}, ${city} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000000, 9999999));\r\n }\r\n};","import { Mimic } from './core/mimic';\r\nimport { localeRegistry } from './core/registry';\r\n\r\n// Import existing locales\r\nimport { en_US } from './locales/en_US';\r\nimport { ja_JP } from './locales/ja_JP';\r\nimport { id_ID } from './locales/id_ID';\r\nimport { de_DE } from './locales/de_DE';\r\nimport { fr_FR } from './locales/fr_FR';\r\nimport { pt_BR } from './locales/pt_BR';\r\nimport { ko_KR } from './locales/ko_KR';\r\nimport { en_AU } from './locales/en_AU';\r\n\r\n// Import new locales (20 original)\r\nimport { zh_CN } from './locales/zh_CN';\r\nimport { en_IN } from './locales/en_IN';\r\nimport { es_MX } from './locales/es_MX';\r\nimport { it_IT } from './locales/it_IT';\r\nimport { es_ES } from './locales/es_ES';\r\nimport { nl_NL } from './locales/nl_NL';\r\nimport { en_CA } from './locales/en_CA';\r\nimport { en_GB } from './locales/en_GB';\r\nimport { ru_RU } from './locales/ru_RU';\r\nimport { pl_PL } from './locales/pl_PL';\r\nimport { tr_TR } from './locales/tr_TR';\r\nimport { sv_SE } from './locales/sv_SE';\r\nimport { nb_NO } from './locales/nb_NO';\r\nimport { da_DK } from './locales/da_DK';\r\nimport { fi_FI } from './locales/fi_FI';\r\nimport { es_AR } from './locales/es_AR';\r\nimport { es_CL } from './locales/es_CL';\r\nimport { th_TH } from './locales/th_TH';\r\nimport { vi_VN } from './locales/vi_VN';\r\nimport { ms_MY } from './locales/ms_MY';\r\n\r\n// Import newest locales (16 additional)\r\nimport { en_SG } from './locales/en_SG';\r\nimport { en_PH } from './locales/en_PH';\r\nimport { en_NZ } from './locales/en_NZ';\r\nimport { en_ZA } from './locales/en_ZA';\r\nimport { pt_PT } from './locales/pt_PT';\r\nimport { el_GR } from './locales/el_GR';\r\nimport { cs_CZ } from './locales/cs_CZ';\r\nimport { de_AT } from './locales/de_AT';\r\nimport { de_CH } from './locales/de_CH';\r\nimport { nl_BE } from './locales/nl_BE';\r\nimport { hu_HU } from './locales/hu_HU';\r\nimport { ro_RO } from './locales/ro_RO';\r\nimport { ar_AE } from './locales/ar_AE';\r\nimport { ar_SA } from './locales/ar_SA';\r\nimport { ar_EG } from './locales/ar_EG';\r\nimport { he_IL } from './locales/he_IL';\r\n\r\n// Export types\r\nexport type {\r\n Gender,\r\n MetricSystem,\r\n PersonData,\r\n AddressData,\r\n PhysicalData,\r\n WorkData,\r\n AgeRange,\r\n LocaleData,\r\n LocaleDefinition\r\n} from './types';\r\n\r\n// Export core classes\r\nexport { Mimic } from './core/mimic';\r\nexport { Random } from './core/random';\r\nexport { localeRegistry } from './core/registry';\r\n\r\n/**\r\n * ============================================\r\n * AUTO-REGISTRATION OF LOCALES\r\n * ============================================\r\n * Register all locales with their aliases\r\n */\r\n\r\n// Original 8 locales\r\nlocaleRegistry.register('en_US', en_US, ['en', 'us', 'usa']);\r\nlocaleRegistry.register('ja_JP', ja_JP, ['ja', 'jp', 'japan']);\r\nlocaleRegistry.register('id_ID', id_ID, ['id', 'indonesia']);\r\nlocaleRegistry.register('de_DE', de_DE, ['de', 'germany', 'deutsch']);\r\nlocaleRegistry.register('fr_FR', fr_FR, ['fr', 'france']);\r\nlocaleRegistry.register('pt_BR', pt_BR, ['pt', 'br', 'brazil', 'brasil']);\r\nlocaleRegistry.register('ko_KR', ko_KR, ['ko', 'kr', 'korea']);\r\nlocaleRegistry.register('en_AU', en_AU, ['au', 'aus', 'australia']);\r\n\r\n// New 20 locales\r\nlocaleRegistry.register('zh_CN', zh_CN, ['zh', 'cn', 'china']);\r\nlocaleRegistry.register('en_IN', en_IN, ['in', 'india']);\r\nlocaleRegistry.register('es_MX', es_MX, ['mx', 'mexico']);\r\nlocaleRegistry.register('it_IT', it_IT, ['it', 'italy', 'italia']);\r\nlocaleRegistry.register('es_ES', es_ES, ['es', 'spain', 'españa']);\r\nlocaleRegistry.register('nl_NL', nl_NL, ['nl', 'netherlands', 'holland']);\r\nlocaleRegistry.register('en_CA', en_CA, ['ca', 'canada']);\r\nlocaleRegistry.register('en_GB', en_GB, ['gb', 'uk', 'britain']);\r\nlocaleRegistry.register('ru_RU', ru_RU, ['ru', 'russia']);\r\nlocaleRegistry.register('pl_PL', pl_PL, ['pl', 'poland', 'polska']);\r\nlocaleRegistry.register('tr_TR', tr_TR, ['tr', 'turkey', 'turkiye']);\r\nlocaleRegistry.register('sv_SE', sv_SE, ['sv', 'se', 'sweden', 'sverige']);\r\nlocaleRegistry.register('nb_NO', nb_NO, ['no', 'norway', 'norge']);\r\nlocaleRegistry.register('da_DK', da_DK, ['da', 'dk', 'denmark', 'danmark']);\r\nlocaleRegistry.register('fi_FI', fi_FI, ['fi', 'finland', 'suomi']);\r\nlocaleRegistry.register('es_AR', es_AR, ['ar', 'argentina']);\r\nlocaleRegistry.register('es_CL', es_CL, ['cl', 'chile']);\r\nlocaleRegistry.register('th_TH', th_TH, ['th', 'thailand']);\r\nlocaleRegistry.register('vi_VN', vi_VN, ['vi', 'vn', 'vietnam']);\r\nlocaleRegistry.register('ms_MY', ms_MY, ['ms', 'my', 'malaysia']);\r\n\r\n// Newest 16 locales\r\nlocaleRegistry.register('en_SG', en_SG, ['sg', 'singapore']);\r\nlocaleRegistry.register('en_PH', en_PH, ['ph', 'philippines']);\r\nlocaleRegistry.register('en_NZ', en_NZ, ['nz', 'new-zealand']);\r\nlocaleRegistry.register('en_ZA', en_ZA, ['za', 'south-africa']);\r\nlocaleRegistry.register('pt_PT', pt_PT, ['portugal']);\r\nlocaleRegistry.register('el_GR', el_GR, ['el', 'gr', 'greece']);\r\nlocaleRegistry.register('cs_CZ', cs_CZ, ['cs', 'cz', 'czech']);\r\nlocaleRegistry.register('de_AT', de_AT, ['at', 'austria']);\r\nlocaleRegistry.register('de_CH', de_CH, ['ch', 'switzerland']);\r\nlocaleRegistry.register('nl_BE', nl_BE, ['be', 'belgium']);\r\nlocaleRegistry.register('hu_HU', hu_HU, ['hu', 'hungary']);\r\nlocaleRegistry.register('ro_RO', ro_RO, ['ro', 'romania']);\r\nlocaleRegistry.register('ar_AE', ar_AE, ['ae', 'uae', 'emirates']);\r\nlocaleRegistry.register('ar_SA', ar_SA, ['sa', 'saudi', 'saudi-arabia']);\r\nlocaleRegistry.register('ar_EG', ar_EG, ['eg', 'egypt']);\r\nlocaleRegistry.register('he_IL', he_IL, ['he', 'il', 'israel']);\r\n\r\n/**\r\n * Factory function to create Mimic instance with specified locale\r\n */\r\nexport function createMimic(locale: string = 'en_US'): Mimic {\r\n const localeDefinition = localeRegistry.get(locale);\r\n \r\n if (!localeDefinition) {\r\n const available = localeRegistry.getAllCodes().join(', ');\r\n throw new Error(\r\n `Locale '${locale}' not found.\\n` +\r\n `Available locales: ${available}`\r\n );\r\n }\r\n \r\n return new Mimic(localeDefinition);\r\n}\r\n\r\n/**\r\n * Get available main locale codes\r\n */\r\nexport function getAvailableLocales(): string[] {\r\n return localeRegistry.getAvailableLocales();\r\n}\r\n\r\n/**\r\n * Get all codes (locales + aliases)\r\n */\r\nexport function getAllLocaleCodes(): string[] {\r\n return localeRegistry.getAllCodes();\r\n}\r\n\r\n/**\r\n * Export all locale definitions for advanced usage\r\n */\r\nexport const locales = {\r\n // Original\r\n en_US, ja_JP, id_ID, de_DE, fr_FR, pt_BR, ko_KR, en_AU,\r\n // New (20)\r\n zh_CN, en_IN, es_MX, it_IT, es_ES, nl_NL, en_CA, en_GB,\r\n ru_RU, pl_PL, tr_TR, sv_SE, nb_NO, da_DK, fi_FI,\r\n es_AR, es_CL, th_TH, vi_VN, ms_MY,\r\n // Newest (16)\r\n en_SG, en_PH, en_NZ, en_ZA, pt_PT, el_GR, cs_CZ, de_AT,\r\n de_CH, nl_BE, hu_HU, ro_RO, ar_AE, ar_SA, ar_EG, he_IL\r\n};\r\n\r\n// Default export\r\nexport default createMimic;"]}
1
+ {"version":3,"sources":["../src/core/random.ts","../src/core/mimic.ts","../src/core/registry.ts","../src/locales/en_US.ts","../src/locales/ja_JP.ts","../src/locales/id_ID.ts","../src/locales/de_DE.ts","../src/locales/fr_FR.ts","../src/locales/pt_BR.ts","../src/locales/ko_KR.ts","../src/locales/en_AU.ts","../src/locales/zh_CN.ts","../src/locales/en_IN.ts","../src/locales/es_MX.ts","../src/locales/it_IT.ts","../src/locales/es_ES.ts","../src/locales/nl_NL.ts","../src/locales/en_CA.ts","../src/locales/en_GB.ts","../src/locales/ru_RU.ts","../src/locales/pl_PL.ts","../src/locales/tr_TR.ts","../src/locales/sv_SE.ts","../src/locales/nb_NO.ts","../src/locales/da_DK.ts","../src/locales/fi_FI.ts","../src/locales/es_AR.ts","../src/locales/es_CL.ts","../src/locales/th_TH.ts","../src/locales/vi_VN.ts","../src/locales/ms_MY.ts","../src/locales/en_SG.ts","../src/locales/en_PH.ts","../src/locales/en_NZ.ts","../src/locales/en_ZA.ts","../src/locales/pt_PT.ts","../src/locales/el_GR.ts","../src/locales/cs_CZ.ts","../src/locales/de_AT.ts","../src/locales/de_CH.ts","../src/locales/nl_BE.ts","../src/locales/hu_HU.ts","../src/locales/ro_RO.ts","../src/locales/ar_AE.ts","../src/locales/ar_SA.ts","../src/locales/ar_EG.ts","../src/locales/he_IL.ts","../src/index.ts"],"sourcesContent":["/**\r\n * Random utility functions using native Math.random()\r\n */\r\nexport class Random {\r\n /**\r\n * Get random element from array\r\n */\r\n static pick<T>(array: T[]): T {\r\n return array[Math.floor(Math.random() * array.length)];\r\n }\r\n\r\n /**\r\n * Get random integer between min and max (inclusive)\r\n */\r\n static int(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n /**\r\n * Get random float between min and max\r\n */\r\n static float(min: number, max: number, decimals: number = 2): number {\r\n const value = Math.random() * (max - min) + min;\r\n return Number(value.toFixed(decimals));\r\n }\r\n\r\n /**\r\n * Get random boolean\r\n */\r\n static boolean(): boolean {\r\n return Math.random() >= 0.5;\r\n }\r\n\r\n /**\r\n * Shuffle array (Fisher-Yates algorithm)\r\n */\r\n static shuffle<T>(array: T[]): T[] {\r\n const result = [...array];\r\n for (let i = result.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [result[i], result[j]] = [result[j], result[i]];\r\n }\r\n return result;\r\n }\r\n}","import { LocaleDefinition, Gender, PersonData, AddressData, PhysicalData, WorkData, AgeRange } from '../types';\r\nimport { Random } from './random';\r\n\r\nexport class Mimic {\r\n private locale: LocaleDefinition;\r\n\r\n constructor(locale: LocaleDefinition) {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Update the locale\r\n */\r\n setLocale(locale: LocaleDefinition): void {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Identity generator\r\n */\r\n get identity() {\r\n return {\r\n firstName: (gender?: Gender): string => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n return genderChoice === 'male' \r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n },\r\n\r\n lastName: (): string => {\r\n return Random.pick(this.locale.lastNames);\r\n },\r\n\r\n fullName: (gender?: Gender): string => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n const firstName = genderChoice === 'male'\r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n const lastName = Random.pick(this.locale.lastNames);\r\n return this.locale.formatFullName(firstName, lastName);\r\n },\r\n\r\n gender: (): Gender => {\r\n return Random.pick(['male', 'female'] as Gender[]);\r\n },\r\n\r\n age: (range?: AgeRange): number => {\r\n const min = range?.min ?? 18;\r\n const max = range?.max ?? 65;\r\n return Random.int(min, max);\r\n },\r\n\r\n dateOfBirth: (range?: AgeRange): Date => {\r\n const age = this.identity.age(range);\r\n const currentYear = new Date().getFullYear();\r\n const birthYear = currentYear - age;\r\n const month = Random.int(0, 11);\r\n const day = Random.int(1, 28);\r\n return new Date(birthYear, month, day);\r\n },\r\n\r\n person: (gender?: Gender, ageRange?: AgeRange): PersonData => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n const firstName = genderChoice === 'male'\r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n const lastName = Random.pick(this.locale.lastNames);\r\n const age = this.identity.age(ageRange);\r\n const currentYear = new Date().getFullYear();\r\n const birthYear = currentYear - age;\r\n const month = Random.int(0, 11);\r\n const day = Random.int(1, 28);\r\n\r\n return {\r\n firstName,\r\n lastName,\r\n fullName: this.locale.formatFullName(firstName, lastName),\r\n gender: genderChoice,\r\n age,\r\n dateOfBirth: new Date(birthYear, month, day)\r\n };\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Location generator\r\n */\r\n get location() {\r\n return {\r\n street: (): string => {\r\n return Random.pick(this.locale.streets);\r\n },\r\n\r\n city: (): string => {\r\n return Random.pick(this.locale.cities);\r\n },\r\n\r\n state: (): string => {\r\n return Random.pick(this.locale.states);\r\n },\r\n\r\n zipCode: (): string => {\r\n return this.locale.generateZipCode();\r\n },\r\n\r\n fullAddress: (): string => {\r\n const street = Random.pick(this.locale.streets);\r\n const city = Random.pick(this.locale.cities);\r\n const state = Random.pick(this.locale.states);\r\n const zipCode = this.locale.generateZipCode();\r\n return this.locale.formatAddress(street, city, state, zipCode);\r\n },\r\n\r\n address: (): AddressData => {\r\n const street = Random.pick(this.locale.streets);\r\n const city = Random.pick(this.locale.cities);\r\n const state = Random.pick(this.locale.states);\r\n const zipCode = this.locale.generateZipCode();\r\n\r\n return {\r\n street,\r\n city,\r\n state,\r\n zipCode,\r\n fullAddress: this.locale.formatAddress(street, city, state, zipCode)\r\n };\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Physical data generator\r\n */\r\n get physical() {\r\n return {\r\n height: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n // Tinggi dalam cm (150-190 cm)\r\n const height = Random.int(150, 190);\r\n return {\r\n height,\r\n weight: 0,\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n // Tinggi dalam feet (4.9 - 6.3 ft)\r\n const height = Random.float(4.9, 6.3, 1);\r\n return {\r\n height,\r\n weight: 0,\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n },\r\n\r\n weight: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n // Berat dalam kg (45-100 kg)\r\n const weight = Random.int(45, 100);\r\n return {\r\n height: 0,\r\n weight,\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n // Berat dalam lb (100-220 lb)\r\n const weight = Random.int(100, 220);\r\n return {\r\n height: 0,\r\n weight,\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n },\r\n\r\n data: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n return {\r\n height: Random.int(150, 190),\r\n weight: Random.int(45, 100),\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n return {\r\n height: Random.float(4.9, 6.3, 1),\r\n weight: Random.int(100, 220),\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Work data generator\r\n */\r\n get work() {\r\n return {\r\n jobTitle: (): string => {\r\n return Random.pick(this.locale.jobTitles);\r\n },\r\n\r\n department: (): string => {\r\n return Random.pick(this.locale.departments);\r\n },\r\n\r\n data: (): WorkData => {\r\n return {\r\n jobTitle: Random.pick(this.locale.jobTitles),\r\n department: Random.pick(this.locale.departments)\r\n };\r\n }\r\n };\r\n }\r\n}","import { LocaleDefinition } from '../types';\r\n\r\n/**\r\n * Locale Registry untuk manajemen locale yang efisien\r\n * Mendukung lazy loading dan auto-registration\r\n */\r\nclass LocaleRegistry {\r\n private locales: Map<string, LocaleDefinition> = new Map();\r\n private aliases: Map<string, string> = new Map();\r\n\r\n /**\r\n * Register locale baru\r\n * @param code - Kode locale utama (contoh: 'en_US')\r\n * @param definition - Definisi locale\r\n * @param aliasesArray - Array alias untuk locale ini (contoh: ['en', 'us'])\r\n */\r\n register(\r\n code: string,\r\n definition: LocaleDefinition,\r\n aliasesArray: string[] = []\r\n ): void {\r\n this.locales.set(code, definition);\r\n \r\n // Register aliases\r\n for (const alias of aliasesArray) {\r\n this.aliases.set(alias, code);\r\n }\r\n }\r\n\r\n /**\r\n * Get locale definition\r\n * @param code - Kode locale atau alias\r\n * @returns LocaleDefinition atau undefined\r\n */\r\n get(code: string): LocaleDefinition | undefined {\r\n // Cek langsung di locales\r\n if (this.locales.has(code)) {\r\n return this.locales.get(code);\r\n }\r\n \r\n // Cek di aliases\r\n const mainCode = this.aliases.get(code);\r\n if (mainCode) {\r\n return this.locales.get(mainCode);\r\n }\r\n \r\n return undefined;\r\n }\r\n\r\n /**\r\n * Check apakah locale tersedia\r\n */\r\n has(code: string): boolean {\r\n return this.locales.has(code) || this.aliases.has(code);\r\n }\r\n\r\n /**\r\n * Get semua locale yang tersedia\r\n */\r\n getAvailableLocales(): string[] {\r\n return Array.from(this.locales.keys());\r\n }\r\n\r\n /**\r\n * Get semua aliases yang tersedia\r\n */\r\n getAvailableAliases(): string[] {\r\n return Array.from(this.aliases.keys());\r\n }\r\n\r\n /**\r\n * Get semua kode (locale + aliases)\r\n */\r\n getAllCodes(): string[] {\r\n return [\r\n ...this.getAvailableLocales(),\r\n ...this.getAvailableAliases()\r\n ];\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const localeRegistry = new LocaleRegistry();","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_US: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Joseph',\r\n 'Thomas', 'Christopher', 'Daniel', 'Matthew', 'Anthony', 'Mark', 'Donald',\r\n 'Steven', 'Andrew', 'Paul', 'Joshua', 'Kenneth', 'Kevin', 'Brian', 'George',\r\n 'Timothy', 'Ronald', 'Edward', 'Jason', 'Jeffrey', 'Ryan', 'Jacob', 'Gary',\r\n 'Nicholas', 'Eric', 'Jonathan', 'Stephen', 'Larry', 'Justin', 'Scott', 'Brandon',\r\n 'Benjamin', 'Samuel', 'Raymond', 'Gregory', 'Alexander', 'Patrick', 'Frank',\r\n 'Dennis', 'Jerry', 'Tyler', 'Aaron', 'Jose', 'Adam', 'Nathan', 'Douglas',\r\n 'Zachary', 'Peter', 'Kyle', 'Noah', 'Ethan', 'Jeremy', 'Christian', 'Walter'\r\n ],\r\n firstNamesFemale: [\r\n 'Mary', 'Patricia', 'Jennifer', 'Linda', 'Barbara', 'Elizabeth', 'Susan',\r\n 'Jessica', 'Sarah', 'Karen', 'Lisa', 'Nancy', 'Betty', 'Margaret', 'Sandra',\r\n 'Ashley', 'Kimberly', 'Emily', 'Donna', 'Michelle', 'Carol', 'Amanda', 'Dorothy',\r\n 'Melissa', 'Deborah', 'Stephanie', 'Rebecca', 'Sharon', 'Laura', 'Cynthia',\r\n 'Kathleen', 'Amy', 'Angela', 'Shirley', 'Anna', 'Brenda', 'Pamela', 'Emma',\r\n 'Nicole', 'Helen', 'Samantha', 'Katherine', 'Christine', 'Debra', 'Rachel',\r\n 'Carolyn', 'Janet', 'Catherine', 'Maria', 'Heather', 'Diane', 'Ruth', 'Julie',\r\n 'Olivia', 'Joyce', 'Virginia', 'Victoria', 'Kelly', 'Lauren', 'Christina'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis',\r\n 'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez', 'Wilson', 'Anderson',\r\n 'Thomas', 'Taylor', 'Moore', 'Jackson', 'Martin', 'Lee', 'Perez', 'Thompson',\r\n 'White', 'Harris', 'Sanchez', 'Clark', 'Ramirez', 'Lewis', 'Robinson', 'Walker',\r\n 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Torres', 'Nguyen', 'Hill', 'Flores',\r\n 'Green', 'Adams', 'Nelson', 'Baker', 'Hall', 'Rivera', 'Campbell', 'Mitchell',\r\n 'Carter', 'Roberts', 'Gomez', 'Phillips', 'Evans', 'Turner', 'Diaz', 'Parker',\r\n 'Cruz', 'Edwards', 'Collins', 'Reyes', 'Stewart', 'Morris', 'Morales', 'Murphy'\r\n ],\r\n streets: [\r\n 'Main Street', 'Oak Avenue', 'Maple Drive', 'Cedar Lane', 'Elm Street',\r\n 'Washington Boulevard', 'Lake View Drive', 'Park Avenue', 'Hill Road',\r\n 'Forest Lane', 'River Road', 'Sunset Boulevard', 'First Avenue', 'Second Street',\r\n 'Third Avenue', 'Pine Street', 'Walnut Avenue', 'Cherry Lane', 'Spring Street',\r\n 'Church Road', 'Market Street', 'Broadway', 'Madison Avenue', 'Lincoln Street',\r\n 'Jefferson Avenue', 'Franklin Street', 'Highland Avenue', 'Prospect Street',\r\n 'Valley Road', 'Ridge Road', 'Summit Avenue', 'Grove Street', 'Pearl Street'\r\n ],\r\n cities: [\r\n 'New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix', 'Philadelphia',\r\n 'San Antonio', 'San Diego', 'Dallas', 'San Jose', 'Austin', 'Jacksonville',\r\n 'Fort Worth', 'Columbus', 'Charlotte', 'San Francisco', 'Indianapolis', 'Seattle',\r\n 'Denver', 'Boston', 'Nashville', 'Detroit', 'Portland', 'Las Vegas', 'Memphis',\r\n 'Louisville', 'Baltimore', 'Milwaukee', 'Albuquerque', 'Tucson', 'Fresno',\r\n 'Sacramento', 'Kansas City', 'Mesa', 'Atlanta', 'Omaha', 'Colorado Springs',\r\n 'Raleigh', 'Miami', 'Long Beach', 'Virginia Beach', 'Oakland', 'Minneapolis'\r\n ],\r\n states: [\r\n 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado',\r\n 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho',\r\n 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',\r\n 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi',\r\n 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey',\r\n 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma',\r\n 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota',\r\n 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington',\r\n 'West Virginia', 'Wisconsin', 'Wyoming'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'Human Resources Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'UX Designer',\r\n 'Content Writer', 'Executive Assistant', 'Account Manager', 'DevOps Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'imperial',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 9999);\r\n return `${houseNumber} ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ja_JP: LocaleDefinition = {\r\n // Nama keluarga Jepang (姓)\r\n lastNames: [\r\n 'Satou', 'Suzuki', 'Takahashi', 'Tanaka', 'Watanabe', 'Itou', 'Yamamoto',\r\n 'Nakamura', 'Kobayashi', 'Katou', 'Yoshida', 'Yamada', 'Sasaki', 'Yamaguchi',\r\n 'Matsumoto', 'Inoue', 'Kimura', 'Hayashi', 'Shimizu', 'Yamazaki', 'Mori',\r\n 'Abe', 'Ikeda', 'Hashimoto', 'Yamashita', 'Ishikawa', 'Nakajima', 'Maeda',\r\n 'Fujita', 'Ogawa', 'Gotou', 'Okada', 'Hasegawa', 'Murakami', 'Kondou',\r\n 'Ishii', 'Saitou', 'Sakamoto', 'Endou', 'Fujii', 'Nishimura', 'Fukuda',\r\n 'Ootani', 'Miura', 'Okamoto', 'Matsuda', 'Nakano', 'Harada'\r\n ],\r\n // Nama depan pria (男性名)\r\n firstNamesMale: [\r\n 'Hiroshi', 'Takeshi', 'Kenji', 'Kazuo', 'Masao', 'Toshio', 'Minoru',\r\n 'Makoto', 'Satoshi', 'Yuji', 'Koji', 'Takashi', 'Shinji', 'Hideki',\r\n 'Masashi', 'Kenichi', 'Yuki', 'Haruki', 'Daiki', 'Ryouta', 'Shou',\r\n 'Kaito', 'Hayato', 'Souta', 'Yuuto', 'Kouki', 'Ren', 'Haruto',\r\n 'Akira', 'Ryuu', 'Tatsuya', 'Daisuke', 'Naoki', 'Tomoya', 'Shun',\r\n 'Ryousuke', 'Kenta', 'Yousuke', 'Taichi', 'Yuuma', 'Shouta', 'Riku'\r\n ],\r\n // Nama depan wanita (女性名)\r\n firstNamesFemale: [\r\n 'Yuko', 'Keiko', 'Kumiko', 'Sachiko', 'Yoshiko', 'Kazuko', 'Michiko',\r\n 'Akiko', 'Noriko', 'Yuki', 'Emi', 'Aiko', 'Mayumi', 'Naoko', 'Tomoko',\r\n 'Yuka', 'Ayumi', 'Haruka', 'Miho', 'Maki', 'Sakura', 'Hana', 'Yui',\r\n 'Rina', 'Nana', 'Ami', 'Mei', 'Momoka', 'Hina', 'Aoi', 'Mio',\r\n 'Nanami', 'Riko', 'Kana', 'Ayaka', 'Akari', 'Yuna', 'Sara', 'Miyu',\r\n 'Honoka', 'Koharu', 'Himari', 'Miku', 'Rin', 'Saki', 'Hinata'\r\n ],\r\n streets: [\r\n 'Chuo-dori', 'Sakura-dori', 'Midori-cho', 'Higashi-cho', 'Nishi-cho',\r\n 'Minami-cho', 'Kita-cho', 'Honcho', 'Miyuki-dori', 'Ekimae-dori',\r\n 'Showa-dori', 'Taisho-dori', 'Heisei-dori', 'Reiwa-dori', 'Yanagi-cho',\r\n 'Matsu-cho', 'Take-cho', 'Ume-cho', 'Momo-cho', 'Kiku-cho', 'Tsubaki-cho',\r\n 'Fuji-cho', 'Asahi-cho', 'Hoshi-cho', 'Tsuki-cho', 'Sora-cho', 'Umi-cho'\r\n ],\r\n cities: [\r\n 'Tokyo', 'Yokohama', 'Osaka', 'Nagoya', 'Sapporo', 'Fukuoka', 'Kobe',\r\n 'Kyoto', 'Kawasaki', 'Saitama', 'Hiroshima', 'Sendai', 'Chiba', 'Kitakyushu',\r\n 'Sakai', 'Niigata', 'Hamamatsu', 'Kumamoto', 'Sagamihara', 'Shizuoka',\r\n 'Okayama', 'Kagoshima', 'Hachioji', 'Matsuyama', 'Utsunomiya', 'Matsudo'\r\n ],\r\n // Prefektur Jepang (都道府県)\r\n states: [\r\n 'Tokyo', 'Osaka', 'Kyoto', 'Hokkaido', 'Aichi', 'Fukuoka', 'Kanagawa',\r\n 'Saitama', 'Chiba', 'Hyogo', 'Hiroshima', 'Miyagi', 'Niigata', 'Shizuoka',\r\n 'Okayama', 'Kumamoto', 'Kagoshima', 'Nagano', 'Gifu', 'Fukushima', 'Gunma',\r\n 'Ibaraki', 'Tochigi', 'Mie', 'Nara', 'Wakayama', 'Shiga', 'Yamanashi',\r\n 'Ishikawa', 'Toyama', 'Fukui', 'Yamaguchi', 'Ehime', 'Kagawa', 'Tokushima',\r\n 'Kochi', 'Saga', 'Nagasaki', 'Oita', 'Miyazaki', 'Okinawa', 'Aomori',\r\n 'Iwate', 'Akita', 'Yamagata', 'Tottori', 'Shimane'\r\n ],\r\n zipCodePattern: '###-####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Sales Manager', 'Accountant',\r\n 'HR Manager', 'Marketing Specialist', 'Data Analyst', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'System Administrator',\r\n 'Product Manager', 'Customer Support', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Sales', 'Marketing', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Administration', 'Quality Assurance'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Format Jepang: Nama Keluarga + Nama Depan\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n // Format alamat Jepang: 〒Kode Pos, Prefektur, Kota, Jalan, Nomor\r\n const choume = Random.int(1, 5);\r\n const banchi = Random.int(1, 20);\r\n const gou = Random.int(1, 30);\r\n return `〒${zipCode} ${state}, ${city}, ${street} ${choume}-${banchi}-${gou}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(1000, 9999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const id_ID: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Budi', 'Ahmad', 'Agus', 'Andi', 'Bambang', 'Dedi', 'Eko', 'Hadi',\r\n 'Iwan', 'Joko', 'Rudi', 'Slamet', 'Teguh', 'Wawan', 'Yudi', 'Rizki',\r\n 'Fajar', 'Bayu', 'Dimas', 'Arif', 'Indra', 'Gunawan', 'Hendra', 'Firman',\r\n 'Aditya', 'Putra', 'Gilang', 'Yoga', 'Rama', 'Satria', 'Wahyu', 'Rizal',\r\n 'Firdaus', 'Ilham', 'Ridwan', 'Surya', 'Akbar', 'Pratama', 'Nugroho'\r\n ],\r\n firstNamesFemale: [\r\n 'Siti', 'Dewi', 'Ani', 'Sri', 'Ratna', 'Rina', 'Endang', 'Fitri',\r\n 'Diah', 'Yuni', 'Wati', 'Ayu', 'Indah', 'Maya', 'Lestari', 'Putri',\r\n 'Sari', 'Rini', 'Tuti', 'Nur', 'Lia', 'Dian', 'Ika', 'Nia', 'Mega',\r\n 'Andini', 'Citra', 'Kartika', 'Puspita', 'Cahaya', 'Anggraini', 'Permata',\r\n 'Safitri', 'Rahayu', 'Maharani', 'Pratiwi', 'Kusuma', 'Melati', 'Zahra'\r\n ],\r\n lastNames: [\r\n 'Santoso', 'Wijaya', 'Susanto', 'Pranowo', 'Saputra', 'Kurniawan', 'Wibowo',\r\n 'Prasetyo', 'Hidayat', 'Setiawan', 'Nugroho', 'Hakim', 'Gunawan', 'Firmansyah',\r\n 'Budiman', 'Hermawan', 'Putra', 'Cahyadi', 'Utomo', 'Suharto', 'Handoko',\r\n 'Kusuma', 'Rahmat', 'Irawan', 'Sinaga', 'Sitorus', 'Sihotang', 'Simanjuntak',\r\n 'Tampubolon', 'Nababan', 'Manurung', 'Siregar', 'Panjaitan', 'Pasaribu',\r\n 'Hasibuan', 'Sembiring', 'Tarigan', 'Lubis', 'Nasution', 'Situmorang',\r\n 'Pardede', 'Simbolon', 'Silalahi', 'Aritonang', 'Simatupang', 'Hutapea'\r\n ],\r\n streets: [\r\n 'Jl. Merdeka', 'Jl. Sudirman', 'Jl. Gatot Subroto', 'Jl. Ahmad Yani',\r\n 'Jl. Diponegoro', 'Jl. Veteran', 'Jl. Pahlawan', 'Jl. Hayam Wuruk',\r\n 'Jl. Gajah Mada', 'Jl. Kartini', 'Jl. Proklamasi', 'Jl. Kemerdekaan',\r\n 'Jl. Imam Bonjol', 'Jl. Pemuda', 'Jl. Pattimura', 'Jl. Sisingamangaraja',\r\n 'Jl. Thamrin', 'Jl. Rasuna Said', 'Jl. MT Haryono', 'Jl. Basuki Rahmat',\r\n 'Jl. Wolter Monginsidi', 'Jl. Teuku Umar', 'Jl. Cut Nyak Dien', 'Jl. Majapahit'\r\n ],\r\n cities: [\r\n 'Jakarta', 'Surabaya', 'Bandung', 'Medan', 'Semarang', 'Makassar', 'Palembang',\r\n 'Tangerang', 'Depok', 'Bekasi', 'Bogor', 'Yogyakarta', 'Malang', 'Batam',\r\n 'Pekanbaru', 'Bandar Lampung', 'Padang', 'Denpasar', 'Samarinda', 'Banjarmasin',\r\n 'Pontianak', 'Balikpapan', 'Jambi', 'Manado', 'Mataram', 'Kupang', 'Ambon'\r\n ],\r\n states: [\r\n 'DKI Jakarta', 'Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Banten',\r\n 'Sumatera Utara', 'Sumatera Barat', 'Sumatera Selatan', 'Riau', 'Lampung',\r\n 'Kepulauan Riau', 'Bangka Belitung', 'Jambi', 'Bengkulu', 'Aceh',\r\n 'Kalimantan Barat', 'Kalimantan Tengah', 'Kalimantan Selatan', 'Kalimantan Timur',\r\n 'Kalimantan Utara', 'Sulawesi Utara', 'Sulawesi Tengah', 'Sulawesi Selatan',\r\n 'Sulawesi Tenggara', 'Gorontalo', 'Sulawesi Barat', 'Bali', 'Nusa Tenggara Barat',\r\n 'Nusa Tenggara Timur', 'Maluku', 'Maluku Utara', 'Papua', 'Papua Barat',\r\n 'DI Yogyakarta'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Akuntan', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Financial Analyst', 'Product Manager', 'System Administrator',\r\n 'Customer Service', 'Quality Assurance Engineer', 'Technical Writer',\r\n 'Database Administrator', 'Network Engineer', 'Content Writer', 'Account Manager'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const rt = Random.int(1, 20);\r\n const rw = Random.int(1, 15);\r\n return `${street} No. ${number}, RT ${rt}/RW ${rw}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_DE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Lukas', 'Leon', 'Tim', 'Paul', 'Jonas', 'Finn', 'Noah', 'Felix',\r\n 'Elias', 'Ben', 'Luca', 'Maximilian', 'Jan', 'Niklas', 'Tom', 'Moritz',\r\n 'Max', 'Julian', 'David', 'Alexander', 'Simon', 'Fabian', 'Tobias',\r\n 'Sebastian', 'Philipp', 'Florian', 'Kevin', 'Christian', 'Daniel',\r\n 'Michael', 'Stefan', 'Thomas', 'Andreas', 'Matthias', 'Markus', 'Peter',\r\n 'Klaus', 'Wolfgang', 'Jürgen', 'Hans', 'Dieter', 'Helmut', 'Werner'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Mia', 'Hannah', 'Sofia', 'Anna', 'Emilia', 'Lina', 'Marie',\r\n 'Sophia', 'Lena', 'Lea', 'Leonie', 'Amelie', 'Laura', 'Lisa', 'Luisa',\r\n 'Sarah', 'Julia', 'Katharina', 'Nina', 'Jana', 'Michelle', 'Christina',\r\n 'Vanessa', 'Jessica', 'Jennifer', 'Sandra', 'Stefanie', 'Melanie',\r\n 'Andrea', 'Petra', 'Sabine', 'Susanne', 'Martina', 'Monika', 'Birgit',\r\n 'Claudia', 'Karin', 'Angelika', 'Ingrid', 'Helga', 'Gisela', 'Ursula'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Schmidt', 'Schneider', 'Fischer', 'Weber', 'Meyer', 'Wagner',\r\n 'Becker', 'Schulz', 'Hoffmann', 'Schäfer', 'Koch', 'Bauer', 'Richter',\r\n 'Klein', 'Wolf', 'Schröder', 'Neumann', 'Schwarz', 'Zimmermann', 'Braun',\r\n 'Krüger', 'Hofmann', 'Hartmann', 'Lange', 'Schmitt', 'Werner', 'Schmitz',\r\n 'Krause', 'Meier', 'Lehmann', 'Schmid', 'Schulze', 'Maier', 'Köhler',\r\n 'Herrmann', 'König', 'Walter', 'Mayer', 'Huber', 'Kaiser', 'Fuchs',\r\n 'Peters', 'Lang', 'Scholz', 'Möller', 'Weiß', 'Jung', 'Hahn', 'Schubert'\r\n ],\r\n streets: [\r\n 'Hauptstraße', 'Bahnhofstraße', 'Gartenstraße', 'Schulstraße', 'Dorfstraße',\r\n 'Kirchstraße', 'Bergstraße', 'Waldstraße', 'Schillerstraße', 'Goethestraße',\r\n 'Lindenstraße', 'Parkstraße', 'Mozartstraße', 'Beethovenstraße', 'Bachstraße',\r\n 'Kantstraße', 'Lessingstraße', 'Fichtestraße', 'Schubertstraße', 'Brahmsstraße',\r\n 'Friedrichstraße', 'Wilhelmstraße', 'Marktstraße', 'Kaiserstraße', 'Poststraße',\r\n 'Ringstraße', 'Am Markt', 'Rosenstraße', 'Birkenweg', 'Ahornweg'\r\n ],\r\n cities: [\r\n 'Berlin', 'Hamburg', 'München', 'Köln', 'Frankfurt', 'Stuttgart', 'Düsseldorf',\r\n 'Dortmund', 'Essen', 'Leipzig', 'Bremen', 'Dresden', 'Hannover', 'Nürnberg',\r\n 'Duisburg', 'Bochum', 'Wuppertal', 'Bielefeld', 'Bonn', 'Münster', 'Karlsruhe',\r\n 'Mannheim', 'Augsburg', 'Wiesbaden', 'Gelsenkirchen', 'Mönchengladbach',\r\n 'Braunschweig', 'Chemnitz', 'Kiel', 'Aachen', 'Halle', 'Magdeburg', 'Freiburg',\r\n 'Krefeld', 'Lübeck', 'Oberhausen', 'Erfurt', 'Mainz', 'Rostock', 'Kassel'\r\n ],\r\n states: [\r\n 'Baden-Württemberg', 'Bayern', 'Berlin', 'Brandenburg', 'Bremen',\r\n 'Hamburg', 'Hessen', 'Mecklenburg-Vorpommern', 'Niedersachsen',\r\n 'Nordrhein-Westfalen', 'Rheinland-Pfalz', 'Saarland', 'Sachsen',\r\n 'Sachsen-Anhalt', 'Schleswig-Holstein', 'Thüringen'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Projektmanager', 'Datenanalyst', 'Marketing Manager',\r\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer',\r\n 'Betriebsleiter', 'Business Analyst', 'Finanzanalyst', 'Produktmanager',\r\n 'Systemadministrator', 'Kundenbetreuer', 'Quality Assurance Engineer',\r\n 'Technischer Redakteur', 'Datenbankadministrator', 'Netzwerkingenieur'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen',\r\n 'Betrieb', 'Kundenservice', 'IT', 'Forschung und Entwicklung',\r\n 'Recht', 'Produktmanagement', 'Design', 'Qualitätssicherung', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 200);\r\n return `${street} ${houseNumber}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const fr_FR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Gabriel', 'Raphaël', 'Léo', 'Louis', 'Lucas', 'Adam', 'Arthur', 'Hugo',\r\n 'Jules', 'Maël', 'Noah', 'Tom', 'Nathan', 'Ethan', 'Paul', 'Théo',\r\n 'Pierre', 'Jean', 'Marc', 'François', 'Michel', 'Nicolas', 'Antoine',\r\n 'Philippe', 'Jacques', 'Christophe', 'Olivier', 'Julien', 'David',\r\n 'Alexandre', 'Sébastien', 'Laurent', 'Guillaume', 'Maxime', 'Benjamin',\r\n 'Thomas', 'Vincent', 'Daniel', 'Patrick', 'Christian', 'Bernard', 'André'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Léa', 'Chloé', 'Manon', 'Camille', 'Zoé', 'Sarah', 'Lola',\r\n 'Inès', 'Jade', 'Louise', 'Lina', 'Rose', 'Alice', 'Juliette', 'Clara',\r\n 'Marie', 'Sophie', 'Isabelle', 'Julie', 'Nathalie', 'Caroline', 'Laura',\r\n 'Émilie', 'Pauline', 'Charlotte', 'Lucie', 'Céline', 'Marine', 'Sandra',\r\n 'Valérie', 'Sylvie', 'Catherine', 'Martine', 'Christine', 'Françoise',\r\n 'Monique', 'Nicole', 'Véronique', 'Brigitte', 'Dominique', 'Anne', 'Claire'\r\n ],\r\n lastNames: [\r\n 'Martin', 'Bernard', 'Thomas', 'Petit', 'Robert', 'Richard', 'Durand',\r\n 'Dubois', 'Moreau', 'Laurent', 'Simon', 'Michel', 'Lefebvre', 'Leroy',\r\n 'Roux', 'David', 'Bertrand', 'Morel', 'Fournier', 'Girard', 'Bonnet',\r\n 'Dupont', 'Lambert', 'Fontaine', 'Rousseau', 'Vincent', 'Muller', 'Lefevre',\r\n 'Faure', 'Andre', 'Mercier', 'Blanc', 'Guerin', 'Boyer', 'Garnier',\r\n 'Chevalier', 'Francois', 'Legrand', 'Gauthier', 'Garcia', 'Perrin',\r\n 'Robin', 'Clement', 'Morin', 'Nicolas', 'Henry', 'Roussel', 'Matthieu'\r\n ],\r\n streets: [\r\n 'Rue de la Paix', 'Avenue des Champs-Élysées', 'Boulevard Haussmann',\r\n 'Rue de Rivoli', 'Rue Saint-Honoré', 'Avenue Montaigne', 'Rue du Faubourg',\r\n 'Boulevard Saint-Germain', 'Rue de Vaugirard', 'Avenue Victor Hugo',\r\n 'Rue Lafayette', 'Boulevard Voltaire', 'Rue de la République', 'Place de la Concorde',\r\n 'Rue Nationale', 'Avenue Jean Jaurès', 'Rue Pasteur', 'Boulevard Gambetta',\r\n 'Rue du Général de Gaulle', 'Avenue de la Liberté', 'Rue Carnot', 'Place du Marché',\r\n 'Rue Victor Hugo', 'Boulevard de la Mer', 'Rue des Écoles', 'Avenue du Président'\r\n ],\r\n cities: [\r\n 'Paris', 'Marseille', 'Lyon', 'Toulouse', 'Nice', 'Nantes', 'Strasbourg',\r\n 'Montpellier', 'Bordeaux', 'Lille', 'Rennes', 'Reims', 'Le Havre', 'Saint-Étienne',\r\n 'Toulon', 'Grenoble', 'Dijon', 'Angers', 'Nîmes', 'Villeurbanne', 'Saint-Denis',\r\n 'Le Mans', 'Aix-en-Provence', 'Clermont-Ferrand', 'Brest', 'Limoges', 'Tours',\r\n 'Amiens', 'Perpignan', 'Metz', 'Besançon', 'Boulogne-Billancourt', 'Orléans',\r\n 'Mulhouse', 'Rouen', 'Caen', 'Nancy', 'Argenteuil', 'Montreuil', 'Saint-Paul'\r\n ],\r\n states: [\r\n 'Île-de-France', 'Provence-Alpes-Côte d\\'Azur', 'Auvergne-Rhône-Alpes',\r\n 'Nouvelle-Aquitaine', 'Occitanie', 'Hauts-de-France', 'Pays de la Loire',\r\n 'Bretagne', 'Grand Est', 'Normandie', 'Bourgogne-Franche-Comté',\r\n 'Centre-Val de Loire', 'Corse'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingénieur Logiciel', 'Chef de Projet', 'Analyste de Données', 'Responsable Marketing',\r\n 'Commercial', 'Comptable', 'Responsable RH', 'Designer', 'Responsable des Opérations',\r\n 'Analyste d\\'Affaires', 'Analyste Financier', 'Chef de Produit',\r\n 'Administrateur Système', 'Chargé de Clientèle', 'Ingénieur Qualité',\r\n 'Rédacteur Technique', 'Administrateur de Base de Données', 'Ingénieur Réseau'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Commercial', 'Ressources Humaines', 'Finance',\r\n 'Opérations', 'Service Client', 'IT', 'Recherche et Développement',\r\n 'Juridique', 'Gestion de Produit', 'Design', 'Assurance Qualité', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 300);\r\n return `${houseNumber} ${street}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pt_BR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Miguel', 'Arthur', 'Heitor', 'Bernardo', 'Théo', 'Davi', 'Gabriel', 'Pedro',\r\n 'Lucas', 'Matheus', 'Rafael', 'João', 'Guilherme', 'Gustavo', 'Felipe',\r\n 'Bruno', 'Leonardo', 'Diego', 'Rodrigo', 'Marcelo', 'Vinícius', 'André',\r\n 'Thiago', 'Fernando', 'Ricardo', 'Daniel', 'Carlos', 'Paulo', 'José',\r\n 'Antônio', 'Francisco', 'Marcos', 'Roberto', 'Eduardo', 'Fábio', 'César',\r\n 'Alexandre', 'Renato', 'Márcio', 'Sérgio', 'Luciano', 'Anderson', 'Caio'\r\n ],\r\n firstNamesFemale: [\r\n 'Alice', 'Sophia', 'Helena', 'Valentina', 'Laura', 'Isabella', 'Manuela',\r\n 'Júlia', 'Heloísa', 'Luiza', 'Maria', 'Lorena', 'Lívia', 'Giovanna',\r\n 'Beatriz', 'Ana', 'Fernanda', 'Camila', 'Juliana', 'Mariana', 'Patrícia',\r\n 'Amanda', 'Letícia', 'Carolina', 'Gabriela', 'Renata', 'Bianca', 'Natália',\r\n 'Vanessa', 'Aline', 'Cristina', 'Paula', 'Adriana', 'Sandra', 'Tatiana',\r\n 'Luciana', 'Priscila', 'Débora', 'Simone', 'Carla', 'Andreia', 'Viviane'\r\n ],\r\n lastNames: [\r\n 'Silva', 'Santos', 'Oliveira', 'Souza', 'Rodrigues', 'Ferreira', 'Alves',\r\n 'Pereira', 'Lima', 'Gomes', 'Costa', 'Ribeiro', 'Martins', 'Carvalho',\r\n 'Almeida', 'Lopes', 'Soares', 'Fernandes', 'Vieira', 'Barbosa', 'Rocha',\r\n 'Dias', 'Nascimento', 'Araujo', 'Monteiro', 'Cardoso', 'Nunes', 'Mendes',\r\n 'Freitas', 'Cavalcanti', 'Castro', 'Pinto', 'Farias', 'Moreira', 'Correia',\r\n 'Rezende', 'Campos', 'Teixeira', 'Miranda', 'Duarte', 'Aragão', 'Machado',\r\n 'Barros', 'Andrade', 'Moura', 'Cunha', 'Azevedo', 'Melo', 'Ramos', 'Pires'\r\n ],\r\n streets: [\r\n 'Rua das Flores', 'Avenida Paulista', 'Rua Augusta', 'Avenida Atlântica',\r\n 'Rua Oscar Freire', 'Avenida Brasil', 'Rua XV de Novembro', 'Avenida Copacabana',\r\n 'Rua da Consolação', 'Avenida Brigadeiro Faria Lima', 'Rua Direita',\r\n 'Avenida Getúlio Vargas', 'Rua do Comércio', 'Avenida Rio Branco',\r\n 'Rua Sete de Setembro', 'Avenida Presidente Vargas', 'Rua da Paz',\r\n 'Avenida Santos Dumont', 'Rua Amazonas', 'Avenida Dom Pedro II',\r\n 'Rua Tiradentes', 'Avenida Independência', 'Rua Marechal Deodoro',\r\n 'Avenida Afonso Pena', 'Rua Barão do Rio Branco', 'Avenida Ipiranga'\r\n ],\r\n cities: [\r\n 'São Paulo', 'Rio de Janeiro', 'Brasília', 'Salvador', 'Fortaleza', 'Belo Horizonte',\r\n 'Manaus', 'Curitiba', 'Recife', 'Porto Alegre', 'Goiânia', 'Belém', 'Guarulhos',\r\n 'Campinas', 'São Luís', 'São Gonçalo', 'Maceió', 'Duque de Caxias', 'Natal',\r\n 'Teresina', 'Campo Grande', 'Nova Iguaçu', 'São Bernardo do Campo', 'João Pessoa',\r\n 'Santo André', 'Osasco', 'Jaboatão dos Guararapes', 'São José dos Campos',\r\n 'Ribeirão Preto', 'Uberlândia', 'Sorocaba', 'Contagem', 'Aracaju', 'Feira de Santana'\r\n ],\r\n states: [\r\n 'São Paulo', 'Rio de Janeiro', 'Minas Gerais', 'Bahia', 'Paraná', 'Rio Grande do Sul',\r\n 'Pernambuco', 'Ceará', 'Pará', 'Santa Catarina', 'Goiás', 'Maranhão', 'Espírito Santo',\r\n 'Paraíba', 'Amazonas', 'Mato Grosso', 'Rio Grande do Norte', 'Alagoas', 'Piauí',\r\n 'Distrito Federal', 'Mato Grosso do Sul', 'Sergipe', 'Rondônia', 'Tocantins',\r\n 'Acre', 'Amapá', 'Roraima'\r\n ],\r\n zipCodePattern: '#####-###',\r\n jobTitles: [\r\n 'Engenheiro de Software', 'Gerente de Projetos', 'Analista de Dados',\r\n 'Gerente de Marketing', 'Representante de Vendas', 'Contador', 'Gerente de RH',\r\n 'Designer', 'Gerente de Operações', 'Analista de Negócios', 'Analista Financeiro',\r\n 'Gerente de Produto', 'Administrador de Sistemas', 'Atendente ao Cliente',\r\n 'Engenheiro de Qualidade', 'Redator Técnico', 'Administrador de Banco de Dados',\r\n 'Engenheiro de Redes', 'Coordenador de Marketing', 'Supervisor de Vendas'\r\n ],\r\n departments: [\r\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Financeiro',\r\n 'Operações', 'Atendimento ao Cliente', 'TI', 'Pesquisa e Desenvolvimento',\r\n 'Jurídico', 'Gestão de Produtos', 'Design', 'Qualidade', 'Administração'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 9999);\r\n const complement = Random.pick(['Apto', 'Casa', 'Sala', 'Bloco']);\r\n const complementNumber = Random.int(1, 500);\r\n return `${street}, ${houseNumber} - ${complement} ${complementNumber}, ${city} - ${state}, CEP ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(10000, 99999));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ko_KR: LocaleDefinition = {\r\n // Nama keluarga Korea (성)\r\n lastNames: [\r\n 'Kim', 'Lee', 'Park', 'Choi', 'Jung', 'Kang', 'Cho', 'Yoon', 'Jang',\r\n 'Lim', 'Han', 'Oh', 'Seo', 'Shin', 'Kwon', 'Hwang', 'Ahn', 'Song',\r\n 'Hong', 'Jeon', 'Ko', 'Moon', 'Son', 'Yang', 'Baek', 'Heo', 'Nam',\r\n 'Shim', 'Roh', 'Ha', 'Joo', 'Koo', 'Chung', 'Min', 'Yoo', 'Sung',\r\n 'Ji', 'Woo', 'Chae', 'Yeo', 'Do', 'Bae', 'Noh', 'Pyo', 'Tae'\r\n ],\r\n // Nama depan pria Korea (이름 - 남성)\r\n firstNamesMale: [\r\n 'Minho', 'Joon', 'Hyun', 'Seung', 'Woong', 'Jin', 'Sung', 'Tae',\r\n 'Young', 'Dong', 'Soo', 'Jun', 'Woo', 'Hoon', 'Jae', 'Kyung',\r\n 'Ho', 'Chan', 'Hyuk', 'Min', 'Joon-Ho', 'Ji-Hoon', 'Seo-Jun', 'Do-Yun',\r\n 'Si-Woo', 'Ye-Jun', 'Min-Jun', 'Joo-Won', 'Ha-Jun', 'Woo-Jin',\r\n 'Yu-Jun', 'Hyun-Woo', 'Jun-Seo', 'Geon-Woo', 'Ji-Hu', 'Yoon-Seo'\r\n ],\r\n // Nama depan wanita Korea (이름 - 여성)\r\n firstNamesFemale: [\r\n 'Hye', 'Min', 'Ji', 'Soo', 'Young', 'Eun', 'Mi', 'Sun', 'Kyung',\r\n 'Jung', 'Hee', 'Jin', 'Yeon', 'Seo', 'Ha', 'Yoo', 'Ah', 'Na',\r\n 'Seo-Yun', 'Ji-Woo', 'Ha-Eun', 'Min-Seo', 'Seo-Hyun', 'Ji-Ah', 'Yoo-Na',\r\n 'Soo-Ah', 'Chae-Won', 'Eun-Seo', 'Ha-Yoon', 'Ji-Yoo', 'Ah-Rin',\r\n 'Ye-Eun', 'Ga-Eun', 'Yu-Ri', 'Hye-Won', 'So-Yeon', 'Da-Eun', 'Bo-Ra'\r\n ],\r\n streets: [\r\n 'Gangnam-daero', 'Teheran-ro', 'Seocho-daero', 'Yeongdong-daero',\r\n 'Sejong-daero', 'Jongno', 'Euljiro', 'Myeongdong-gil', 'Insadong-gil',\r\n 'Dongdaemun-ro', 'Sinchon-ro', 'Hongik-ro', 'Itaewon-ro', 'Apgujeong-ro',\r\n 'Garosu-gil', 'Cheonggyecheon-ro', 'Hangang-daero', 'Olympic-ro',\r\n 'Dongho-ro', 'Seongbuk-ro', 'Bukchon-ro', 'Samcheong-ro', 'Sajik-ro'\r\n ],\r\n cities: [\r\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Suwon',\r\n 'Ulsan', 'Changwon', 'Goyang', 'Yongin', 'Seongnam', 'Bucheon', 'Ansan',\r\n 'Cheongju', 'Jeonju', 'Anyang', 'Cheonan', 'Pohang', 'Gimhae', 'Pyeongtaek',\r\n 'Uijeongbu', 'Siheung', 'Paju', 'Jinju', 'Gimpo', 'Iksan', 'Wonju'\r\n ],\r\n // Provinsi Korea (도/광역시)\r\n states: [\r\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Ulsan',\r\n 'Sejong', 'Gyeonggi-do', 'Gangwon-do', 'North Chungcheong', 'South Chungcheong',\r\n 'North Jeolla', 'South Jeolla', 'North Gyeongsang', 'South Gyeongsang', 'Jeju'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'System Administrator', 'Customer Service Representative', 'QA Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Format Korea: Nama Keluarga + Nama Depan\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n // Format alamat Korea: Provinsi, Kota, Jalan, Nomor bangunan, Kode Pos\r\n const buildingNumber = Random.int(1, 500);\r\n const dong = Random.pick(['Gangnam-gu', 'Seocho-gu', 'Songpa-gu', 'Jongno-gu', 'Jung-gu', 'Yongsan-gu']);\r\n return `${state}, ${city}, ${dong}, ${street} ${buildingNumber}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_AU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'Jack', 'Noah', 'William', 'Thomas', 'James', 'Henry', 'Lucas',\r\n 'Charlie', 'Ethan', 'Liam', 'Mason', 'Benjamin', 'Alexander', 'Samuel',\r\n 'Daniel', 'Matthew', 'Joshua', 'Ryan', 'Andrew', 'Michael', 'David',\r\n 'Christopher', 'Nathan', 'Jacob', 'Dylan', 'Luke', 'Isaac', 'Harrison',\r\n 'Lachlan', 'Cooper', 'Max', 'Angus', 'Hamish', 'Oscar', 'Archer', 'Flynn'\r\n ],\r\n firstNamesFemale: [\r\n 'Charlotte', 'Amelia', 'Olivia', 'Isla', 'Mia', 'Ava', 'Grace', 'Chloe',\r\n 'Emily', 'Sophie', 'Ella', 'Ruby', 'Harper', 'Zoe', 'Lucy', 'Lily',\r\n 'Emma', 'Isabella', 'Sophia', 'Hannah', 'Jessica', 'Sarah', 'Madison',\r\n 'Abigail', 'Elizabeth', 'Scarlett', 'Sienna', 'Matilda', 'Georgia',\r\n 'Evie', 'Willow', 'Ivy', 'Layla', 'Jasmine', 'Poppy', 'Maya', 'Aria'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Jones', 'Williams', 'Brown', 'Wilson', 'Taylor', 'Johnson',\r\n 'White', 'Martin', 'Anderson', 'Thompson', 'Nguyen', 'Thomas', 'Walker',\r\n 'Harris', 'Lee', 'Ryan', 'Robinson', 'Kelly', 'King', 'Murphy', 'Edwards',\r\n 'Hall', 'Moore', 'Clark', 'Jackson', 'Young', 'Lewis', 'Wood', 'Scott',\r\n 'Green', 'Davis', 'Baker', 'Adams', 'Nelson', 'Hill', 'Mitchell', 'Campbell',\r\n 'Roberts', 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart',\r\n 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Cooper', 'Richardson'\r\n ],\r\n streets: [\r\n 'George Street', 'Elizabeth Street', 'King Street', 'Queen Street', 'Collins Street',\r\n 'Bourke Street', 'Flinders Street', 'Swanston Street', 'William Street', 'Victoria Street',\r\n 'Chapel Street', 'High Street', 'Main Road', 'Oxford Street', 'Brunswick Street',\r\n 'Smith Street', 'Sydney Road', 'Lygon Street', 'Fitzroy Street', 'Acland Street',\r\n 'Beach Road', 'Princes Highway', 'Pacific Highway', 'Anzac Parade', 'Military Road',\r\n 'Crown Street', 'Park Road', 'Station Street', 'Church Street', 'Bay Street'\r\n ],\r\n cities: [\r\n 'Sydney', 'Melbourne', 'Brisbane', 'Perth', 'Adelaide', 'Gold Coast', 'Newcastle',\r\n 'Canberra', 'Sunshine Coast', 'Wollongong', 'Hobart', 'Geelong', 'Townsville',\r\n 'Cairns', 'Darwin', 'Toowoomba', 'Ballarat', 'Bendigo', 'Albury', 'Launceston',\r\n 'Mackay', 'Rockhampton', 'Bunbury', 'Bundaberg', 'Wagga Wagga', 'Hervey Bay',\r\n 'Mildura', 'Shepparton', 'Port Macquarie', 'Gladstone', 'Tamworth', 'Dubbo'\r\n ],\r\n states: [\r\n 'New South Wales', 'Victoria', 'Queensland', 'Western Australia',\r\n 'South Australia', 'Tasmania', 'Northern Territory',\r\n 'Australian Capital Territory'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'Tradesperson',\r\n 'Nurse', 'Teacher', 'Electrician', 'Plumber', 'Carpenter', 'Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 999);\r\n const unitNumber = Random.boolean() ? `Unit ${Random.int(1, 50)}/` : '';\r\n return `${unitNumber}${houseNumber} ${street}, ${city} ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const zh_CN: LocaleDefinition = {\r\n lastNames: [\r\n 'Wang', 'Li', 'Zhang', 'Liu', 'Chen', 'Yang', 'Huang', 'Zhao', 'Wu', 'Zhou',\r\n 'Xu', 'Sun', 'Ma', 'Zhu', 'Hu', 'Guo', 'He', 'Gao', 'Lin', 'Luo',\r\n 'Zheng', 'Liang', 'Xie', 'Song', 'Tang', 'Xu', 'Deng', 'Han', 'Feng', 'Cao',\r\n 'Peng', 'Zeng', 'Xiao', 'Tian', 'Dong', 'Pan', 'Yuan', 'Cai', 'Jiang', 'Yu'\r\n ],\r\n firstNamesMale: [\r\n 'Wei', 'Jun', 'Ming', 'Tao', 'Jie', 'Qiang', 'Lei', 'Yong', 'Jian', 'Ping',\r\n 'Bin', 'Feng', 'Long', 'Chao', 'Yang', 'Lin', 'Hao', 'Gang', 'Kai', 'Peng',\r\n 'Zhi', 'Yun', 'Bo', 'Hua', 'Xin', 'Liang', 'Chen', 'Dong', 'Fei', 'Xiong',\r\n 'Huan', 'Yu', 'Rui', 'Jing', 'Song', 'Zhen', 'Kun', 'Han', 'Xi', 'Cheng'\r\n ],\r\n firstNamesFemale: [\r\n 'Li', 'Fang', 'Xiu', 'Ying', 'Min', 'Jing', 'Juan', 'Yan', 'Hong', 'Mei',\r\n 'Xia', 'Qing', 'Lan', 'Yue', 'Xin', 'Ling', 'Na', 'Hui', 'Rong', 'Dan',\r\n 'Shan', 'Yun', 'Ping', 'Jie', 'Xue', 'Fen', 'Yu', 'Qian', 'Shu', 'Wen',\r\n 'Zhen', 'Xiang', 'Cui', 'Lin', 'Ran', 'Meng', 'Rou', 'Yi', 'Ning', 'Qin'\r\n ],\r\n streets: [\r\n 'Zhongshan Road', 'Renmin Road', 'Jiefang Road', 'Changjiang Road', 'Huanghe Road',\r\n 'Beijing Road', 'Shanghai Road', 'Guangzhou Road', 'Nanjing Road', 'Chengdu Road',\r\n 'Dongfeng Road', 'Xin Avenue', 'Heping Road', 'Wenhua Road', 'Jianshe Road',\r\n 'Minzhu Road', 'Gongyuan Road', 'Xueyuan Road', 'Keji Road', 'Binhe Road'\r\n ],\r\n cities: [\r\n 'Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Chengdu', 'Chongqing', 'Tianjin',\r\n 'Wuhan', 'Hangzhou', 'Nanjing', 'Xi\\'an', 'Shenyang', 'Harbin', 'Changchun',\r\n 'Dalian', 'Qingdao', 'Jinan', 'Zhengzhou', 'Shijiazhuang', 'Taiyuan', 'Hefei',\r\n 'Changsha', 'Nanchang', 'Fuzhou', 'Kunming', 'Guiyang', 'Nanning', 'Lanzhou'\r\n ],\r\n states: [\r\n 'Beijing', 'Shanghai', 'Tianjin', 'Chongqing', 'Hebei', 'Shanxi', 'Liaoning',\r\n 'Jilin', 'Heilongjiang', 'Jiangsu', 'Zhejiang', 'Anhui', 'Fujian', 'Jiangxi',\r\n 'Shandong', 'Henan', 'Hubei', 'Hunan', 'Guangdong', 'Hainan', 'Sichuan',\r\n 'Guizhou', 'Yunnan', 'Shaanxi', 'Gansu', 'Qinghai', 'Xinjiang', 'Guangxi'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'R&D', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 999);\r\n const unit = Random.int(1, 50);\r\n return `${state} Province, ${city}, ${street} No.${building}, Unit ${unit}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_IN: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Rahul', 'Amit', 'Raj', 'Rohan', 'Arjun', 'Aditya', 'Aryan', 'Vikram', 'Suresh',\r\n 'Karan', 'Sandeep', 'Rajesh', 'Manoj', 'Ashok', 'Deepak', 'Ajay', 'Ravi',\r\n 'Krishna', 'Sanjay', 'Vijay', 'Anil', 'Ramesh', 'Rakesh', 'Nitin', 'Vivek',\r\n 'Sachin', 'Akash', 'Nikhil', 'Siddharth', 'Ankit', 'Varun', 'Kunal', 'Harsh'\r\n ],\r\n firstNamesFemale: [\r\n 'Priya', 'Pooja', 'Anita', 'Sneha', 'Kavita', 'Neha', 'Ritu', 'Anjali', 'Divya',\r\n 'Preeti', 'Sunita', 'Asha', 'Rekha', 'Sonal', 'Manisha', 'Deepika', 'Simran',\r\n 'Nisha', 'Swati', 'Meera', 'Radha', 'Seema', 'Geeta', 'Riya', 'Shreya',\r\n 'Ayesha', 'Sakshi', 'Tanvi', 'Aditi', 'Kritika', 'Ishita', 'Dia', 'Mira'\r\n ],\r\n lastNames: [\r\n 'Sharma', 'Verma', 'Singh', 'Kumar', 'Gupta', 'Patel', 'Shah', 'Reddy', 'Desai',\r\n 'Joshi', 'Rao', 'Mehta', 'Nair', 'Iyer', 'Chopra', 'Malhotra', 'Kapoor', 'Agarwal',\r\n 'Bansal', 'Jain', 'Sinha', 'Khan', 'Menon', 'Kulkarni', 'Bhatt', 'Trivedi',\r\n 'Pandey', 'Mishra', 'Yadav', 'Saxena', 'Bose', 'Ghosh', 'Chatterjee', 'Das'\r\n ],\r\n streets: [\r\n 'MG Road', 'Nehru Street', 'Gandhi Nagar', 'Park Street', 'Brigade Road',\r\n 'Anna Salai', 'Mall Road', 'Station Road', 'Marine Drive', 'Linking Road',\r\n 'Main Road', 'Church Street', 'Cross Road', 'Ring Road', 'Service Road',\r\n 'Residency Road', 'Commercial Street', 'Infantry Road', 'Richmond Road'\r\n ],\r\n cities: [\r\n 'Mumbai', 'Delhi', 'Bangalore', 'Hyderabad', 'Chennai', 'Kolkata', 'Pune', 'Ahmedabad',\r\n 'Jaipur', 'Surat', 'Lucknow', 'Kanpur', 'Nagpur', 'Indore', 'Bhopal', 'Visakhapatnam',\r\n 'Patna', 'Vadodara', 'Ghaziabad', 'Ludhiana', 'Agra', 'Nashik', 'Faridabad', 'Meerut',\r\n 'Rajkot', 'Kalyan', 'Vasai', 'Varanasi', 'Srinagar', 'Aurangabad', 'Dhanbad', 'Amritsar'\r\n ],\r\n states: [\r\n 'Maharashtra', 'Delhi', 'Karnataka', 'Telangana', 'Tamil Nadu', 'West Bengal',\r\n 'Gujarat', 'Rajasthan', 'Uttar Pradesh', 'Madhya Pradesh', 'Bihar', 'Kerala',\r\n 'Andhra Pradesh', 'Haryana', 'Punjab', 'Odisha', 'Jharkhand', 'Uttarakhand',\r\n 'Himachal Pradesh', 'Assam', 'Chhattisgarh', 'Goa', 'Jammu and Kashmir'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Executive', 'Chartered Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Analyst'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Support', 'IT', 'Research & Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNo = Random.int(1, 999);\r\n const sector = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${houseNo}/${sector}, ${street}, ${city}, ${state} - ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_MX: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'José', 'Juan', 'Luis', 'Miguel', 'Carlos', 'Antonio', 'Francisco', 'Alejandro',\r\n 'Pedro', 'Jesús', 'Manuel', 'Rafael', 'Javier', 'Daniel', 'Ricardo', 'Fernando',\r\n 'Jorge', 'Roberto', 'Eduardo', 'Sergio', 'Raúl', 'Arturo', 'Gerardo', 'Héctor',\r\n 'Andrés', 'Diego', 'Gabriel', 'Oscar', 'Julio', 'Ramón', 'Armando', 'Enrique'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Guadalupe', 'Juana', 'Margarita', 'Rosa', 'Francisca', 'Teresa', 'Ana',\r\n 'Patricia', 'Carmen', 'Laura', 'Gabriela', 'Verónica', 'Silvia', 'Martha', 'Diana',\r\n 'Karla', 'Leticia', 'Sandra', 'Elena', 'Claudia', 'Alejandra', 'Daniela', 'Sofía',\r\n 'Adriana', 'Andrea', 'Monica', 'Beatriz', 'Cecilia', 'Paola', 'Fernanda', 'Lucía'\r\n ],\r\n lastNames: [\r\n 'Hernández', 'García', 'Martínez', 'López', 'González', 'Rodríguez', 'Pérez', 'Sánchez',\r\n 'Ramírez', 'Torres', 'Flores', 'Rivera', 'Gómez', 'Díaz', 'Cruz', 'Morales',\r\n 'Reyes', 'Gutiérrez', 'Ortiz', 'Mendoza', 'Castillo', 'Vargas', 'Romero', 'Jiménez',\r\n 'Ruiz', 'Álvarez', 'Vázquez', 'Medina', 'Aguilar', 'Salazar', 'Rojas', 'Herrera'\r\n ],\r\n streets: [\r\n 'Avenida Reforma', 'Calle Juárez', 'Avenida Insurgentes', 'Calle Hidalgo',\r\n 'Avenida Revolución', 'Calle Morelos', 'Avenida Universidad', 'Calle Independencia',\r\n 'Avenida Constitución', 'Calle 5 de Mayo', 'Avenida Chapultepec', 'Calle Madero',\r\n 'Avenida Patriotismo', 'Calle Guerrero', 'Avenida División del Norte', 'Calle Cuauhtémoc'\r\n ],\r\n cities: [\r\n 'Ciudad de México', 'Guadalajara', 'Monterrey', 'Puebla', 'Tijuana', 'León',\r\n 'Juárez', 'Zapopan', 'Mérida', 'San Luis Potosí', 'Querétaro', 'Toluca',\r\n 'Chihuahua', 'Aguascalientes', 'Saltillo', 'Mexicali', 'Culiacán', 'Acapulco',\r\n 'Cancún', 'Veracruz', 'Hermosillo', 'Morelia', 'Durango', 'Oaxaca', 'Tampico'\r\n ],\r\n states: [\r\n 'Ciudad de México', 'Jalisco', 'Nuevo León', 'Puebla', 'Baja California', 'Guanajuato',\r\n 'Chihuahua', 'Yucatán', 'San Luis Potosí', 'Querétaro', 'Estado de México',\r\n 'Veracruz', 'Aguascalientes', 'Coahuila', 'Sinaloa', 'Sonora', 'Michoacán',\r\n 'Guerrero', 'Quintana Roo', 'Tamaulipas', 'Oaxaca', 'Chiapas', 'Durango'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\r\n 'Representante de Ventas', 'Contador', 'Gerente de RH', 'Diseñador', 'Gerente de Operaciones',\r\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const colonia = Random.pick(['Centro', 'Norte', 'Sur', 'Oriente', 'Poniente']);\r\n return `${street} ${number}, Col. ${colonia}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const it_IT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Francesco', 'Alessandro', 'Andrea', 'Lorenzo', 'Matteo', 'Gabriele', 'Mattia',\r\n 'Marco', 'Luca', 'Giovanni', 'Giuseppe', 'Antonio', 'Roberto', 'Paolo', 'Stefano',\r\n 'Carlo', 'Davide', 'Simone', 'Federico', 'Riccardo', 'Michele', 'Tommaso',\r\n 'Filippo', 'Vincenzo', 'Emanuele', 'Alberto', 'Daniele', 'Leonardo', 'Pietro'\r\n ],\r\n firstNamesFemale: [\r\n 'Sofia', 'Giulia', 'Aurora', 'Alice', 'Ginevra', 'Emma', 'Giorgia', 'Greta',\r\n 'Beatrice', 'Anna', 'Chiara', 'Francesca', 'Sara', 'Martina', 'Alessia', 'Elena',\r\n 'Silvia', 'Valentina', 'Federica', 'Laura', 'Elisa', 'Claudia', 'Monica', 'Paola',\r\n 'Roberta', 'Simona', 'Antonella', 'Maria', 'Lucia', 'Cristina', 'Isabella'\r\n ],\r\n lastNames: [\r\n 'Rossi', 'Russo', 'Ferrari', 'Esposito', 'Bianchi', 'Romano', 'Colombo', 'Ricci',\r\n 'Marino', 'Greco', 'Bruno', 'Gallo', 'Conti', 'De Luca', 'Costa', 'Giordano',\r\n 'Mancini', 'Rizzo', 'Lombardi', 'Moretti', 'Barbieri', 'Fontana', 'Santoro',\r\n 'Mariani', 'Rinaldi', 'Caruso', 'Ferrara', 'Galli', 'Martini', 'Leone', 'Longo'\r\n ],\r\n streets: [\r\n 'Via Roma', 'Corso Italia', 'Via Garibaldi', 'Via Mazzini', 'Piazza Duomo',\r\n 'Via Dante', 'Corso Vittorio Emanuele', 'Via Cavour', 'Via Verdi', 'Via Nazionale',\r\n 'Corso Umberto', 'Via Milano', 'Via Torino', 'Via Napoli', 'Viale Europa',\r\n 'Via della Repubblica', 'Corso Giuseppe Mazzini', 'Via San Francesco', 'Via Venezia'\r\n ],\r\n cities: [\r\n 'Roma', 'Milano', 'Napoli', 'Torino', 'Palermo', 'Genova', 'Bologna', 'Firenze',\r\n 'Bari', 'Catania', 'Venezia', 'Verona', 'Messina', 'Padova', 'Trieste', 'Brescia',\r\n 'Parma', 'Taranto', 'Prato', 'Modena', 'Reggio Calabria', 'Reggio Emilia', 'Perugia',\r\n 'Livorno', 'Ravenna', 'Cagliari', 'Foggia', 'Rimini', 'Salerno', 'Ferrara', 'Sassari'\r\n ],\r\n states: [\r\n 'Lazio', 'Lombardia', 'Campania', 'Piemonte', 'Sicilia', 'Liguria', 'Emilia-Romagna',\r\n 'Toscana', 'Puglia', 'Veneto', 'Calabria', 'Sardegna', 'Marche', 'Abruzzo',\r\n 'Friuli-Venezia Giulia', 'Umbria', 'Basilicata', 'Molise', 'Trentino-Alto Adige', 'Valle d\\'Aosta'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingegnere Software', 'Project Manager', 'Analista Dati', 'Responsabile Marketing',\r\n 'Rappresentante Vendite', 'Commercialista', 'Responsabile HR', 'Designer',\r\n 'Responsabile Operazioni', 'Analista di Business', 'Product Manager', 'Amministratore di Sistema'\r\n ],\r\n departments: [\r\n 'Ingegneria', 'Marketing', 'Vendite', 'Risorse Umane', 'Finanza', 'Operazioni',\r\n 'Servizio Clienti', 'IT', 'Ricerca e Sviluppo', 'Legale', 'Amministrazione'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street}, ${number}, ${zipCode} ${city} (${state.substring(0, 2).toUpperCase()})`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_ES: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Antonio', 'Manuel', 'José', 'Francisco', 'David', 'Juan', 'Javier', 'Daniel',\r\n 'Carlos', 'Miguel', 'Alejandro', 'Pedro', 'Jesús', 'Pablo', 'Sergio', 'Rafael',\r\n 'Ángel', 'José Antonio', 'Fernando', 'Luis', 'Alberto', 'Jorge', 'Adrián',\r\n 'Álvaro', 'Diego', 'Raúl', 'Enrique', 'Rubén', 'Iván', 'Gonzalo', 'Hugo'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Carmen', 'Ana', 'Isabel', 'Dolores', 'Pilar', 'Teresa', 'Rosa',\r\n 'Lucía', 'Paula', 'Sara', 'Laura', 'Marta', 'Elena', 'Cristina', 'Andrea',\r\n 'Sofía', 'Beatriz', 'Alba', 'Nuria', 'Silvia', 'Patricia', 'Raquel', 'Marina',\r\n 'Clara', 'Irene', 'Julia', 'Natalia', 'Rocío', 'Eva', 'Mónica', 'Susana'\r\n ],\r\n lastNames: [\r\n 'García', 'Fernández', 'González', 'Rodríguez', 'López', 'Martínez', 'Sánchez', 'Pérez',\r\n 'Gómez', 'Martín', 'Jiménez', 'Ruiz', 'Hernández', 'Díaz', 'Moreno', 'Muñoz',\r\n 'Álvarez', 'Romero', 'Alonso', 'Gutiérrez', 'Navarro', 'Torres', 'Domínguez',\r\n 'Vázquez', 'Ramos', 'Gil', 'Ramírez', 'Serrano', 'Blanco', 'Molina', 'Morales'\r\n ],\r\n streets: [\r\n 'Calle Mayor', 'Gran Vía', 'Calle Real', 'Paseo de la Castellana', 'Avenida de Andalucía',\r\n 'Calle Alcalá', 'Paseo del Prado', 'Calle de Serrano', 'Avenida Diagonal',\r\n 'Ronda de Segovia', 'Calle Toledo', 'Plaza de España', 'Calle Atocha',\r\n 'Paseo de Gracia', 'Calle Preciados', 'Avenida de América', 'Calle Génova'\r\n ],\r\n cities: [\r\n 'Madrid', 'Barcelona', 'Valencia', 'Sevilla', 'Zaragoza', 'Málaga', 'Murcia',\r\n 'Palma', 'Las Palmas', 'Bilbao', 'Alicante', 'Córdoba', 'Valladolid', 'Vigo',\r\n 'Gijón', 'Hospitalet', 'Vitoria', 'Granada', 'Elche', 'Oviedo', 'Badalona',\r\n 'Cartagena', 'Terrassa', 'Jerez', 'Sabadell', 'Santa Cruz', 'Pamplona', 'Almería'\r\n ],\r\n states: [\r\n 'Madrid', 'Cataluña', 'Comunidad Valenciana', 'Andalucía', 'Aragón', 'Galicia',\r\n 'Castilla y León', 'País Vasco', 'Canarias', 'Castilla-La Mancha', 'Murcia',\r\n 'Asturias', 'Islas Baleares', 'Extremadura', 'Navarra', 'Cantabria', 'La Rioja'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Jefe de Proyecto', 'Analista de Datos', 'Responsable de Marketing',\r\n 'Comercial', 'Contable', 'Jefe de RRHH', 'Diseñador', 'Responsable de Operaciones',\r\n 'Analista de Negocio', 'Jefe de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'Informática', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const piso = Random.int(1, 8);\r\n const puerta = Random.pick(['A', 'B', 'C', 'D']);\r\n return `${street}, ${number}, ${piso}º ${puerta}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nl_NL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Pieter', 'Kees', 'Henk', 'Johan', 'Daan', 'Lucas', 'Sem', 'Bram', 'Thijs',\r\n 'Lars', 'Tim', 'Tom', 'Ruben', 'Sven', 'Stijn', 'Luuk', 'Jesse', 'Milan', 'Max',\r\n 'Finn', 'Teun', 'Bas', 'Nick', 'Thomas', 'Jasper', 'Jelle', 'Roel', 'Sander'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Emma', 'Sophie', 'Julia', 'Lisa', 'Laura', 'Sanne', 'Eva', 'Lotte',\r\n 'Sara', 'Isa', 'Anne', 'Nina', 'Fleur', 'Femke', 'Iris', 'Noa', 'Maud', 'Roos',\r\n 'Eline', 'Demi', 'Lynn', 'Amy', 'Lieke', 'Naomi', 'Amber', 'Vera', 'Maja', 'Tess'\r\n ],\r\n lastNames: [\r\n 'de Jong', 'Jansen', 'de Vries', 'van den Berg', 'van Dijk', 'Bakker', 'Janssen',\r\n 'Visser', 'Smit', 'Meijer', 'de Boer', 'Mulder', 'de Groot', 'Bos', 'Vos',\r\n 'Peters', 'Hendriks', 'van Leeuwen', 'Dekker', 'Brouwer', 'de Wit', 'Dijkstra',\r\n 'Smits', 'de Graaf', 'van der Meer', 'van der Linden', 'Kok', 'Jacobs', 'de Haan'\r\n ],\r\n streets: [\r\n 'Hoofdstraat', 'Kerkstraat', 'Schoolstraat', 'Dorpsstraat', 'Stationsweg',\r\n 'Molenstraat', 'Nieuwstraat', 'Parkweg', 'Bosweg', 'Beatrixlaan', 'Wilhelminalaan',\r\n 'Julianastraat', 'Koningstraat', 'Prins Hendrikstraat', 'Marktstraat',\r\n 'Parallelweg', 'Gravenstraat', 'Binnenweg', 'Groeneweg', 'Lindenstraat'\r\n ],\r\n cities: [\r\n 'Amsterdam', 'Rotterdam', 'Den Haag', 'Utrecht', 'Eindhoven', 'Tilburg', 'Groningen',\r\n 'Almere', 'Breda', 'Nijmegen', 'Enschede', 'Haarlem', 'Arnhem', 'Zaanstad',\r\n 'Amersfoort', 'Apeldoorn', 'Hoofddorp', 'Maastricht', 'Leiden', 'Dordrecht',\r\n 'Zoetermeer', 'Zwolle', 'Deventer', 'Delft', 'Alkmaar', 'Heerlen', 'Venlo'\r\n ],\r\n states: [\r\n 'Noord-Holland', 'Zuid-Holland', 'Utrecht', 'Noord-Brabant', 'Gelderland',\r\n 'Overijssel', 'Limburg', 'Groningen', 'Friesland', 'Zeeland', 'Flevoland', 'Drenthe'\r\n ],\r\n zipCodePattern: '#### @@',\r\n jobTitles: [\r\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\r\n 'Vertegenwoordiger', 'Accountant', 'HR Manager', 'Designer', 'Operationeel Manager',\r\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsanalist'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\r\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 250);\r\n const letter = Random.boolean() ? Random.pick(['A', 'B', 'C']) : '';\r\n return `${street} ${number}${letter}, ${zipCode}, ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const digits = String(Random.int(1000, 9999));\r\n const letters = String.fromCharCode(65 + Random.int(0, 25)) + \r\n String.fromCharCode(65 + Random.int(0, 25));\r\n return `${digits} ${letters}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_CA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Liam', 'Noah', 'Oliver', 'Ethan', 'Logan', 'Lucas', 'Mason', 'Benjamin', 'Jack',\r\n 'James', 'William', 'Alexander', 'Michael', 'Jacob', 'Daniel', 'Matthew', 'Ryan',\r\n 'Nathan', 'Samuel', 'Owen', 'Dylan', 'Connor', 'Carter', 'Caleb', 'Luke', 'Wyatt',\r\n 'Thomas', 'Andrew', 'Nicholas', 'Adam', 'David', 'Joseph', 'Tyler', 'Hunter'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Olivia', 'Ava', 'Sophia', 'Isabella', 'Charlotte', 'Amelia', 'Mia', 'Harper',\r\n 'Emily', 'Abigail', 'Ella', 'Madison', 'Scarlett', 'Grace', 'Chloe', 'Victoria',\r\n 'Sofia', 'Lily', 'Hannah', 'Avery', 'Zoe', 'Aria', 'Brooklyn', 'Claire', 'Leah',\r\n 'Maya', 'Addison', 'Riley', 'Sarah', 'Rachel', 'Jessica', 'Jennifer', 'Laura'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Brown', 'Lee', 'Wilson', 'Martin', 'Roy', 'Tremblay', 'Anderson', 'Johnson',\r\n 'Taylor', 'Gagnon', 'White', 'Thomas', 'Thompson', 'Campbell', 'Clark', 'Lewis',\r\n 'Walker', 'Hall', 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Robinson', 'Green',\r\n 'MacDonald', 'Murphy', 'Stewart', 'Cook', 'Bailey', 'Kelly', 'Ross', 'Mitchell'\r\n ],\r\n streets: [\r\n 'Main Street', 'King Street', 'Queen Street', 'Yonge Street', 'Bloor Street',\r\n 'Dundas Street', 'College Street', 'Bay Street', 'University Avenue', 'Front Street',\r\n 'Wellington Street', 'Richmond Street', 'Adelaide Street', 'Spadina Avenue',\r\n 'Parliament Street', 'Jarvis Street', 'Church Street', 'Victoria Street', 'First Avenue'\r\n ],\r\n cities: [\r\n 'Toronto', 'Montreal', 'Vancouver', 'Calgary', 'Edmonton', 'Ottawa', 'Winnipeg',\r\n 'Quebec City', 'Hamilton', 'Kitchener', 'London', 'Victoria', 'Halifax', 'Oshawa',\r\n 'Windsor', 'Saskatoon', 'Regina', 'Barrie', 'Kelowna', 'Abbotsford', 'Sherbrooke',\r\n 'Guelph', 'Kingston', 'Trois-Rivières', 'Sudbury', 'Thunder Bay', 'Moncton'\r\n ],\r\n states: [\r\n 'Ontario', 'Quebec', 'British Columbia', 'Alberta', 'Manitoba', 'Saskatchewan',\r\n 'Nova Scotia', 'New Brunswick', 'Newfoundland and Labrador', 'Prince Edward Island',\r\n 'Northwest Territories', 'Yukon', 'Nunavut'\r\n ],\r\n zipCodePattern: '@#@ #@#',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const unit = Random.boolean() ? `Unit ${Random.int(1, 100)}, ` : '';\r\n return `${unit}${number} ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letters = 'ABCDEFGHJKLMNPRSTVWXYZ';\r\n const digits = '0123456789';\r\n return `${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]} ${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_GB: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'George', 'Harry', 'Jack', 'Jacob', 'Noah', 'Charlie', 'Muhammad', 'Thomas',\r\n 'Oscar', 'William', 'James', 'Henry', 'Alfie', 'Leo', 'Joshua', 'Freddie', 'Ethan',\r\n 'Archie', 'Isaac', 'Alexander', 'Joseph', 'Edward', 'Samuel', 'Daniel', 'Max',\r\n 'Lucas', 'Mason', 'Harrison', 'Logan', 'Sebastian', 'Dylan', 'Arthur', 'Theo'\r\n ],\r\n firstNamesFemale: [\r\n 'Olivia', 'Amelia', 'Isla', 'Ava', 'Emily', 'Isabella', 'Mia', 'Poppy', 'Ella',\r\n 'Lily', 'Sophie', 'Grace', 'Sophia', 'Charlotte', 'Freya', 'Evie', 'Daisy', 'Florence',\r\n 'Alice', 'Jessica', 'Ivy', 'Millie', 'Ruby', 'Rosie', 'Scarlett', 'Isabelle',\r\n 'Phoebe', 'Willow', 'Sienna', 'Lucy', 'Emma', 'Harriet', 'Evelyn', 'Elsie'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Jones', 'Taylor', 'Brown', 'Williams', 'Wilson', 'Johnson', 'Davies',\r\n 'Robinson', 'Wright', 'Thompson', 'Evans', 'Walker', 'White', 'Roberts', 'Green',\r\n 'Hall', 'Wood', 'Jackson', 'Clarke', 'Patel', 'Khan', 'Lewis', 'James', 'Roberts',\r\n 'Baker', 'Harrison', 'Hughes', 'Edwards', 'Collins', 'Morgan', 'Cooper', 'Bell'\r\n ],\r\n streets: [\r\n 'High Street', 'Station Road', 'Main Street', 'Park Road', 'Church Street',\r\n 'Victoria Road', 'Green Lane', 'Manor Road', 'Church Lane', 'Park Avenue',\r\n 'The Avenue', 'Queens Road', 'New Road', 'Grange Road', 'King Street', 'Kingsway',\r\n 'Windsor Road', 'London Road', 'Mill Lane', 'School Lane', 'The Green', 'The Crescent'\r\n ],\r\n cities: [\r\n 'London', 'Birmingham', 'Manchester', 'Leeds', 'Liverpool', 'Newcastle', 'Sheffield',\r\n 'Bristol', 'Glasgow', 'Leicester', 'Edinburgh', 'Bradford', 'Cardiff', 'Belfast',\r\n 'Nottingham', 'Coventry', 'Kingston upon Hull', 'Stoke-on-Trent', 'Plymouth',\r\n 'Wolverhampton', 'Derby', 'Southampton', 'Portsmouth', 'Brighton', 'Reading',\r\n 'Northampton', 'Luton', 'Bolton', 'Aberdeen', 'York', 'Oxford', 'Cambridge'\r\n ],\r\n states: [\r\n 'England', 'Scotland', 'Wales', 'Northern Ireland', 'Greater London', 'West Midlands',\r\n 'Greater Manchester', 'West Yorkshire', 'South Yorkshire', 'Merseyside', 'Tyne and Wear'\r\n ],\r\n zipCodePattern: '@## #@@',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n return `${number} ${street}, ${city}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const area = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\r\n const district = Random.int(1, 99);\r\n const sector = Random.int(0, 9);\r\n const unit = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\r\n return `${area}${district} ${sector}${unit}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ru_RU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Alexander', 'Dmitry', 'Maxim', 'Sergey', 'Andrey', 'Alexey', 'Artem', 'Ivan',\r\n 'Mikhail', 'Roman', 'Vladimir', 'Nikita', 'Yegor', 'Denis', 'Pavel', 'Kirill',\r\n 'Anton', 'Oleg', 'Konstantin', 'Igor', 'Evgeny', 'Viktor', 'Nikolay', 'Ilya',\r\n 'Timur', 'Daniil', 'Vadim', 'Georgy', 'Stanislav', 'Gleb', 'Ruslan', 'Yaroslav'\r\n ],\r\n firstNamesFemale: [\r\n 'Anastasia', 'Maria', 'Daria', 'Anna', 'Ekaterina', 'Victoria', 'Polina', 'Elizaveta',\r\n 'Alexandra', 'Natalia', 'Olga', 'Tatiana', 'Irina', 'Yulia', 'Elena', 'Ksenia',\r\n 'Svetlana', 'Marina', 'Vera', 'Sophia', 'Alina', 'Valeria', 'Veronika', 'Kristina',\r\n 'Diana', 'Lyubov', 'Galina', 'Nina', 'Larisa', 'Ludmila', 'Angelina', 'Arina'\r\n ],\r\n lastNames: [\r\n 'Ivanov', 'Smirnov', 'Kuznetsov', 'Popov', 'Vasiliev', 'Petrov', 'Sokolov', 'Mikhailov',\r\n 'Novikov', 'Fedorov', 'Morozov', 'Volkov', 'Alexeev', 'Lebedev', 'Semenov', 'Egorov',\r\n 'Pavlov', 'Kozlov', 'Stepanov', 'Nikolaev', 'Orlov', 'Andreev', 'Makarov', 'Nikitin',\r\n 'Zakharov', 'Zaitsev', 'Soloviev', 'Borisov', 'Yakovlev', 'Grigoriev', 'Romanov'\r\n ],\r\n streets: [\r\n 'Lenina Street', 'Pushkina Street', 'Sovetskaya Street', 'Tsentralnaya Street',\r\n 'Mira Avenue', 'Gagarina Street', 'Komsomolskaya Street', 'Kirova Street',\r\n 'Pobedy Avenue', 'Oktyabrskaya Street', 'Sadovaya Street', 'Moskovskaya Street',\r\n 'Nevsky Prospekt', 'Tverskaya Street', 'Arbat Street', 'Prospekt Mira',\r\n 'Kutuzovsky Prospekt', 'Leningradsky Prospekt', 'Novinsky Boulevard'\r\n ],\r\n cities: [\r\n 'Moscow', 'Saint Petersburg', 'Novosibirsk', 'Yekaterinburg', 'Kazan', 'Nizhny Novgorod',\r\n 'Chelyabinsk', 'Samara', 'Omsk', 'Rostov-on-Don', 'Ufa', 'Krasnoyarsk', 'Voronezh',\r\n 'Perm', 'Volgograd', 'Krasnodar', 'Saratov', 'Tyumen', 'Tolyatti', 'Izhevsk',\r\n 'Barnaul', 'Ulyanovsk', 'Irkutsk', 'Khabarovsk', 'Yaroslavl', 'Vladivostok', 'Tomsk'\r\n ],\r\n states: [\r\n 'Moscow Oblast', 'Saint Petersburg', 'Moscow', 'Sverdlovsk Oblast', 'Tatarstan',\r\n 'Krasnodar Krai', 'Chelyabinsk Oblast', 'Nizhny Novgorod Oblast', 'Samara Oblast',\r\n 'Bashkortostan', 'Rostov Oblast', 'Krasnoyarsk Krai', 'Novosibirsk Oblast',\r\n 'Perm Krai', 'Voronezh Oblast', 'Volgograd Oblast', 'Saratov Oblast'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 200);\r\n const apartment = Random.int(1, 150);\r\n return `${state}, ${city}, ${street}, d. ${building}, kv. ${apartment}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pl_PL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Andrzej', 'Piotr', 'Krzysztof', 'Stanisław', 'Tomasz', 'Paweł', 'Józef',\r\n 'Marcin', 'Michał', 'Grzegorz', 'Jerzy', 'Tadeusz', 'Adam', 'Łukasz', 'Zbigniew',\r\n 'Ryszard', 'Kazimierz', 'Marek', 'Mateusz', 'Kamil', 'Jakub', 'Robert', 'Rafał',\r\n 'Wojciech', 'Sławomir', 'Dariusz', 'Dawid', 'Bartosz', 'Kacper', 'Filip', 'Igor'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Katarzyna', 'Małgorzata', 'Agnieszka', 'Barbara', 'Ewa', 'Krystyna',\r\n 'Elżbieta', 'Zofia', 'Teresa', 'Joanna', 'Magdalena', 'Monika', 'Jadwiga', 'Danuta',\r\n 'Irena', 'Halina', 'Helena', 'Beata', 'Aleksandra', 'Natalia', 'Dorota', 'Paulina',\r\n 'Sylwia', 'Iwona', 'Jolanta', 'Renata', 'Karolina', 'Weronika', 'Julia', 'Martyna'\r\n ],\r\n lastNames: [\r\n 'Nowak', 'Kowalski', 'Wiśniewski', 'Dąbrowski', 'Lewandowski', 'Wójcik', 'Kamiński',\r\n 'Kowalczyk', 'Zieliński', 'Szymański', 'Woźniak', 'Kozłowski', 'Jankowski', 'Wojciechowski',\r\n 'Kwiatkowski', 'Kaczmarek', 'Mazur', 'Krawczyk', 'Piotrowski', 'Grabowski', 'Nowakowski',\r\n 'Pawłowski', 'Michalski', 'Nowicki', 'Adamczyk', 'Dudek', 'Zając', 'Wieczorek', 'Jabłoński'\r\n ],\r\n streets: [\r\n 'ulica Główna', 'ulica Kwiatowa', 'ulica Słoneczna', 'ulica Polna', 'ulica Leśna',\r\n 'ulica Krótka', 'ulica Długa', 'ulica Szkolna', 'ulica Kościelna', 'ulica Parkowa',\r\n 'Plac Wolności', 'Aleja Solidarności', 'ulica 3 Maja', 'ulica Piłsudskiego',\r\n 'ulica Mickiewicza', 'ulica Słowackiego', 'ulica Kopernika', 'ulica Chopina'\r\n ],\r\n cities: [\r\n 'Warszawa', 'Kraków', 'Łódź', 'Wrocław', 'Poznań', 'Gdańsk', 'Szczecin', 'Bydgoszcz',\r\n 'Lublin', 'Białystok', 'Katowice', 'Gdynia', 'Częstochowa', 'Radom', 'Sosnowiec',\r\n 'Toruń', 'Kielce', 'Gliwice', 'Zabrze', 'Bytom', 'Olsztyn', 'Bielsko-Biała',\r\n 'Rzeszów', 'Ruda Śląska', 'Rybnik', 'Tychy', 'Dąbrowa Górnicza', 'Płock', 'Elbląg'\r\n ],\r\n states: [\r\n 'Mazowieckie', 'Śląskie', 'Wielkopolskie', 'Małopolskie', 'Dolnośląskie', 'Łódzkie',\r\n 'Pomorskie', 'Kujawsko-Pomorskie', 'Zachodniopomorskie', 'Lubelskie', 'Podkarpackie',\r\n 'Warmińsko-Mazurskie', 'Świętokrzyskie', 'Podlaskie', 'Opolskie', 'Lubuskie'\r\n ],\r\n zipCodePattern: '##-###',\r\n jobTitles: [\r\n 'Inżynier Oprogramowania', 'Kierownik Projektu', 'Analityk Danych', 'Kierownik Marketingu',\r\n 'Przedstawiciel Handlowy', 'Księgowy', 'Kierownik HR', 'Projektant', 'Kierownik Operacyjny',\r\n 'Analityk Biznesowy', 'Kierownik Produktu', 'Administrator Systemu', 'Inżynier Jakości'\r\n ],\r\n departments: [\r\n 'Inżynieria', 'Marketing', 'Sprzedaż', 'Zasoby Ludzkie', 'Finanse', 'Operacje',\r\n 'Obsługa Klienta', 'IT', 'Badania i Rozwój', 'Prawny', 'Administracja'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const apartment = Random.int(1, 80);\r\n return `${street} ${number}/${apartment}, ${zipCode} ${city}, woj. ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(10, 99));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const tr_TR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mehmet', 'Mustafa', 'Ahmet', 'Ali', 'Hüseyin', 'Hasan', 'İbrahim', 'İsmail',\r\n 'Yusuf', 'Murat', 'Süleyman', 'Ömer', 'Emre', 'Can', 'Burak', 'Kemal', 'Onur',\r\n 'Serkan', 'Fatih', 'Oğuz', 'Eren', 'Cem', 'Deniz', 'Barış', 'Kaan', 'Arda',\r\n 'Emir', 'Efe', 'Okan', 'Furkan', 'Yasin', 'Berkay', 'Umut', 'Volkan'\r\n ],\r\n firstNamesFemale: [\r\n 'Ayşe', 'Fatma', 'Emine', 'Hatice', 'Zeynep', 'Elif', 'Merve', 'Büşra', 'Esra',\r\n 'Sultan', 'Hanife', 'Meryem', 'Şeyma', 'Fadime', 'Cemre', 'Selin', 'Yasemin',\r\n 'Özlem', 'Gül', 'Aylin', 'Deniz', 'Ceren', 'Ece', 'Beyza', 'Tuğba', 'Burcu',\r\n 'Ebru', 'Nur', 'Buse', 'Defne', 'Ada', 'Aslı', 'Seda', 'Meltem'\r\n ],\r\n lastNames: [\r\n 'Yılmaz', 'Kaya', 'Demir', 'Şahin', 'Çelik', 'Yıldız', 'Yıldırım', 'Öztürk',\r\n 'Aydın', 'Özdemir', 'Arslan', 'Doğan', 'Kılıç', 'Aslan', 'Çetin', 'Kara',\r\n 'Koç', 'Kurt', 'Özkan', 'Şimşek', 'Erdoğan', 'Aksoy', 'Güneş', 'Çakır',\r\n 'Özgür', 'Korkmaz', 'Acar', 'Polat', 'Aktaş', 'Özer', 'Demirci', 'Yavuz'\r\n ],\r\n streets: [\r\n 'Atatürk Caddesi', 'İstiklal Caddesi', 'Cumhuriyet Caddesi', 'Barbaros Bulvarı',\r\n 'Bağdat Caddesi', 'Gazi Mustafa Kemal Bulvarı', 'Ankara Caddesi', 'İnönü Caddesi',\r\n 'Fevzi Çakmak Caddesi', 'Mithatpaşa Caddesi', 'Kızılay Meydanı', 'Fatih Caddesi',\r\n 'Yeşilırmak Sokak', 'Mehmet Akif Caddesi', 'Hürriyet Bulvarı', 'Mimar Sinan Caddesi'\r\n ],\r\n cities: [\r\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\r\n 'Şanlıurfa', 'Kocaeli', 'Mersin', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri',\r\n 'Samsun', 'Balıkesir', 'Kahramanmaraş', 'Van', 'Aydın', 'Denizli', 'Sakarya',\r\n 'Tekirdağ', 'Muğla', 'Eskişehir', 'Mardin', 'Malatya', 'Erzurum', 'Trabzon'\r\n ],\r\n states: [\r\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\r\n 'Mersin', 'Kocaeli', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri', 'Samsun',\r\n 'Balıkesir', 'Tekirdağ', 'Trabzon', 'Erzurum', 'Malatya', 'Van', 'Şanlıurfa'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Yazılım Mühendisi', 'Proje Yöneticisi', 'Veri Analisti', 'Pazarlama Müdürü',\r\n 'Satış Temsilcisi', 'Muhasebeci', 'İnsan Kaynakları Müdürü', 'Tasarımcı',\r\n 'Operasyon Müdürü', 'İş Analisti', 'Ürün Müdürü', 'Sistem Yöneticisi', 'Kalite Mühendisi'\r\n ],\r\n departments: [\r\n 'Mühendislik', 'Pazarlama', 'Satış', 'İnsan Kaynakları', 'Finans', 'Operasyon',\r\n 'Müşteri Hizmetleri', 'BT', 'Araştırma ve Geliştirme', 'Hukuk', 'İdari İşler'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const mahalle = Random.pick(['Merkez', 'Yeni', 'Çarşı', 'Kale', 'Bahçelievler']);\r\n const no = Random.int(1, 200);\r\n const daire = Random.int(1, 50);\r\n return `${mahalle} Mah., ${street} No:${no} D:${daire}, ${zipCode} ${city}/${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const sv_SE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Erik', 'Lars', 'Karl', 'Anders', 'Per', 'Johan', 'Nils', 'Lennart', 'Emil',\r\n 'Oscar', 'Gustav', 'Viktor', 'Axel', 'Filip', 'Elias', 'Lucas', 'Alexander',\r\n 'Oliver', 'William', 'Hugo', 'Liam', 'Noah', 'Adam', 'Isak', 'Anton', 'Theo',\r\n 'Mattias', 'Magnus', 'Stefan', 'Peter', 'Mikael', 'Daniel', 'Fredrik', 'Björn'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Maria', 'Karin', 'Eva', 'Kristina', 'Lena', 'Emma', 'Sofia', 'Ingrid',\r\n 'Birgitta', 'Sara', 'Lisa', 'Linnea', 'Maja', 'Elin', 'Ida', 'Ebba', 'Wilma',\r\n 'Alice', 'Julia', 'Elsa', 'Alicia', 'Olivia', 'Astrid', 'Agnes', 'Ella', 'Freja',\r\n 'Klara', 'Saga', 'Isabelle', 'Emilia', 'Hanna', 'Amanda', 'Josefin', 'Ellen'\r\n ],\r\n lastNames: [\r\n 'Andersson', 'Johansson', 'Karlsson', 'Nilsson', 'Eriksson', 'Larsson', 'Olsson',\r\n 'Persson', 'Svensson', 'Gustafsson', 'Pettersson', 'Jonsson', 'Jansson', 'Hansson',\r\n 'Bengtsson', 'Jönsson', 'Lindberg', 'Jakobsson', 'Magnusson', 'Olofsson', 'Lindström',\r\n 'Lindqvist', 'Lindgren', 'Berg', 'Axelsson', 'Bergström', 'Lundberg', 'Lind', 'Lundgren'\r\n ],\r\n streets: [\r\n 'Storgatan', 'Drottninggatan', 'Kungsgatan', 'Biblioteksgatan', 'Birger Jarlsgatan',\r\n 'Sveavägen', 'Vasagatan', 'Hamngatan', 'Karlavägen', 'Valhallavägen',\r\n 'Linnégatan', 'Skånegatan', 'Södermalmsallén', 'Odengatan', 'Götgatan',\r\n 'Ringvägen', 'Hornsgatan', 'Folkungagatan', 'Östermalmsgatan', 'Norrtullsgatan'\r\n ],\r\n cities: [\r\n 'Stockholm', 'Göteborg', 'Malmö', 'Uppsala', 'Västerås', 'Örebro', 'Linköping',\r\n 'Helsingborg', 'Jönköping', 'Norrköping', 'Lund', 'Umeå', 'Gävle', 'Borås',\r\n 'Eskilstuna', 'Södertälje', 'Karlstad', 'Täby', 'Växjö', 'Halmstad', 'Sundsvall',\r\n 'Luleå', 'Trollhättan', 'Östersund', 'Borlänge', 'Falun', 'Skellefteå', 'Kalmar'\r\n ],\r\n states: [\r\n 'Stockholm', 'Västra Götaland', 'Skåne', 'Uppsala', 'Västmanland', 'Örebro',\r\n 'Östergötland', 'Jönköping', 'Kronoberg', 'Kalmar', 'Gotland', 'Blekinge',\r\n 'Halland', 'Värmland', 'Dalarna', 'Gävleborg', 'Västernorrland', 'Jämtland',\r\n 'Västerbotten', 'Norrbotten', 'Södermanland'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Mjukvaruingenjör', 'Projektledare', 'Dataanalytiker', 'Marknadschef',\r\n 'Säljare', 'Revisor', 'HR-chef', 'Designer', 'Driftschef', 'Affärsanalytiker',\r\n 'Produktchef', 'Systemadministratör', 'Kvalitetsingenjör', 'Utvecklare'\r\n ],\r\n departments: [\r\n 'Teknik', 'Marknadsföring', 'Försäljning', 'Personal', 'Ekonomi', 'Drift',\r\n 'Kundtjänst', 'IT', 'Forskning och utveckling', 'Juridik', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const apartment = Random.boolean() ? ` lgh ${Random.int(1001, 1299)}` : '';\r\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nb_NO: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Per', 'Bjørn', 'Ole', 'Lars', 'Knut', 'Arne', 'Kjell', 'Tor', 'Svein',\r\n 'Thomas', 'Andreas', 'Martin', 'Daniel', 'Henrik', 'Magnus', 'Jonas', 'Emil',\r\n 'Alexander', 'Markus', 'Kristian', 'Fredrik', 'Marius', 'Erik', 'Øyvind',\r\n 'Adrian', 'Lucas', 'Tobias', 'Noah', 'Oliver', 'William', 'Filip', 'Jakob'\r\n ],\r\n firstNamesFemale: [\r\n 'Anne', 'Marit', 'Inger', 'Kari', 'Nina', 'Lise', 'Eva', 'Hilde', 'Ingrid',\r\n 'Emma', 'Nora', 'Sara', 'Sofie', 'Emilie', 'Ingrid', 'Thea', 'Maja', 'Eline',\r\n 'Ida', 'Julie', 'Maria', 'Vilde', 'Frida', 'Amalie', 'Victoria', 'Anna',\r\n 'Mathilde', 'Mia', 'Hanna', 'Linnea', 'Leah', 'Isabella', 'Ella', 'Hedda'\r\n ],\r\n lastNames: [\r\n 'Hansen', 'Johansen', 'Olsen', 'Larsen', 'Andersen', 'Pedersen', 'Nilsen', 'Kristiansen',\r\n 'Jensen', 'Karlsen', 'Johnsen', 'Pettersen', 'Eriksen', 'Berg', 'Haugen', 'Hagen',\r\n 'Johannessen', 'Andreassen', 'Jacobsen', 'Olsen', 'Solberg', 'Moen', 'Lund', 'Bakke',\r\n 'Lie', 'Strand', 'Nguyen', 'Halvorsen', 'Svendsen', 'Martinsen', 'Mikkelsen'\r\n ],\r\n streets: [\r\n 'Storgata', 'Kirkegata', 'Hovedgata', 'Karl Johans gate', 'Prinsens gate',\r\n 'Torgallmenningen', 'Grensen', 'Stortingsgata', 'Bogstadveien', 'Bygdøy allé',\r\n 'Parkveien', 'Skippergata', 'Kongens gate', 'Drammensveien', 'Pilestredet',\r\n 'Ullevålsveien', 'Markveien', 'Thorvald Meyers gate', 'Akersgata', 'Møllergata'\r\n ],\r\n cities: [\r\n 'Oslo', 'Bergen', 'Stavanger', 'Trondheim', 'Drammen', 'Fredrikstad', 'Kristiansand',\r\n 'Sandnes', 'Tromsø', 'Sarpsborg', 'Skien', 'Ålesund', 'Sandefjord', 'Haugesund',\r\n 'Tønsberg', 'Moss', 'Porsgrunn', 'Bodø', 'Arendal', 'Hamar', 'Larvik', 'Halden',\r\n 'Askøy', 'Lillehammer', 'Mo i Rana', 'Molde', 'Horten', 'Gjøvik', 'Kongsberg'\r\n ],\r\n states: [\r\n 'Oslo', 'Viken', 'Innlandet', 'Vestfold og Telemark', 'Agder', 'Rogaland',\r\n 'Vestland', 'Møre og Romsdal', 'Trøndelag', 'Nordland', 'Troms og Finnmark'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Programvareingeniør', 'Prosjektleder', 'Dataanalytiker', 'Markedssjef',\r\n 'Selger', 'Regnskapsfører', 'HR-leder', 'Designer', 'Driftsleder',\r\n 'Forretningsanalytiker', 'Produktleder', 'Systemadministrator', 'Kvalitetsingeniør'\r\n ],\r\n departments: [\r\n 'Ingeniør', 'Markedsføring', 'Salg', 'Personale', 'Økonomi', 'Drift',\r\n 'Kundeservice', 'IT', 'Forskning og utvikling', 'Juridisk', 'Administrasjon'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const da_DK: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Morten', 'Peter', 'Jens', 'Michael', 'Lars', 'Henrik', 'Thomas', 'Søren',\r\n 'Christian', 'Martin', 'Niels', 'Rasmus', 'Anders', 'Mikkel', 'Frederik',\r\n 'Mathias', 'Casper', 'Simon', 'Mads', 'Jacob', 'Emil', 'Magnus', 'Lucas',\r\n 'Oliver', 'William', 'Noah', 'Oscar', 'Victor', 'Alexander', 'Sebastian'\r\n ],\r\n firstNamesFemale: [\r\n 'Anne', 'Kirsten', 'Mette', 'Hanne', 'Lene', 'Susanne', 'Camilla', 'Louise',\r\n 'Maria', 'Sofie', 'Julie', 'Emma', 'Ida', 'Anna', 'Laura', 'Sarah', 'Mathilde',\r\n 'Freja', 'Clara', 'Isabella', 'Alma', 'Ella', 'Karla', 'Josefine', 'Victoria',\r\n 'Caroline', 'Katrine', 'Line', 'Rikke', 'Trine', 'Charlotte', 'Maja'\r\n ],\r\n lastNames: [\r\n 'Nielsen', 'Jensen', 'Hansen', 'Pedersen', 'Andersen', 'Christensen', 'Larsen',\r\n 'Sørensen', 'Rasmussen', 'Jørgensen', 'Petersen', 'Madsen', 'Kristensen', 'Olsen',\r\n 'Thomsen', 'Christiansen', 'Poulsen', 'Johansen', 'Møller', 'Mortensen', 'Knudsen',\r\n 'Jakobsen', 'Laursen', 'Simonsen', 'Frederiksen', 'Kjær', 'Schmidt', 'Holm'\r\n ],\r\n streets: [\r\n 'Hovedgaden', 'Kirkevej', 'Skovvej', 'Parkvej', 'Strandvej', 'Møllevej',\r\n 'Skolevej', 'Birkevej', 'Rosenvej', 'Vestergade', 'Østergade', 'Nørregade',\r\n 'Søndergade', 'Tingvej', 'Lillevej', 'Storegade', 'Åvej', 'Byvej', 'Havnevej'\r\n ],\r\n cities: [\r\n 'København', 'Aarhus', 'Odense', 'Aalborg', 'Esbjerg', 'Randers', 'Kolding',\r\n 'Horsens', 'Vejle', 'Roskilde', 'Herning', 'Silkeborg', 'Næstved', 'Fredericia',\r\n 'Viborg', 'Køge', 'Holstebro', 'Taastrup', 'Slagelse', 'Hillerød', 'Sønderborg',\r\n 'Holbæk', 'Svendborg', 'Hjørring', 'Frederikshavn', 'Rønne', 'Nykøbing F'\r\n ],\r\n states: [\r\n 'Hovedstaden', 'Sjælland', 'Syddanmark', 'Midtjylland', 'Nordjylland'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareingeniør', 'Projektleder', 'Dataanalytiker', 'Marketingchef',\r\n 'Salgsrepræsentant', 'Revisor', 'HR-chef', 'Designer', 'Driftschef',\r\n 'Forretningsanalytiker', 'Produktchef', 'Systemadministrator', 'Kvalitetsingeniør'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Salg', 'HR', 'Økonomi', 'Drift', 'Kundeservice',\r\n 'IT', 'Forskning og udvikling', 'Juridisk', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const floor = Random.boolean() ? `, ${Random.int(1, 5)}. sal` : '';\r\n return `${street} ${number}${floor}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const fi_FI: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jari', 'Mika', 'Mikko', 'Juha', 'Petri', 'Jukka', 'Antti', 'Timo', 'Ville',\r\n 'Matti', 'Pekka', 'Sami', 'Kari', 'Markus', 'Teemu', 'Joonas', 'Lauri', 'Tuomas',\r\n 'Eero', 'Oskari', 'Valtteri', 'Aleksi', 'Oliver', 'Emil', 'Elias', 'Leo',\r\n 'Onni', 'Aatos', 'Väinö', 'Eino', 'Veikko', 'Seppo', 'Heikki', 'Kalevi'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Johanna', 'Sari', 'Hanna', 'Kaisa', 'Laura', 'Sanna', 'Minna',\r\n 'Tiina', 'Pirjo', 'Tuula', 'Eeva', 'Aino', 'Sofia', 'Emilia', 'Emma', 'Olivia',\r\n 'Aada', 'Helmi', 'Lilja', 'Elli', 'Isla', 'Venla', 'Linnea', 'Matilda', 'Aino',\r\n 'Kerttu', 'Ella', 'Anni', 'Iida', 'Sara', 'Oona', 'Pihla'\r\n ],\r\n lastNames: [\r\n 'Virtanen', 'Korhonen', 'Nieminen', 'Mäkinen', 'Hämäläinen', 'Laine', 'Heikkinen',\r\n 'Koskinen', 'Järvinen', 'Lehtonen', 'Lehtinen', 'Saarinen', 'Salminen', 'Heinonen',\r\n 'Niemi', 'Heikkilä', 'Kinnunen', 'Salonen', 'Tuominen', 'Laitinen', 'Turunen',\r\n 'Mattila', 'Rantanen', 'Karjalainen', 'Jokinen', 'Laaksonen', 'Savolainen', 'Mäkelä'\r\n ],\r\n streets: [\r\n 'Mannerheimintie', 'Hämeentie', 'Aleksanterinkatu', 'Esplanadi', 'Bulevardi',\r\n 'Pohjoinen Rautatiekatu', 'Fredrikinkatu', 'Iso Roobertinkatu', 'Kalevankatu',\r\n 'Töölönkatu', 'Runeberginkatu', 'Mechelininkatu', 'Hietaniemenkatu', 'Lapinlahdenkatu',\r\n 'Agricolankatu', 'Sturenkatu', 'Hämeentie', 'Koskelantie', 'Hitsaajankatu'\r\n ],\r\n cities: [\r\n 'Helsinki', 'Espoo', 'Tampere', 'Vantaa', 'Oulu', 'Turku', 'Jyväskylä', 'Lahti',\r\n 'Kuopio', 'Pori', 'Kouvola', 'Joensuu', 'Lappeenranta', 'Hämeenlinna', 'Vaasa',\r\n 'Rovaniemi', 'Seinäjoki', 'Mikkeli', 'Kotka', 'Salo', 'Porvoo', 'Kokkola',\r\n 'Lohja', 'Hyvinkää', 'Järvenpää', 'Rauma', 'Tuusula', 'Kajaani', 'Savonlinna'\r\n ],\r\n states: [\r\n 'Uusimaa', 'Varsinais-Suomi', 'Satakunta', 'Kanta-Häme', 'Pirkanmaa', 'Päijät-Häme',\r\n 'Kymenlaakso', 'Etelä-Karjala', 'Etelä-Savo', 'Pohjois-Savo', 'Pohjois-Karjala',\r\n 'Keski-Suomi', 'Etelä-Pohjanmaa', 'Pohjanmaa', 'Keski-Pohjanmaa', 'Pohjois-Pohjanmaa',\r\n 'Kainuu', 'Lappi', 'Ahvenanmaa'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ohjelmistokehittäjä', 'Projektipäällikkö', 'Data-analyytikko', 'Markkinointipäällikkö',\r\n 'Myyntiedustaja', 'Kirjanpitäjä', 'HR-päällikkö', 'Suunnittelija', 'Toimintapäällikkö',\r\n 'Liiketoiminta-analyytikko', 'Tuotepäällikkö', 'Järjestelmänvalvoja', 'Laatuinsinööri'\r\n ],\r\n departments: [\r\n 'Kehitys', 'Markkinointi', 'Myynti', 'Henkilöstöhallinto', 'Talous', 'Toiminnot',\r\n 'Asiakaspalvelu', 'IT', 'Tutkimus ja kehitys', 'Oikeusosasto', 'Hallinto'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const apartment = Random.boolean() ? ` ${Random.int(1, 99)}` : '';\r\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_AR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Juan', 'Carlos', 'José', 'Luis', 'Jorge', 'Ricardo', 'Daniel', 'Marcelo',\r\n 'Alejandro', 'Pablo', 'Diego', 'Martín', 'Fernando', 'Gonzalo', 'Matías',\r\n 'Sebastián', 'Nicolás', 'Federico', 'Gabriel', 'Andrés', 'Ezequiel', 'Facundo',\r\n 'Maximiliano', 'Rodrigo', 'Germán', 'Luciano', 'Ignacio', 'Agustín', 'Franco'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Ana', 'Laura', 'Marta', 'Silvia', 'Andrea', 'Gabriela', 'Claudia',\r\n 'Carolina', 'Valeria', 'Natalia', 'Paula', 'Verónica', 'Cecilia', 'Patricia',\r\n 'Sofía', 'Martina', 'Lucía', 'Valentina', 'Florencia', 'Camila', 'Milagros',\r\n 'Victoria', 'Catalina', 'Antonella', 'Agustina', 'Micaela', 'Julieta', 'Guadalupe'\r\n ],\r\n lastNames: [\r\n 'González', 'Rodríguez', 'Fernández', 'López', 'Martínez', 'García', 'Pérez', 'Gómez',\r\n 'Sánchez', 'Romero', 'Álvarez', 'Díaz', 'Torres', 'Ruiz', 'Ramírez', 'Flores',\r\n 'Benítez', 'Acosta', 'Medina', 'Castro', 'Molina', 'Moreno', 'Suárez', 'Vega',\r\n 'Pereyra', 'Gutiérrez', 'Silva', 'Vargas', 'Cabrera', 'Ramos', 'Navarro', 'Sosa'\r\n ],\r\n streets: [\r\n 'Avenida Corrientes', 'Avenida Santa Fe', 'Avenida 9 de Julio', 'Avenida Rivadavia',\r\n 'Calle Florida', 'Avenida de Mayo', 'Calle San Martín', 'Avenida Callao',\r\n 'Calle Lavalle', 'Avenida Córdoba', 'Avenida Belgrano', 'Calle Reconquista',\r\n 'Avenida Libertador', 'Calle Maipú', 'Avenida Pueyrredón', 'Calle Defensa',\r\n 'Avenida Independencia', 'Calle Rodríguez Peña', 'Avenida Las Heras'\r\n ],\r\n cities: [\r\n 'Buenos Aires', 'Córdoba', 'Rosario', 'Mendoza', 'La Plata', 'San Miguel de Tucumán',\r\n 'Mar del Plata', 'Salta', 'Santa Fe', 'San Juan', 'Resistencia', 'Neuquén',\r\n 'Corrientes', 'Santiago del Estero', 'Posadas', 'Bahía Blanca', 'Paraná',\r\n 'San Salvador de Jujuy', 'Formosa', 'La Rioja', 'Catamarca', 'San Luis', 'Río Cuarto'\r\n ],\r\n states: [\r\n 'Buenos Aires', 'Córdoba', 'Santa Fe', 'Mendoza', 'Tucumán', 'Entre Ríos',\r\n 'Salta', 'Chaco', 'Corrientes', 'Misiones', 'San Juan', 'Jujuy', 'Santiago del Estero',\r\n 'San Luis', 'Catamarca', 'La Rioja', 'Formosa', 'Neuquén', 'Río Negro',\r\n 'Chubut', 'Santa Cruz', 'Tierra del Fuego', 'La Pampa'\r\n ],\r\n zipCodePattern: '@####@@@',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\r\n 'Representante de Ventas', 'Contador', 'Gerente de RRHH', 'Diseñador', 'Gerente de Operaciones',\r\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'IT', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const piso = Random.int(1, 20);\r\n const depto = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${street} ${number}, Piso ${piso} Dpto ${depto}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letter = String.fromCharCode(65 + Random.int(0, 25));\r\n const digits = String(Random.int(1000, 9999));\r\n const letters = String.fromCharCode(65 + Random.int(0, 25)) +\r\n String.fromCharCode(65 + Random.int(0, 25)) +\r\n String.fromCharCode(65 + Random.int(0, 25));\r\n return `${letter}${digits}${letters}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_CL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Juan', 'Pedro', 'José', 'Luis', 'Carlos', 'Jorge', 'Miguel', 'Andrés',\r\n 'Francisco', 'Ricardo', 'Manuel', 'Alejandro', 'Diego', 'Sebastián', 'Cristian',\r\n 'Matías', 'Felipe', 'Gonzalo', 'Rodrigo', 'Javier', 'Pablo', 'Marcelo',\r\n 'Gabriel', 'Nicolás', 'Maximiliano', 'Tomás', 'Martín', 'Ignacio', 'Joaquín'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Carmen', 'Rosa', 'Ana', 'Isabel', 'Teresa', 'Gloria', 'Patricia',\r\n 'Claudia', 'Andrea', 'Carolina', 'Francisca', 'Daniela', 'Camila', 'Javiera',\r\n 'Valentina', 'Constanza', 'Fernanda', 'Catalina', 'Isidora', 'Sofía', 'Martina',\r\n 'Florencia', 'Antonia', 'Emilia', 'Trinidad', 'Maite', 'Josefa', 'Amanda'\r\n ],\r\n lastNames: [\r\n 'González', 'Muñoz', 'Rojas', 'Díaz', 'Pérez', 'Soto', 'Contreras', 'Silva',\r\n 'Martínez', 'Sepúlveda', 'Morales', 'Rodríguez', 'López', 'Fuentes', 'Hernández',\r\n 'Torres', 'Araya', 'Flores', 'Espinoza', 'Valenzuela', 'Castillo', 'Tapia',\r\n 'Reyes', 'Vásquez', 'Ramírez', 'Núñez', 'Pizarro', 'Carrasco', 'Gutiérrez', 'Herrera'\r\n ],\r\n streets: [\r\n 'Avenida Libertador Bernardo O\\'Higgins', 'Avenida Providencia', 'Avenida Apoquindo',\r\n 'Avenida Las Condes', 'Avenida Vicuña Mackenna', 'Avenida Grecia', 'Calle Huérfanos',\r\n 'Calle Agustinas', 'Avenida Pedro de Valdivia', 'Avenida Bilbao', 'Calle Bandera',\r\n 'Avenida República', 'Calle Estado', 'Avenida Irarrázaval', 'Avenida Ñuñoa'\r\n ],\r\n cities: [\r\n 'Santiago', 'Valparaíso', 'Viña del Mar', 'Concepción', 'La Serena', 'Antofagasta',\r\n 'Temuco', 'Rancagua', 'Talca', 'Arica', 'Puerto Montt', 'Chillán', 'Iquique',\r\n 'Los Ángeles', 'Coyhaique', 'Punta Arenas', 'Valdivia', 'Osorno', 'Quillota',\r\n 'Curicó', 'Calama', 'Copiapó', 'Linares', 'Ovalle', 'San Antonio'\r\n ],\r\n states: [\r\n 'Región Metropolitana', 'Valparaíso', 'Biobío', 'Araucanía', 'Los Lagos',\r\n 'Maule', 'Antofagasta', 'Coquimbo', 'O\\'Higgins', 'Tarapacá', 'Los Ríos',\r\n 'Aysén', 'Magallanes', 'Atacama', 'Arica y Parinacota', 'Ñuble'\r\n ],\r\n zipCodePattern: '#######',\r\n jobTitles: [\r\n 'Ingeniero en Software', 'Jefe de Proyecto', 'Analista de Datos', 'Jefe de Marketing',\r\n 'Ejecutivo Comercial', 'Contador', 'Jefe de RRHH', 'Diseñador', 'Jefe de Operaciones',\r\n 'Analista de Negocios', 'Product Manager', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const depto = Random.int(1, 500);\r\n return `${street} ${number}, Depto ${depto}, ${city}, ${state}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000000, 9999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const th_TH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Somchai', 'Somsak', 'Chai', 'Niran', 'Anon', 'Thana', 'Korn', 'Pong',\r\n 'Arun', 'Wit', 'Sak', 'Nop', 'Chai', 'Manop', 'Anucha', 'Weerasak',\r\n 'Surasak', 'Prasert', 'Phong', 'Sombat', 'Narong', 'Wichit', 'Lek', 'Noi',\r\n 'Anurak', 'Sarawut', 'Kittipong', 'Jirawat', 'Thanawat', 'Apichai'\r\n ],\r\n firstNamesFemale: [\r\n 'Somying', 'Noi', 'Lek', 'Malee', 'Siriporn', 'Suda', 'Nittaya', 'Pornpan',\r\n 'Orathai', 'Wanida', 'Suwanna', 'Pranee', 'Rattana', 'Chanya', 'Supaporn',\r\n 'Areerat', 'Apinya', 'Waranya', 'Jirapha', 'Panida', 'Kanokwan', 'Sudarat',\r\n 'Naruemon', 'Wilai', 'Amara', 'Thanaporn', 'Pimsiri', 'Sirikul', 'Nutcha'\r\n ],\r\n lastNames: [\r\n 'Srisuk', 'Tantrakul', 'Wongcharoen', 'Pholchai', 'Saetang', 'Chanthara', 'Wattana',\r\n 'Ruangsri', 'Pornprasert', 'Thongchai', 'Suwannaphon', 'Chaiyaporn', 'Kingkaew',\r\n 'Intharasombat', 'Duangkaew', 'Maneekan', 'Somkhuan', 'Thepthong', 'Ratanaporn',\r\n 'Wongsawat', 'Chanthaburi', 'Phongsri', 'Methaphan', 'Rattanawong', 'Phongphan'\r\n ],\r\n streets: [\r\n 'Sukhumvit Road', 'Rama IV Road', 'Silom Road', 'Sathorn Road', 'Ratchadamri Road',\r\n 'Petchburi Road', 'Rama I Road', 'Phayathai Road', 'Ratchadaphisek Road',\r\n 'Vibhavadi Rangsit Road', 'Ladprao Road', 'Charoenkrung Road', 'Yaowarat Road',\r\n 'Ratchawithi Road', 'Lan Luang Road', 'Phra Athit Road', 'Khao San Road'\r\n ],\r\n cities: [\r\n 'Bangkok', 'Nonthaburi', 'Nakhon Ratchasima', 'Chiang Mai', 'Hat Yai', 'Udon Thani',\r\n 'Pak Kret', 'Khon Kaen', 'Chon Buri', 'Nakhon Si Thammarat', 'Rayong', 'Lampang',\r\n 'Ubon Ratchathani', 'Surat Thani', 'Phuket', 'Nakhon Sawan', 'Chiang Rai', 'Saraburi',\r\n 'Samut Prakan', 'Trang', 'Phitsanulok', 'Krabi', 'Songkhla', 'Phetchaburi'\r\n ],\r\n states: [\r\n 'Bangkok', 'Nonthaburi', 'Pathum Thani', 'Samut Prakan', 'Chiang Mai', 'Chon Buri',\r\n 'Nakhon Ratchasima', 'Khon Kaen', 'Surat Thani', 'Udon Thani', 'Phuket', 'Songkhla',\r\n 'Rayong', 'Nakhon Si Thammarat', 'Chiang Rai', 'Ubon Ratchathani', 'Phitsanulok'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const soi = Random.int(1, 50);\r\n const number = Random.int(1, 999);\r\n return `${number} Soi ${soi}, ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const vi_VN: LocaleDefinition = {\r\n lastNames: [\r\n 'Nguyen', 'Tran', 'Le', 'Pham', 'Hoang', 'Huynh', 'Phan', 'Vu', 'Vo', 'Dang',\r\n 'Bui', 'Do', 'Ngo', 'Duong', 'Ly', 'Dinh', 'Trinh', 'Ha', 'Mai', 'Truong',\r\n 'To', 'Dao', 'Lam', 'Chau', 'Doan', 'Tang', 'Quach', 'Cao', 'Tong', 'Thai'\r\n ],\r\n firstNamesMale: [\r\n 'Van', 'Minh', 'Duc', 'Tuan', 'Thanh', 'Hieu', 'Khang', 'Phong', 'Hung',\r\n 'Quang', 'Hoang', 'Nam', 'Duy', 'Hai', 'Long', 'Khanh', 'Son', 'Thang',\r\n 'Dat', 'Huy', 'Trung', 'Tai', 'Vinh', 'Cuong', 'Khoa', 'Anh', 'Bao', 'Quan',\r\n 'Tien', 'Kien', 'Linh', 'Binh', 'An', 'Phu'\r\n ],\r\n firstNamesFemale: [\r\n 'Thi', 'Anh', 'Lan', 'Huong', 'Mai', 'Thu', 'Linh', 'Phuong', 'Ha', 'Hoa',\r\n 'Hang', 'Thuy', 'Yen', 'Nga', 'Nhu', 'Quynh', 'Van', 'Tuyet', 'Hien', 'Nhung',\r\n 'Dieu', 'Tam', 'My', 'Trang', 'Ngoc', 'Thao', 'Chi', 'Vy', 'Uyen', 'Khanh',\r\n 'Nhi', 'Bich', 'Trinh', 'Minh', 'Kim', 'Hong'\r\n ],\r\n streets: [\r\n 'Le Loi', 'Nguyen Hue', 'Tran Hung Dao', 'Ly Thai To', 'Hai Ba Trung',\r\n 'Ba Trieu', 'Phan Chu Trinh', 'Hoang Dieu', 'Nguyen Thai Hoc', 'Nguyen Trai',\r\n 'Tran Phu', 'Le Duan', 'Vo Thi Sau', 'Nguyen Du', 'Dong Khoi', 'Pasteur',\r\n 'Dien Bien Phu', 'Cach Mang Thang Tam', 'Vo Van Tan', 'Tran Quoc Toan'\r\n ],\r\n cities: [\r\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Bien Hoa',\r\n 'Hue', 'Nha Trang', 'Buon Ma Thuot', 'Vung Tau', 'Quy Nhon', 'Nam Dinh',\r\n 'Thai Nguyen', 'Phan Thiet', 'Thai Binh', 'Vinh', 'My Tho', 'Rach Gia',\r\n 'Long Xuyen', 'Cam Ranh', 'Ha Long', 'Pleiku', 'Bac Lieu', 'Cao Lanh'\r\n ],\r\n states: [\r\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Dong Nai',\r\n 'Binh Duong', 'Ba Ria-Vung Tau', 'Khanh Hoa', 'Lam Dong', 'Thua Thien Hue',\r\n 'Quang Nam', 'Thanh Hoa', 'Nghe An', 'Hai Duong', 'Nam Dinh', 'Thai Nguyen',\r\n 'Bac Ninh', 'Vinh Phuc', 'Phu Tho', 'Long An', 'Tien Giang', 'Ben Tre'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const ward = Random.int(1, 20);\r\n const district = Random.int(1, 12);\r\n return `${number} ${street}, Ward ${ward}, District ${district}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ms_MY: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Ahmad', 'Ali', 'Hassan', 'Ismail', 'Ibrahim', 'Mohd', 'Abdullah', 'Yusof',\r\n 'Rahman', 'Aziz', 'Zulkifli', 'Hamid', 'Halim', 'Hakim', 'Amin', 'Rashid',\r\n 'Fahmi', 'Faiz', 'Hafiz', 'Amirul', 'Danial', 'Syafiq', 'Iqbal', 'Haikal',\r\n 'Rizal', 'Ammar', 'Zikri', 'Arif', 'Ashraf', 'Firdaus', 'Nabil', 'Hakimi'\r\n ],\r\n firstNamesFemale: [\r\n 'Siti', 'Nur', 'Norain', 'Farah', 'Aisha', 'Zainab', 'Fatimah', 'Maryam',\r\n 'Amira', 'Sarah', 'Alya', 'Nadia', 'Sofea', 'Hanna', 'Aisyah', 'Najwa',\r\n 'Qistina', 'Irdina', 'Balqis', 'Ain', 'Nasuha', 'Izyan', 'Natasha', 'Erina',\r\n 'Fatin', 'Hanis', 'Syahirah', 'Insyirah', 'Marissa', 'Zulaikha', 'Nabila'\r\n ],\r\n lastNames: [\r\n 'Abdullah', 'Ahmad', 'Mohamed', 'Ibrahim', 'Hassan', 'Ismail', 'Rahman', 'Ali',\r\n 'Omar', 'Osman', 'Yusof', 'Aziz', 'Hamid', 'Salleh', 'Idris', 'Daud', 'Bakar',\r\n 'Mansor', 'Hussain', 'Yasin', 'Karim', 'Samad', 'Sulaiman', 'Hashim', 'Ramli',\r\n 'Harun', 'Wahab', 'Zain', 'Latif', 'Rashid', 'Ghani', 'Nasir', 'Rahim'\r\n ],\r\n streets: [\r\n 'Jalan Raja', 'Jalan Sultan', 'Jalan Tun Razak', 'Jalan Ampang', 'Jalan Bukit Bintang',\r\n 'Jalan Masjid India', 'Jalan Tuanku Abdul Rahman', 'Jalan Pudu', 'Jalan Imbi',\r\n 'Jalan Hang Tuah', 'Jalan Petaling', 'Jalan Chow Kit', 'Jalan Ipoh', 'Jalan Kelang Lama',\r\n 'Jalan Tun Perak', 'Jalan Munshi Abdullah', 'Jalan Genting Klang', 'Jalan Pahang'\r\n ],\r\n cities: [\r\n 'Kuala Lumpur', 'George Town', 'Ipoh', 'Shah Alam', 'Petaling Jaya', 'Johor Bahru',\r\n 'Malacca City', 'Alor Setar', 'Kuching', 'Kota Kinabalu', 'Seremban', 'Kuantan',\r\n 'Klang', 'Subang Jaya', 'Kota Bharu', 'Sandakan', 'Kuala Terengganu', 'Miri',\r\n 'Kangar', 'Putrajaya', 'Cyberjaya', 'Taiping', 'Sibu', 'Muar', 'Batu Pahat'\r\n ],\r\n states: [\r\n 'Selangor', 'Johor', 'Penang', 'Perak', 'Kedah', 'Pahang', 'Negeri Sembilan',\r\n 'Melaka', 'Kelantan', 'Terengganu', 'Perlis', 'Sabah', 'Sarawak',\r\n 'Kuala Lumpur', 'Putrajaya', 'Labuan'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const taman = Random.pick(['Taman', 'Bandar', 'Kampung']);\r\n const area = Random.pick(['Indah', 'Jaya', 'Perdana', 'Utama', 'Sentosa']);\r\n return `No. ${number}, ${street}, ${taman} ${area}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_SG: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Wei Ming', 'Jun Hao', 'Ryan', 'Ethan', 'Kai', 'Zhi Hao', 'Darren', 'Marcus',\r\n 'Nicholas', 'Brandon', 'Wei Jie', 'Joshua', 'Matthew', 'Daniel', 'Benjamin',\r\n 'Aaron', 'Isaac', 'Jayden', 'Aiden', 'Sean', 'Adrian', 'Xavier', 'Lucas',\r\n 'Nathan', 'Tyler', 'Arjun', 'Ravi', 'Kumar', 'Raj', 'Vikram'\r\n ],\r\n firstNamesFemale: [\r\n 'Hui Ling', 'Xin Yi', 'Rachel', 'Chloe', 'Emma', 'Ying Xuan', 'Sarah', 'Emily',\r\n 'Michelle', 'Nicole', 'Angela', 'Amanda', 'Cheryl', 'Joyce', 'Melissa', 'Sophia',\r\n 'Isabelle', 'Natalie', 'Ashley', 'Crystal', 'Priya', 'Divya', 'Kavitha', 'Ananya',\r\n 'Shreya', 'Mei Ling', 'Li Ying', 'Jia Yi', 'Shi Hui', 'Wei Ting'\r\n ],\r\n lastNames: [\r\n 'Tan', 'Lim', 'Lee', 'Ng', 'Ong', 'Wong', 'Goh', 'Chua', 'Chan', 'Koh',\r\n 'Teo', 'Ang', 'Yeo', 'Lau', 'Tay', 'Ho', 'Low', 'Sim', 'Chia', 'Toh',\r\n 'Kumar', 'Singh', 'Kaur', 'Rahman', 'Ali', 'Hassan', 'Ahmad', 'Mohamed',\r\n 'Abdullah', 'Ibrahim', 'Chen', 'Wang', 'Zhang', 'Liu', 'Yang'\r\n ],\r\n streets: [\r\n 'Orchard Road', 'Raffles Boulevard', 'Shenton Way', 'Marina Boulevard', 'Beach Road',\r\n 'North Bridge Road', 'South Bridge Road', 'Collyer Quay', 'Robinson Road', 'Cecil Street',\r\n 'Eu Tong Sen Street', 'Serangoon Road', 'Geylang Road', 'Balestier Road', 'Thomson Road',\r\n 'Bukit Timah Road', 'Clementi Road', 'Jurong East Avenue', 'Ang Mo Kio Avenue', 'Tampines Avenue'\r\n ],\r\n cities: [\r\n 'Singapore', 'Woodlands', 'Tampines', 'Jurong East', 'Ang Mo Kio', 'Bedok',\r\n 'Hougang', 'Yishun', 'Sembawang', 'Bukit Panjang', 'Choa Chu Kang', 'Punggol',\r\n 'Sengkang', 'Pasir Ris', 'Clementi', 'Bukit Batok', 'Toa Payoh', 'Queenstown'\r\n ],\r\n states: [\r\n 'Central Region', 'North Region', 'North-East Region', 'East Region', 'West Region'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Executive', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const block = Random.int(1, 999);\r\n const unit = `#${Random.int(1, 40).toString().padStart(2, '0')}-${Random.int(1, 999)}`;\r\n return `Blk ${block} ${street}, ${unit}, Singapore ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_PH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'John', 'Mark', 'Angelo', 'Joshua', 'James', 'Michael', 'Christian', 'Carl',\r\n 'Kenneth', 'Anthony', 'Kristian', 'Daniel', 'Joseph', 'Gabriel', 'Rafael',\r\n 'Emmanuel', 'Nathaniel', 'Matthew', 'Andrew', 'Samuel', 'Diego', 'Luis',\r\n 'Marco', 'Paolo', 'Adrian', 'Ryan', 'Ethan', 'Jacob', 'Nathan', 'Vincent'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Princess', 'Angel', 'Andrea', 'Nicole', 'Michelle', 'Sarah',\r\n 'Angelica', 'Christine', 'Patricia', 'Mary', 'Rose', 'Joy', 'Grace', 'Faith',\r\n 'Hope', 'Kristine', 'Jasmine', 'Sofia', 'Isabella', 'Gabriela', 'Katrina',\r\n 'Samantha', 'Jessica', 'Jennifer', 'Stephanie', 'Alexandra', 'Alessandra', 'Bianca'\r\n ],\r\n lastNames: [\r\n 'dela Cruz', 'Garcia', 'Reyes', 'Ramos', 'Mendoza', 'Santos', 'Flores', 'Gonzales',\r\n 'Bautista', 'Cruz', 'Fernandez', 'Lopez', 'Perez', 'Martinez', 'Rivera', 'Torres',\r\n 'Aquino', 'Villanueva', 'Castro', 'Santiago', 'Morales', 'Valdez', 'Navarro',\r\n 'Alvarez', 'Salazar', 'Romero', 'Manuel', 'Castillo', 'Aguilar', 'Mercado'\r\n ],\r\n streets: [\r\n 'EDSA', 'Roxas Boulevard', 'Quezon Avenue', 'Taft Avenue', 'España Boulevard',\r\n 'Ayala Avenue', 'Ortigas Avenue', 'Shaw Boulevard', 'Commonwealth Avenue',\r\n 'C-5 Road', 'Katipunan Avenue', 'Magsaysay Avenue', 'Rizal Avenue', 'Del Pilar Street',\r\n 'Araneta Avenue', 'Aurora Boulevard', 'Marcos Highway', 'Bonifacio Drive'\r\n ],\r\n cities: [\r\n 'Manila', 'Quezon City', 'Makati', 'Pasig', 'Taguig', 'Pasay', 'Parañaque',\r\n 'Las Piñas', 'Muntinlupa', 'Caloocan', 'Malabon', 'Navotas', 'Valenzuela',\r\n 'Marikina', 'San Juan', 'Mandaluyong', 'Cebu City', 'Davao City', 'Zamboanga City',\r\n 'Cagayan de Oro', 'General Santos', 'Iloilo City', 'Bacolod', 'Baguio'\r\n ],\r\n states: [\r\n 'Metro Manila', 'Calabarzon', 'Central Luzon', 'Central Visayas', 'Western Visayas',\r\n 'Davao Region', 'Northern Mindanao', 'Ilocos Region', 'Cagayan Valley', 'Bicol Region',\r\n 'Eastern Visayas', 'Zamboanga Peninsula', 'SOCCSKSARGEN', 'Cordillera', 'MIMAROPA'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const barangay = Random.pick(['Barangay San Antonio', 'Barangay Santa Cruz', 'Barangay San Jose', 'Barangay Poblacion']);\r\n return `${number} ${street}, ${barangay}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_NZ: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'Jack', 'Noah', 'William', 'James', 'Lucas', 'Mason', 'Ethan', 'Leo',\r\n 'Liam', 'Benjamin', 'Hunter', 'Joshua', 'Samuel', 'Daniel', 'Matthew', 'Joseph',\r\n 'Thomas', 'Harry', 'Charlie', 'Jacob', 'Archie', 'George', 'Max', 'Oscar',\r\n 'Finn', 'Isaac', 'Connor', 'Ryan', 'Lachlan', 'Cooper', 'Riley', 'Flynn'\r\n ],\r\n firstNamesFemale: [\r\n 'Charlotte', 'Olivia', 'Amelia', 'Isla', 'Mia', 'Harper', 'Emily', 'Ella', 'Sophie',\r\n 'Ava', 'Lily', 'Grace', 'Chloe', 'Isabella', 'Ruby', 'Lucy', 'Zoe', 'Emma',\r\n 'Hannah', 'Aria', 'Scarlett', 'Poppy', 'Evelyn', 'Willow', 'Sienna', 'Ivy',\r\n 'Hazel', 'Aurora', 'Madison', 'Layla', 'Alice', 'Eleanor', 'Maya'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Wilson', 'Taylor', 'Brown', 'Williams', 'Jones', 'Anderson', 'White',\r\n 'Thompson', 'Davis', 'Martin', 'Clark', 'Robinson', 'Walker', 'Young', 'Harris',\r\n 'King', 'Scott', 'Green', 'Adams', 'Baker', 'Campbell', 'Mitchell', 'Roberts',\r\n 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart', 'Morris', 'Murphy'\r\n ],\r\n streets: [\r\n 'Queen Street', 'High Street', 'Main Street', 'Victoria Street', 'Lambton Quay',\r\n 'Courtenay Place', 'Cuba Street', 'Willis Street', 'The Terrace', 'Customhouse Quay',\r\n 'Karangahape Road', 'Ponsonby Road', 'Dominion Road', 'Great South Road', 'Broadway',\r\n 'Riccarton Road', 'Colombo Street', 'Cashel Street', 'Manchester Street', 'Hereford Street'\r\n ],\r\n cities: [\r\n 'Auckland', 'Wellington', 'Christchurch', 'Hamilton', 'Tauranga', 'Lower Hutt',\r\n 'Dunedin', 'Palmerston North', 'Napier', 'Porirua', 'Hibiscus Coast', 'New Plymouth',\r\n 'Rotorua', 'Whangarei', 'Nelson', 'Hastings', 'Invercargill', 'Upper Hutt',\r\n 'Gisborne', 'Taupo', 'Blenheim', 'Pukekohe', 'Timaru', 'Whanganui'\r\n ],\r\n states: [\r\n 'Auckland', 'Wellington', 'Canterbury', 'Waikato', 'Bay of Plenty', 'Otago',\r\n 'Manawatu-Wanganui', 'Hawke\\'s Bay', 'Northland', 'Taranaki', 'Southland',\r\n 'Nelson', 'Marlborough', 'Tasman', 'Gisborne', 'West Coast'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const unit = Random.boolean() ? `Unit ${Random.int(1, 50)}, ` : '';\r\n return `${unit}${number} ${street}, ${city} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_ZA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Liam', 'Joshua', 'Daniel', 'Matthew', 'Michael', 'Ethan', 'David', 'Ryan',\r\n 'Connor', 'Benjamin', 'Luke', 'Thabang', 'Sipho', 'Thabo', 'Mandla', 'Bongani',\r\n 'Jabulani', 'Sibusiso', 'Nkosinathi', 'Siyabonga', 'Andile', 'Lwazi', 'Sandile',\r\n 'Dylan', 'Tyler', 'Nathan', 'Christian', 'Kyle', 'Cameron', 'Jordan'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Olivia', 'Sarah', 'Jessica', 'Emily', 'Hannah', 'Nicole', 'Amy',\r\n 'Chloe', 'Sophie', 'Nomsa', 'Thandi', 'Zanele', 'Precious', 'Nomvula', 'Lindiwe',\r\n 'Sibongile', 'Nokuthula', 'Busisiwe', 'Nompumelelo', 'Zinhle', 'Ayanda', 'Noluthando',\r\n 'Madison', 'Mia', 'Kayla', 'Paige', 'Amelia', 'Grace', 'Isabella'\r\n ],\r\n lastNames: [\r\n 'Smith', 'van der Merwe', 'Botha', 'Naidoo', 'Pillay', 'Mthembu', 'Dlamini', 'Nkosi',\r\n 'Zulu', 'Ndlovu', 'Ngcobo', 'Khumalo', 'Sithole', 'Mahlangu', 'Molefe', 'Mokoena',\r\n 'Du Plessis', 'Pretorius', 'Nel', 'Meyer', 'Venter', 'Muller', 'Marais', 'Coetzee',\r\n 'Williams', 'Jones', 'Brown', 'Taylor', 'Johnson', 'Davies', 'Singh', 'Patel'\r\n ],\r\n streets: [\r\n 'Mandela Street', 'Church Street', 'Main Road', 'Voortrekker Road', 'Oxford Road',\r\n 'Rissik Street', 'Commissioner Street', 'Jorrisen Street', 'Rivonia Road', 'William Nicol Drive',\r\n 'Jan Smuts Avenue', 'Beyers Naude Drive', 'Long Street', 'Adderley Street', 'Strand Street',\r\n 'Kloof Street', 'Sea Point Promenade', 'Smith Street', 'Anton Lembede Street', 'Victoria Embankment'\r\n ],\r\n cities: [\r\n 'Johannesburg', 'Cape Town', 'Durban', 'Pretoria', 'Port Elizabeth', 'Bloemfontein',\r\n 'East London', 'Pietermaritzburg', 'Polokwane', 'Nelspruit', 'Kimberley', 'Rustenburg',\r\n 'George', 'Midrand', 'Centurion', 'Sandton', 'Soweto', 'Benoni', 'Boksburg',\r\n 'Germiston', 'Randburg', 'Roodepoort', 'Vereeniging', 'Welkom', 'Newcastle'\r\n ],\r\n states: [\r\n 'Gauteng', 'Western Cape', 'KwaZulu-Natal', 'Eastern Cape', 'Free State',\r\n 'Limpopo', 'Mpumalanga', 'North West', 'Northern Cape'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n return `${number} ${street}, ${city}, ${state}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pt_PT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'João', 'Francisco', 'Miguel', 'Rodrigo', 'Pedro', 'Tiago', 'Gonçalo', 'Diogo',\r\n 'José', 'António', 'Manuel', 'Carlos', 'Paulo', 'Rui', 'Luís', 'Bruno',\r\n 'Ricardo', 'Hugo', 'André', 'Nuno', 'Rafael', 'Daniel', 'David', 'Tomás',\r\n 'Bernardo', 'Martim', 'Santiago', 'Afonso', 'Duarte', 'Gabriel', 'Gustavo'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Ana', 'Beatriz', 'Sofia', 'Mariana', 'Inês', 'Carolina', 'Catarina',\r\n 'Rita', 'Joana', 'Francisca', 'Teresa', 'Helena', 'Isabel', 'Leonor', 'Lara',\r\n 'Sara', 'Marta', 'Margarida', 'Diana', 'Matilde', 'Alice', 'Mafalda', 'Adriana',\r\n 'Carlota', 'Constança', 'Gabriela', 'Luísa', 'Melissa', 'Raquel', 'Cristina'\r\n ],\r\n lastNames: [\r\n 'Silva', 'Santos', 'Ferreira', 'Pereira', 'Oliveira', 'Costa', 'Rodrigues', 'Martins',\r\n 'Jesus', 'Sousa', 'Fernandes', 'Gonçalves', 'Gomes', 'Lopes', 'Marques', 'Alves',\r\n 'Almeida', 'Ribeiro', 'Pinto', 'Carvalho', 'Teixeira', 'Moreira', 'Correia', 'Mendes',\r\n 'Nunes', 'Soares', 'Vieira', 'Monteiro', 'Cardoso', 'Rocha', 'Neves', 'Coelho'\r\n ],\r\n streets: [\r\n 'Avenida da Liberdade', 'Rua Augusta', 'Rua da Prata', 'Avenida Almirante Reis',\r\n 'Rua Garrett', 'Praça do Comércio', 'Rua de Santa Catarina', 'Avenida dos Aliados',\r\n 'Rua das Flores', 'Avenida da República', 'Rua do Ouro', 'Rua Direita', 'Rua da Madalena',\r\n 'Avenida Fontes Pereira de Melo', 'Rua Braamcamp', 'Rua Alexandre Herculano'\r\n ],\r\n cities: [\r\n 'Lisboa', 'Porto', 'Vila Nova de Gaia', 'Amadora', 'Braga', 'Coimbra', 'Funchal',\r\n 'Setúbal', 'Almada', 'Agualva-Cacém', 'Queluz', 'Rio Tinto', 'Barreiro', 'Aveiro',\r\n 'Évora', 'Odivelas', 'Corroios', 'Loures', 'Gondomar', 'Guimarães', 'Matosinhos',\r\n 'Faro', 'Portimão', 'Leiria', 'Viseu', 'Castelo Branco', 'Vila Real', 'Santarém'\r\n ],\r\n states: [\r\n 'Lisboa', 'Porto', 'Braga', 'Aveiro', 'Faro', 'Setúbal', 'Coimbra', 'Leiria',\r\n 'Viseu', 'Santarém', 'Viana do Castelo', 'Vila Real', 'Évora', 'Beja',\r\n 'Castelo Branco', 'Guarda', 'Portalegre', 'Bragança', 'Açores', 'Madeira'\r\n ],\r\n zipCodePattern: '####-###',\r\n jobTitles: [\r\n 'Engenheiro de Software', 'Gestor de Projeto', 'Analista de Dados', 'Gestor de Marketing',\r\n 'Representante de Vendas', 'Contabilista', 'Gestor de RH', 'Designer', 'Gestor de Operações',\r\n 'Analista de Negócios', 'Gestor de Produto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Finanças', 'Operações',\r\n 'Apoio ao Cliente', 'IT', 'Investigação e Desenvolvimento', 'Jurídico', 'Administração'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const floor = Random.int(1, 8);\r\n const door = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${street}, ${number}, ${floor}º ${door}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(1000, 9999));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const el_GR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Georgios', 'Ioannis', 'Konstantinos', 'Dimitrios', 'Nikolaos', 'Panagiotis', 'Vasileios',\r\n 'Christos', 'Athanasios', 'Michail', 'Spyridon', 'Andreas', 'Alexandros', 'Stefanos',\r\n 'Antonios', 'Theodoros', 'Evangelos', 'Ilias', 'Petros', 'Apostolos', 'Anastasios',\r\n 'Grigorios', 'Charalampos', 'Nikos', 'Kostas', 'Giorgos', 'Yannis', 'Dimitris', 'Marios'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Eleni', 'Aikaterini', 'Vasiliki', 'Sofia', 'Angeliki', 'Georgia', 'Dimitra',\r\n 'Konstantina', 'Paraskevi', 'Ioanna', 'Anastasia', 'Christina', 'Styliani', 'Fotini',\r\n 'Panagiota', 'Despina', 'Katerina', 'Anna', 'Alexandra', 'Irini', 'Nikoletta',\r\n 'Evangelia', 'Chrysoula', 'Theodora', 'Zoi', 'Antonia', 'Eleftheria', 'Marina'\r\n ],\r\n lastNames: [\r\n 'Papadopoulos', 'Pappas', 'Georgiou', 'Dimitriou', 'Nikolaou', 'Ioannou', 'Konstantinou',\r\n 'Christodoulou', 'Vasiliou', 'Athanasiou', 'Petrou', 'Andreou', 'Oikonomou', 'Karagiannis',\r\n 'Angelopoulos', 'Alexandrou', 'Michailidis', 'Georgiadis', 'Papadakis', 'Vlahos',\r\n 'Papageorgiou', 'Theodorou', 'Nikou', 'Economou', 'Panagiotou', 'Makris', 'Kostopoulos'\r\n ],\r\n streets: [\r\n 'Odos Ermou', 'Leoforos Vasilissis Sofias', 'Odos Panepistimiou', 'Odos Stadiou',\r\n 'Leoforos Alexandras', 'Odos Akadimias', 'Odos Patision', 'Leoforos Kifisias',\r\n 'Odos Solonos', 'Odos Athinas', 'Leoforos Mesogeion', 'Odos Voukourestiou',\r\n 'Plateia Syntagmatos', 'Odos Mitropoleos', 'Leoforos Vouliagmenis'\r\n ],\r\n cities: [\r\n 'Athens', 'Thessaloniki', 'Patras', 'Heraklion', 'Larissa', 'Volos', 'Ioannina',\r\n 'Chania', 'Chalcis', 'Serres', 'Katerini', 'Kalamata', 'Kavala', 'Rhodes',\r\n 'Agrinio', 'Trikala', 'Lamia', 'Kozani', 'Drama', 'Veria', 'Corfu', 'Xanthi'\r\n ],\r\n states: [\r\n 'Attica', 'Central Macedonia', 'Crete', 'Thessaly', 'Western Greece', 'Peloponnese',\r\n 'Epirus', 'Central Greece', 'Eastern Macedonia and Thrace', 'Ionian Islands',\r\n 'Western Macedonia', 'North Aegean', 'South Aegean', 'Mount Athos'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const cs_CZ: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jiří', 'Jan', 'Petr', 'Josef', 'Pavel', 'Martin', 'Tomáš', 'Jaroslav', 'Miroslav',\r\n 'Zdeněk', 'Václav', 'Milan', 'Michal', 'František', 'David', 'Lukáš', 'Jakub',\r\n 'Ondřej', 'Filip', 'Stanislav', 'Vojtěch', 'Adam', 'Radek', 'Daniel', 'Marek',\r\n 'Aleš', 'Roman', 'Ladislav', 'Karel', 'Patrik', 'Dominik', 'Matěj'\r\n ],\r\n firstNamesFemale: [\r\n 'Marie', 'Jana', 'Eva', 'Anna', 'Hana', 'Věra', 'Lenka', 'Alena', 'Petra',\r\n 'Kateřina', 'Lucie', 'Martina', 'Veronika', 'Jitka', 'Ivana', 'Michaela',\r\n 'Helena', 'Zuzana', 'Markéta', 'Andrea', 'Monika', 'Barbora', 'Tereza', 'Nikola',\r\n 'Simona', 'Kristýna', 'Natálie', 'Adéla', 'Eliška', 'Karolína', 'Daniela'\r\n ],\r\n lastNames: [\r\n 'Novák', 'Svoboda', 'Novotný', 'Dvořák', 'Černý', 'Procházka', 'Kučera', 'Veselý',\r\n 'Horáček', 'Němec', 'Pospíšil', 'Pokorný', 'Hájek', 'Jelínek', 'Král', 'Růžička',\r\n 'Beneš', 'Fiala', 'Sedláček', 'Doležal', 'Zeman', 'Kolář', 'Navrátil', 'Čermák',\r\n 'Urban', 'Vaněk', 'Blažek', 'Krejčí', 'Moravec', 'Marek', 'Štěpánek', 'Šimek'\r\n ],\r\n streets: [\r\n 'Václavské náměstí', 'Národní třída', 'Na Příkopě', 'Pařížská ulice', 'Karlova ulice',\r\n 'Nerudova ulice', 'Revolucní', 'Spálená', 'Vinohradská', 'Jugoslávská', 'Náměstí Míru',\r\n 'Jungmannova', 'Jindřišská', 'Sokolská', 'Žitná', 'Anglická', 'Italská', 'Rumunská'\r\n ],\r\n cities: [\r\n 'Praha', 'Brno', 'Ostrava', 'Plzeň', 'Liberec', 'Olomouc', 'České Budějovice',\r\n 'Hradec Králové', 'Ústí nad Labem', 'Pardubice', 'Zlín', 'Havířov', 'Kladno',\r\n 'Most', 'Opava', 'Frýdek-Místek', 'Jihlava', 'Teplice', 'Karviná', 'Karlovy Vary',\r\n 'Děčín', 'Chomutov', 'Přerov', 'Jablonec nad Nisou', 'Mladá Boleslav', 'Prostějov'\r\n ],\r\n states: [\r\n 'Hlavní město Praha', 'Středočeský', 'Jihočeský', 'Plzeňský', 'Karlovarský',\r\n 'Ústecký', 'Liberecký', 'Královéhradecký', 'Pardubický', 'Vysočina',\r\n 'Jihomoravský', 'Olomoucký', 'Zlínský', 'Moravskoslezský'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Softwarový inženýr', 'Projektový manažer', 'Datový analytik', 'Marketingový manažer',\r\n 'Obchodní zástupce', 'Účetní', 'Personalista', 'Designer', 'Provozní manažer',\r\n 'Business analytik', 'Produktový manažer', 'Správce systému', 'Kontrolor kvality'\r\n ],\r\n departments: [\r\n 'Technický', 'Marketing', 'Prodej', 'Lidské zdroje', 'Finance', 'Provoz',\r\n 'Zákaznický servis', 'IT', 'Výzkum a vývoj', 'Právní', 'Administrativa'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_AT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Michael', 'Thomas', 'Christian', 'Andreas', 'Stefan', 'Markus', 'Alexander', 'Wolfgang',\r\n 'Florian', 'Daniel', 'Patrick', 'Mario', 'Manuel', 'Christoph', 'Philipp', 'Matthias',\r\n 'David', 'Sebastian', 'Lukas', 'Johannes', 'Marcel', 'Dominik', 'Benjamin', 'Tobias',\r\n 'Simon', 'Martin', 'Peter', 'Franz', 'Josef', 'Maximilian', 'Jakob', 'Felix'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Julia', 'Sarah', 'Lisa', 'Laura', 'Katharina', 'Marie', 'Sophie', 'Lena',\r\n 'Magdalena', 'Christina', 'Nina', 'Hannah', 'Stefanie', 'Sandra', 'Daniela', 'Melanie',\r\n 'Jasmin', 'Verena', 'Elisabeth', 'Andrea', 'Maria', 'Petra', 'Sabine', 'Martina',\r\n 'Claudia', 'Eva', 'Michaela', 'Karin', 'Susanne', 'Barbara', 'Angelika'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Gruber', 'Wagner', 'Huber', 'Pichler', 'Steiner', 'Moser', 'Mayer',\r\n 'Berger', 'Hofer', 'Leitner', 'Bauer', 'Schmid', 'Schneider', 'Reiter', 'Fischer',\r\n 'Weber', 'Maier', 'Schwarz', 'Eder', 'Brunner', 'Lang', 'Hoffmann', 'Binder',\r\n 'Lechner', 'Wolf', 'Koller', 'Fuchs', 'Haas', 'Wimmer', 'Egger', 'Aigner'\r\n ],\r\n streets: [\r\n 'Hauptstraße', 'Bahnhofstraße', 'Kirchenplatz', 'Marktplatz', 'Dorfstraße', 'Schulstraße',\r\n 'Wiener Straße', 'Linzer Straße', 'Salzburger Straße', 'Grazer Straße', 'Ringstraße',\r\n 'Innsbrucker Straße', 'Am Ring', 'Schönbrunner Straße', 'Mariahilfer Straße',\r\n 'Kärntner Straße', 'Graben', 'Herrengasse', 'Landstraße', 'Favoritenstraße'\r\n ],\r\n cities: [\r\n 'Wien', 'Graz', 'Linz', 'Salzburg', 'Innsbruck', 'Klagenfurt', 'Villach', 'Wels',\r\n 'Sankt Pölten', 'Dornbirn', 'Steyr', 'Wiener Neustadt', 'Feldkirch', 'Bregenz',\r\n 'Leonding', 'Klosterneuburg', 'Baden', 'Wolfsberg', 'Leoben', 'Krems', 'Traun',\r\n 'Amstetten', 'Lustenau', 'Kapfenberg', 'Mödling', 'Hallein', 'Kufstein', 'Traiskirchen'\r\n ],\r\n states: [\r\n 'Wien', 'Niederösterreich', 'Oberösterreich', 'Steiermark', 'Tirol', 'Kärnten',\r\n 'Salzburg', 'Vorarlberg', 'Burgenland'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareentwickler', 'Projektmanager', 'Datenanalyst', 'Marketingleiter',\r\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\r\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\r\n ],\r\n departments: [\r\n 'Technik', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen', 'Betrieb',\r\n 'Kundenservice', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const door = Random.int(1, 30);\r\n return `${street} ${number}/${door}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_CH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'David', 'Luca', 'Noah', 'Leon', 'Nico', 'Jan', 'Marco', 'Lukas', 'Jonas', 'Sandro',\r\n 'Thomas', 'Michael', 'Daniel', 'Christian', 'Stefan', 'Patrick', 'Andreas', 'Markus',\r\n 'Peter', 'Martin', 'Marcel', 'Simon', 'Fabian', 'Tobias', 'Raphael', 'Samuel',\r\n 'Benjamin', 'Adrian', 'Florian', 'Dominik', 'Matthias', 'Alexander'\r\n ],\r\n firstNamesFemale: [\r\n 'Mia', 'Emma', 'Laura', 'Lara', 'Sophie', 'Anna', 'Julia', 'Sara', 'Lea', 'Nina',\r\n 'Lisa', 'Sarah', 'Melanie', 'Michelle', 'Jennifer', 'Nadine', 'Nicole', 'Stefanie',\r\n 'Andrea', 'Sandra', 'Claudia', 'Martina', 'Jasmin', 'Vanessa', 'Sabrina', 'Anja',\r\n 'Elena', 'Chiara', 'Alina', 'Elisa', 'Noemi', 'Ladina'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Meier', 'Schmid', 'Keller', 'Weber', 'Huber', 'Schneider', 'Meyer',\r\n 'Steiner', 'Fischer', 'Gerber', 'Brunner', 'Baumann', 'Frei', 'Zimmermann', 'Moser',\r\n 'Widmer', 'Wyss', 'Graf', 'Roth', 'Hofmann', 'Lehmann', 'Bühler', 'Hofer',\r\n 'Suter', 'Kuhn', 'Koch', 'Blanc', 'Kohler', 'Wenger', 'Lang', 'Kaufmann'\r\n ],\r\n streets: [\r\n 'Bahnhofstrasse', 'Hauptstrasse', 'Dorfstrasse', 'Bergstrasse', 'Kirchgasse',\r\n 'Schulhausstrasse', 'Poststrasse', 'Seestrasse', 'Talstrasse', 'Gartenstrasse',\r\n 'Waldhofstrasse', 'Industriestrasse', 'Rosenweg', 'Lindenweg', 'Parkstrasse',\r\n 'Feldweg', 'Mühlestrasse', 'Brunnenweg', 'Ringstrasse', 'Zürcherstrasse'\r\n ],\r\n cities: [\r\n 'Zürich', 'Genf', 'Basel', 'Lausanne', 'Bern', 'Winterthur', 'Luzern', 'St. Gallen',\r\n 'Lugano', 'Biel', 'Thun', 'Köniz', 'La Chaux-de-Fonds', 'Schaffhausen', 'Fribourg',\r\n 'Chur', 'Vernier', 'Neuchâtel', 'Uster', 'Sion', 'Emmen', 'Zug', 'Yverdon-les-Bains',\r\n 'Kriens', 'Rapperswil-Jona', 'Dübendorf', 'Montreux', 'Frauenfeld', 'Dietikon', 'Wil'\r\n ],\r\n states: [\r\n 'Zürich', 'Bern', 'Luzern', 'Uri', 'Schwyz', 'Obwalden', 'Nidwalden', 'Glarus',\r\n 'Zug', 'Fribourg', 'Solothurn', 'Basel-Stadt', 'Basel-Landschaft', 'Schaffhausen',\r\n 'Appenzell Ausserrhoden', 'Appenzell Innerrhoden', 'St. Gallen', 'Graubünden',\r\n 'Aargau', 'Thurgau', 'Ticino', 'Vaud', 'Valais', 'Neuchâtel', 'Genève', 'Jura'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareentwickler', 'Projektleiter', 'Datenanalyst', 'Marketingleiter',\r\n 'Verkäufer', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\r\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\r\n ],\r\n departments: [\r\n 'Technik', 'Marketing', 'Verkauf', 'Personal', 'Finanzen', 'Betrieb',\r\n 'Kundendienst', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nl_BE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Lars', 'Thomas', 'Lucas', 'Maxime', 'Nathan', 'Louis', 'Noah', 'Arthur', 'Victor',\r\n 'Adam', 'Mohamed', 'Nicolas', 'Alexander', 'Simon', 'Mathias', 'Robbe', 'Wout',\r\n 'Jan', 'Pieter', 'Koen', 'Bart', 'Tom', 'Kevin', 'David', 'Michael', 'Johan',\r\n 'Marc', 'Steven', 'Peter', 'Filip', 'Stijn', 'Bram'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Louise', 'Marie', 'Anna', 'Laura', 'Lisa', 'Julie', 'Noor', 'Lotte',\r\n 'Sara', 'Camille', 'Charlotte', 'Ella', 'Nina', 'Fien', 'Lena', 'Amber', 'Luna',\r\n 'Sarah', 'Sophie', 'Kim', 'Elke', 'Sofie', 'Eline', 'Jana', 'Karen', 'Nathalie',\r\n 'Katrien', 'Ann', 'Veerle', 'Ellen', 'Inge'\r\n ],\r\n lastNames: [\r\n 'Peeters', 'Janssens', 'Maes', 'Jacobs', 'Mertens', 'Willems', 'Claes', 'Goossens',\r\n 'Wouters', 'De Smet', 'De Vos', 'Hermans', 'Van de Velde', 'Vermeulen', 'Dubois',\r\n 'Lambert', 'Laurent', 'Simon', 'Leroy', 'Dupont', 'Martens', 'De Wilde', 'Hendrickx',\r\n 'Michiels', 'Van den Berg', 'Pauwels', 'Stevens', 'De Clercq', 'Coppens', 'Bogaert'\r\n ],\r\n streets: [\r\n 'Grote Markt', 'Kerkstraat', 'Dorpsstraat', 'Stationsstraat', 'Hoogstraat',\r\n 'Molenstraat', 'Nieuwstraat', 'Brugsestraat', 'Antwerpsestraat', 'Brusselsestraat',\r\n 'Koning Albertlaan', 'Koningin Elisabethlaan', 'Leopold II-laan', 'Mechelsesteenweg',\r\n 'Turnhoutsebaan', 'Leuvenselaan', 'Gentsebaan', 'Gentsestraat', 'Markt', 'Burg'\r\n ],\r\n cities: [\r\n 'Brussel', 'Antwerpen', 'Gent', 'Charleroi', 'Luik', 'Brugge', 'Namen', 'Leuven',\r\n 'Bergen', 'Mechelen', 'Aalst', 'La Louvière', 'Kortrijk', 'Hasselt', 'Sint-Niklaas',\r\n 'Oostende', 'Doornik', 'Genk', 'Seraing', 'Roeselare', 'Moeskroen', 'Verviers',\r\n 'Dendermonde', 'Beringen', 'Turnhout', 'Dilbeek', 'Heist-op-den-Berg', 'Vilvoorde'\r\n ],\r\n states: [\r\n 'Antwerpen', 'Limburg', 'Oost-Vlaanderen', 'West-Vlaanderen', 'Vlaams-Brabant',\r\n 'Waals-Brabant', 'Henegouwen', 'Luik', 'Luxemburg', 'Namen', 'Brussels Hoofdstedelijk Gewest'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\r\n 'Verkoopvertegenwoordiger', 'Boekhouder', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsingenieur'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\r\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const bus = Random.boolean() ? ` bus ${Random.int(1, 50)}` : '';\r\n return `${street} ${number}${bus}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const hu_HU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'László', 'István', 'József', 'János', 'Zoltán', 'Sándor', 'Gábor', 'Ferenc',\r\n 'Péter', 'Attila', 'Tamás', 'András', 'Balázs', 'Máté', 'Dávid', 'Ádám',\r\n 'Levente', 'Bence', 'Márk', 'Dominik', 'Norbert', 'Kristóf', 'Richárd', 'Viktor',\r\n 'Gyula', 'Imre', 'Csaba', 'Tibor', 'Mihály', 'Zsolt', 'Krisztián', 'Róbert'\r\n ],\r\n firstNamesFemale: [\r\n 'Mária', 'Erzsébet', 'Ilona', 'Katalin', 'Éva', 'Anna', 'Margit', 'Judit',\r\n 'Ágnes', 'Eszter', 'Andrea', 'Krisztina', 'Erika', 'Mónika', 'Zsuzsanna', 'Réka',\r\n 'Petra', 'Laura', 'Zsófia', 'Lilla', 'Dóra', 'Boglárka', 'Fanni', 'Viktória',\r\n 'Renáta', 'Nikolett', 'Tímea', 'Beatrix', 'Anita', 'Noémi', 'Emese', 'Orsolya'\r\n ],\r\n lastNames: [\r\n 'Nagy', 'Kovács', 'Tóth', 'Szabó', 'Horváth', 'Varga', 'Kiss', 'Molnár',\r\n 'Németh', 'Farkas', 'Balogh', 'Papp', 'Takács', 'Juhász', 'Lakatos', 'Mészáros',\r\n 'Oláh', 'Simon', 'Rácz', 'Fekete', 'Szűcs', 'Kocsis', 'Szilágyi', 'Török',\r\n 'Fehér', 'Balázs', 'Gál', 'Vincze', 'Szalai', 'Máté', 'Kozma', 'Hegedűs'\r\n ],\r\n streets: [\r\n 'Fő utca', 'Kossuth utca', 'Petőfi utca', 'Rákóczi út', 'Dózsa György út',\r\n 'Árpád utca', 'Vörösmarty utca', 'Bem utca', 'Ady Endre utca', 'József Attila utca',\r\n 'Mátyás király utca', 'Széchenyi utca', 'Deák Ferenc utca', 'Hősök tere',\r\n 'Andrássy út', 'Váci utca', 'Dohány utca', 'Nagykörút', 'Baross utca', 'Üllői út'\r\n ],\r\n cities: [\r\n 'Budapest', 'Debrecen', 'Szeged', 'Miskolc', 'Pécs', 'Győr', 'Nyíregyháza', 'Kecskemét',\r\n 'Székesfehérvár', 'Szombathely', 'Szolnok', 'Tatabánya', 'Kaposvár', 'Érd', 'Veszprém',\r\n 'Békéscsaba', 'Zalaegerszeg', 'Sopron', 'Eger', 'Nagykanizsa', 'Dunakeszi', 'Hódmezővásárhely',\r\n 'Szentendre', 'Cegléd', 'Vác', 'Gyula', 'Baja', 'Ózd', 'Salgótarján', 'Mosonmagyaróvár'\r\n ],\r\n states: [\r\n 'Budapest', 'Pest', 'Fejér', 'Komárom-Esztergom', 'Veszprém', 'Győr-Moson-Sopron',\r\n 'Vas', 'Zala', 'Baranya', 'Somogy', 'Tolna', 'Borsod-Abaúj-Zemplén', 'Heves',\r\n 'Nógrád', 'Hajdú-Bihar', 'Jász-Nagykun-Szolnok', 'Szabolcs-Szatmár-Bereg',\r\n 'Bács-Kiskun', 'Békés', 'Csongrád-Csanád'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Szoftverfejlesztő', 'Projektvezető', 'Adatelemző', 'Marketing menedzser',\r\n 'Értékesítési képviselő', 'Könyvelő', 'HR vezető', 'Tervező', 'Üzemeltetési vezető',\r\n 'Üzleti elemző', 'Termékmenedzser', 'Rendszergazda', 'Minőségbiztosítási mérnök'\r\n ],\r\n departments: [\r\n 'Mérnöki', 'Marketing', 'Értékesítés', 'Humán erőforrás', 'Pénzügy', 'Üzemeltetés',\r\n 'Ügyfélszolgálat', 'IT', 'Kutatás-fejlesztés', 'Jogi', 'Adminisztráció'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Hungarian name format: Last First\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${zipCode} ${city}, ${street} ${number}.`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ro_RO: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Ion', 'Gheorghe', 'Nicolae', 'Vasile', 'Constantin', 'Andrei', 'Mihai', 'Alexandru',\r\n 'Adrian', 'Cristian', 'Florin', 'Marian', 'Daniel', 'Ionuț', 'Gabriel', 'Bogdan',\r\n 'Ștefan', 'Vlad', 'Radu', 'George', 'David', 'Cosmin', 'Dragoș', 'Ciprian',\r\n 'Sorin', 'Dan', 'Viorel', 'Petru', 'Dumitru', 'Emil', 'Liviu', 'Ovidiu'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Elena', 'Ana', 'Ioana', 'Andreea', 'Alexandra', 'Mihaela', 'Cristina',\r\n 'Gabriela', 'Alina', 'Daniela', 'Monica', 'Simona', 'Diana', 'Raluca', 'Adriana',\r\n 'Laura', 'Nicoleta', 'Corina', 'Carmen', 'Oana', 'Roxana', 'Valentina', 'Camelia',\r\n 'Florentina', 'Georgeta', 'Mariana', 'Luminița', 'Silvia', 'Anca', 'Magdalena', 'Irina'\r\n ],\r\n lastNames: [\r\n 'Popescu', 'Ionescu', 'Popa', 'Radu', 'Dumitrescu', 'Georgescu', 'Stan', 'Stoica',\r\n 'Constantin', 'Munteanu', 'Dima', 'Vasile', 'Barbu', 'Preda', 'Mocanu', 'Ilie',\r\n 'Mihai', 'Dobre', 'Andrei', 'Stanciu', 'Tudor', 'Enache', 'Ștefan', 'Marin',\r\n 'Niculescu', 'Drăghici', 'Alexandru', 'Matei', 'Sandu', 'Cristea', 'Oprea', 'Munteanu'\r\n ],\r\n streets: [\r\n 'Strada Independenței', 'Bulevardul Unirii', 'Strada Republicii', 'Calea Victoriei',\r\n 'Strada Libertății', 'Bulevardul Carol I', 'Strada Mihai Viteazu', 'Strada Aviatorilor',\r\n 'Bulevardul Magheru', 'Strada Dorobanți', 'Calea Moșilor', 'Strada Lipscani',\r\n 'Bulevardul Brâncoveanu', 'Strada Obor', 'Calea Grivița', 'Bulevardul Pache Protopopescu'\r\n ],\r\n cities: [\r\n 'București', 'Cluj-Napoca', 'Timișoara', 'Iași', 'Constanța', 'Craiova', 'Brașov',\r\n 'Galați', 'Ploiești', 'Oradea', 'Brăila', 'Arad', 'Pitești', 'Sibiu', 'Bacău',\r\n 'Târgu Mureș', 'Baia Mare', 'Buzău', 'Botoșani', 'Satu Mare', 'Râmnicu Vâlcea',\r\n 'Suceava', 'Piatra Neamț', 'Drobeta-Turnu Severin', 'Focșani', 'Târgoviște', 'Tulcea'\r\n ],\r\n states: [\r\n 'București', 'Cluj', 'Timiș', 'Iași', 'Constanța', 'Dolj', 'Brașov', 'Galați',\r\n 'Prahova', 'Bihor', 'Brăila', 'Arad', 'Argeș', 'Sibiu', 'Bacău', 'Mureș',\r\n 'Maramureș', 'Buzău', 'Botoșani', 'Satu Mare', 'Vâlcea', 'Suceava', 'Neamț',\r\n 'Mehedinți', 'Vrancea', 'Dâmbovița', 'Tulcea', 'Bistrița-Năsăud', 'Caraș-Severin'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Inginer Software', 'Manager de Proiect', 'Analist de Date', 'Manager Marketing',\r\n 'Reprezentant Vânzări', 'Contabil', 'Manager HR', 'Designer', 'Manager Operațiuni',\r\n 'Analist de Afaceri', 'Manager Produs', 'Administrator Sistem', 'Inginer Calitate'\r\n ],\r\n departments: [\r\n 'Inginerie', 'Marketing', 'Vânzări', 'Resurse Umane', 'Finanțe', 'Operațiuni',\r\n 'Servicii Clienți', 'IT', 'Cercetare și Dezvoltare', 'Juridic', 'Administrație'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const bloc = Random.pick(['A', 'B', 'C', 'D']);\r\n const scara = Random.int(1, 4);\r\n const ap = Random.int(1, 50);\r\n return `${street} nr. ${number}, Bl. ${bloc}, Sc. ${scara}, Ap. ${ap}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_AE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohammed', 'Ahmed', 'Abdullah', 'Sultan', 'Khalid', 'Omar', 'Ali', 'Hassan',\r\n 'Saeed', 'Rashid', 'Hamad', 'Majid', 'Fahad', 'Nasser', 'Faisal', 'Yousef',\r\n 'Ibrahim', 'Abdulrahman', 'Saud', 'Mansour', 'Talal', 'Waleed', 'Tariq', 'Zayed',\r\n 'Rashed', 'Hamdan', 'Maktoum', 'Obaid', 'Salem', 'Marwan', 'Jassim', 'Nawaf'\r\n ],\r\n firstNamesFemale: [\r\n 'Fatima', 'Aisha', 'Mariam', 'Noura', 'Sara', 'Hessa', 'Latifa', 'Shamsa',\r\n 'Moza', 'Sheikha', 'Amna', 'Salama', 'Meitha', 'Hind', 'Maryam', 'Shamma',\r\n 'Reem', 'Layla', 'Dana', 'Khawla', 'Budoor', 'Jawaher', 'Maitha', 'Mouza',\r\n 'Shaikha', 'Alia', 'Asma', 'Hanan', 'Nada', 'Noor', 'Wadha', 'Mahra'\r\n ],\r\n lastNames: [\r\n 'Al Maktoum', 'Al Nahyan', 'Al Qasimi', 'Al Sharqi', 'Al Nuaimi', 'Al Mualla',\r\n 'Al Ali', 'Al Mansouri', 'Al Shamsi', 'Al Ketbi', 'Al Kaabi', 'Al Dhaheri',\r\n 'Al Mazrouei', 'Al Hamadi', 'Al Suwaidi', 'Al Zaabi', 'Al Marzouqi', 'Al Ahbabi',\r\n 'Al Mansoori', 'Al Blooshi', 'Al Muhairi', 'Al Shehhi', 'Al Hashimi', 'Al Zarooni',\r\n 'Al Falasi', 'Al Ameri', 'Al Kindi', 'Al Marri', 'Al Yasi', 'Al Mheiri'\r\n ],\r\n streets: [\r\n 'Sheikh Zayed Road', 'Khalifa Street', 'Hamdan Street', 'Al Wasl Road', 'Jumeirah Road',\r\n 'Al Khaleej Road', 'Airport Road', 'Al Rigga Road', 'Al Maktoum Road', 'Baniyas Road',\r\n 'Sheikh Mohammed Bin Rashid Boulevard', 'Al Salam Street', 'Al Ain Road', 'Corniche Road',\r\n 'Sheikh Rashid Road', 'Al Ittihad Road', 'Al Dhafra Street', 'Marina Walk', 'The Walk JBR'\r\n ],\r\n cities: [\r\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Al Ain', 'Ajman', 'Ras Al Khaimah', 'Fujairah',\r\n 'Umm Al Quwain', 'Khor Fakkan', 'Dibba', 'Kalba', 'Jebel Ali', 'Al Dhaid',\r\n 'Madinat Zayed', 'Liwa', 'Ghayathi', 'Ruwais', 'Al Mirfa', 'Mezaira'\r\n ],\r\n states: [\r\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Ajman', 'Umm Al Quwain', 'Ras Al Khaimah', 'Fujairah'\r\n ],\r\n zipCodePattern: '',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.pick(['Tower', 'Building', 'Plaza', 'Centre']);\r\n const buildingName = Random.pick(['Al Barsha', 'Marina', 'Downtown', 'Business Bay']);\r\n const office = Random.int(100, 999);\r\n return `Office ${office}, ${buildingName} ${building}, ${street}, ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return ''; // UAE doesn't use postal codes\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_SA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohammed', 'Abdullah', 'Fahd', 'Khalid', 'Faisal', 'Mansour', 'Saud', 'Abdulaziz',\r\n 'Turki', 'Sultan', 'Salman', 'Nasser', 'Talal', 'Bandar', 'Mishal', 'Abdulrahman',\r\n 'Yousef', 'Ahmed', 'Ali', 'Omar', 'Hassan', 'Saad', 'Faris', 'Rakan', 'Nawaf',\r\n 'Majed', 'Hamad', 'Waleed', 'Tariq', 'Rashid', 'Ibrahim', 'Ziyad'\r\n ],\r\n firstNamesFemale: [\r\n 'Noura', 'Sarah', 'Maha', 'Hessa', 'Lulwa', 'Latifa', 'Abeer', 'Reem', 'Hind',\r\n 'Jawaher', 'Mona', 'Amal', 'Deema', 'Lama', 'Nada', 'Hanan', 'Ghada', 'Basma',\r\n 'Arwa', 'Reema', 'Maryam', 'Fatima', 'Nora', 'Layla', 'Dana', 'Sama', 'Rana',\r\n 'Asma', 'Raghad', 'Wafa', 'Anoud', 'Atheer'\r\n ],\r\n lastNames: [\r\n 'Al Saud', 'Al Otaibi', 'Al Ghamdi', 'Al Zahrani', 'Al Harbi', 'Al Qahtani',\r\n 'Al Shehri', 'Al Malki', 'Al Dosari', 'Al Mutairi', 'Al Rashid', 'Al Saeed',\r\n 'Al Mansour', 'Al Juhani', 'Al Anazi', 'Al Shamrani', 'Al Subai', 'Al Yami',\r\n 'Al Faisal', 'Al Turki', 'Al Khalifa', 'Al Abdulaziz', 'Al Thani', 'Al Dawsari',\r\n 'Al Shaalan', 'Al Balawi', 'Al Ahmadi', 'Al Sulaiman', 'Al Mubarak', 'Al Hamad'\r\n ],\r\n streets: [\r\n 'King Fahd Road', 'King Abdullah Road', 'King Abdulaziz Road', 'Olaya Street',\r\n 'Tahlia Street', 'Madinah Road', 'Makkah Road', 'Al Urubah Road', 'Prince Mohammed Road',\r\n 'King Khalid Road', 'Al Malaz Street', 'Al Imam Saud Road', 'Al Amir Sultan Road',\r\n 'Corniche Road', 'Airport Road', 'Al Kharj Road', 'Riyadh Park Road', 'King Saud Road'\r\n ],\r\n cities: [\r\n 'Riyadh', 'Jeddah', 'Makkah', 'Madinah', 'Dammam', 'Khobar', 'Dhahran', 'Jubail',\r\n 'Tabuk', 'Abha', 'Khamis Mushait', 'Buraidah', 'Hail', 'Najran', 'Yanbu', 'Jazan',\r\n 'Al Ahsa', 'Taif', 'Qatif', 'Al Kharj', 'Ras Tanura', 'Hafar Al Batin', 'Arar', 'Sakaka'\r\n ],\r\n states: [\r\n 'Riyadh', 'Makkah', 'Madinah', 'Eastern Province', 'Asir', 'Tabuk', 'Qassim',\r\n 'Hail', 'Northern Borders', 'Jazan', 'Najran', 'Al Bahah', 'Al Jouf'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const district = Random.pick(['Al Malaz', 'Al Olaya', 'Al Naseem', 'Al Salamah', 'Al Rawdah']);\r\n const buildingNumber = Random.int(1000, 9999);\r\n return `Building ${buildingNumber}, ${district}, ${street}, ${city} ${zipCode}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_EG: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohamed', 'Ahmed', 'Mahmoud', 'Ali', 'Omar', 'Youssef', 'Hassan', 'Amr',\r\n 'Khaled', 'Ibrahim', 'Mustafa', 'Osama', 'Tamer', 'Hossam', 'Karim', 'Tarek',\r\n 'Sherif', 'Adel', 'Walid', 'Ashraf', 'Magdy', 'Hazem', 'Hany', 'Ayman',\r\n 'Ramy', 'Wael', 'Essam', 'Medhat', 'Samir', 'Fathy', 'Samy', 'Nabil'\r\n ],\r\n firstNamesFemale: [\r\n 'Fatma', 'Mona', 'Nour', 'Mariam', 'Sara', 'Nada', 'Heba', 'Aya', 'Salma',\r\n 'Yasmin', 'Rana', 'Layla', 'Hala', 'Dina', 'Rania', 'Amira', 'Eman', 'Noha',\r\n 'Sahar', 'Nagwa', 'Manal', 'Somaya', 'Ghada', 'Amal', 'Nawal', 'Hanan',\r\n 'Maha', 'Samira', 'Hanaa', 'Rabab', 'Soha', 'Menna'\r\n ],\r\n lastNames: [\r\n 'Mohamed', 'Ahmed', 'Ali', 'Hassan', 'Ibrahim', 'Mahmoud', 'Youssef', 'Abdel Rahman',\r\n 'Abdel Aziz', 'Abdel Fattah', 'Abdel Hamid', 'El Sayed', 'El Shahat', 'Khalil',\r\n 'Mostafa', 'Salah', 'Fouad', 'Rashad', 'Farouk', 'Shawky', 'Refaat', 'Abdallah',\r\n 'El Sherbiny', 'El Maghraby', 'El Masry', 'El Naggar', 'El Sisi', 'El Din', 'Mansour'\r\n ],\r\n streets: [\r\n 'Tahrir Street', 'Ramses Street', 'Salah Salem Street', 'Mohamed Farid Street',\r\n 'Qasr El Nil Street', 'Talaat Harb Street', 'El Haram Street', 'Nasr Road',\r\n 'Makram Ebeid Street', 'Mostafa El Nahhas Street', 'El Geish Street', 'El Nozha Street',\r\n 'Abbas El Akkad Street', 'Ahmed Orabi Street', 'Port Said Street', 'October Bridge'\r\n ],\r\n cities: [\r\n 'Cairo', 'Alexandria', 'Giza', 'Shubra El Kheima', 'Port Said', 'Suez', 'Luxor',\r\n 'Mansoura', 'El Mahalla El Kubra', 'Tanta', 'Asyut', 'Ismailia', 'Faiyum', 'Zagazig',\r\n 'Aswan', 'Damietta', 'Damanhur', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Hurghada',\r\n 'Kafr El Sheikh', 'Arish', 'Mallawi', '6th of October City', 'Sharm El Sheikh'\r\n ],\r\n states: [\r\n 'Cairo', 'Alexandria', 'Giza', 'Qalyubia', 'Port Said', 'Suez', 'Luxor',\r\n 'Dakahlia', 'Gharbia', 'Sharqia', 'Asyut', 'Ismailia', 'Faiyum', 'Beheira',\r\n 'Aswan', 'Damietta', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Red Sea',\r\n 'Kafr El Sheikh', 'North Sinai', 'South Sinai', 'Matruh', 'New Valley'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 999);\r\n const floor = Random.int(1, 12);\r\n const apartment = Random.int(1, 50);\r\n return `Building ${building}, Floor ${floor}, Apartment ${apartment}, ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const he_IL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'David', 'Moshe', 'Yosef', 'Daniel', 'Uri', 'Avi', 'Amit', 'Or', 'Yonatan', 'Eitan',\r\n 'Noam', 'Itai', 'Rotem', 'Lior', 'Omri', 'Alon', 'Yuval', 'Gal', 'Idan', 'Nir',\r\n 'Ariel', 'Ben', 'Shai', 'Yair', 'Tom', 'Adam', 'Tomer', 'Dor', 'Oren', 'Elad',\r\n 'Chen', 'Ran', 'Roi', 'Omer'\r\n ],\r\n firstNamesFemale: [\r\n 'Sarah', 'Miriam', 'Rachel', 'Tamar', 'Noa', 'Shira', 'Maya', 'Yael', 'Hila',\r\n 'Dana', 'Tal', 'Lihi', 'Noga', 'Adi', 'Roni', 'Noy', 'Shani', 'Mia', 'Ella',\r\n 'Yarden', 'Lian', 'Agam', 'Rotem', 'Lior', 'Amit', 'Carmel', 'Talia', 'Neta',\r\n 'Efrat', 'Gal', 'Inbar', 'Avigail', 'Chen'\r\n ],\r\n lastNames: [\r\n 'Cohen', 'Levy', 'Mizrahi', 'Peretz', 'Biton', 'Dahan', 'Avraham', 'Friedman',\r\n 'Azoulay', 'Yosef', 'Katz', 'Kaplan', 'Ben David', 'Ben Ami', 'Malka', 'Shapiro',\r\n 'Amar', 'Ohana', 'Elkayam', 'Golan', 'Goldberg', 'Stein', 'Schwartz', 'Levi',\r\n 'Ben Haim', 'Abuksis', 'Israeli', 'Sharon', 'Barak', 'Shalom', 'Weiss', 'Klein'\r\n ],\r\n streets: [\r\n 'Dizengoff Street', 'Rothschild Boulevard', 'Ben Yehuda Street', 'Allenby Street',\r\n 'King George Street', 'Jaffa Road', 'HaYarkon Street', 'Sderot Ben Gurion',\r\n 'Herzl Street', 'Weizmann Street', 'Basel Street', 'Nordau Boulevard', 'Ibn Gvirol Street',\r\n 'Rabin Square', 'Carmel Market', 'Neve Tzedek', 'Florentin', 'Sarona'\r\n ],\r\n cities: [\r\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Rishon LeZion', 'Petah Tikva', 'Ashdod', 'Netanya',\r\n 'Beer Sheva', 'Holon', 'Bnei Brak', 'Ramat Gan', 'Rehovot', 'Bat Yam', 'Ashkelon',\r\n 'Herzliya', 'Kfar Saba', 'Hadera', 'Modi\\'in', 'Nazareth', 'Lod', 'Ramla', 'Nahariya',\r\n 'Rosh HaAyin', 'Givatayim', 'Kiryat Ata', 'Raanana', 'Acre', 'Eilat'\r\n ],\r\n states: [\r\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Central', 'Southern', 'Northern', 'Judea and Samaria'\r\n ],\r\n zipCodePattern: '#######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 200);\r\n const apartment = Random.int(1, 50);\r\n return `${street} ${building}, Apt ${apartment}, ${city} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000000, 9999999));\r\n }\r\n};","import { Mimic } from './core/mimic';\r\nimport { localeRegistry } from './core/registry';\r\n\r\n// Import existing locales\r\nimport { en_US } from './locales/en_US';\r\nimport { ja_JP } from './locales/ja_JP';\r\nimport { id_ID } from './locales/id_ID';\r\nimport { de_DE } from './locales/de_DE';\r\nimport { fr_FR } from './locales/fr_FR';\r\nimport { pt_BR } from './locales/pt_BR';\r\nimport { ko_KR } from './locales/ko_KR';\r\nimport { en_AU } from './locales/en_AU';\r\n\r\n// Import new locales (20 original)\r\nimport { zh_CN } from './locales/zh_CN';\r\nimport { en_IN } from './locales/en_IN';\r\nimport { es_MX } from './locales/es_MX';\r\nimport { it_IT } from './locales/it_IT';\r\nimport { es_ES } from './locales/es_ES';\r\nimport { nl_NL } from './locales/nl_NL';\r\nimport { en_CA } from './locales/en_CA';\r\nimport { en_GB } from './locales/en_GB';\r\nimport { ru_RU } from './locales/ru_RU';\r\nimport { pl_PL } from './locales/pl_PL';\r\nimport { tr_TR } from './locales/tr_TR';\r\nimport { sv_SE } from './locales/sv_SE';\r\nimport { nb_NO } from './locales/nb_NO';\r\nimport { da_DK } from './locales/da_DK';\r\nimport { fi_FI } from './locales/fi_FI';\r\nimport { es_AR } from './locales/es_AR';\r\nimport { es_CL } from './locales/es_CL';\r\nimport { th_TH } from './locales/th_TH';\r\nimport { vi_VN } from './locales/vi_VN';\r\nimport { ms_MY } from './locales/ms_MY';\r\n\r\n// Import newest locales (16 additional)\r\nimport { en_SG } from './locales/en_SG';\r\nimport { en_PH } from './locales/en_PH';\r\nimport { en_NZ } from './locales/en_NZ';\r\nimport { en_ZA } from './locales/en_ZA';\r\nimport { pt_PT } from './locales/pt_PT';\r\nimport { el_GR } from './locales/el_GR';\r\nimport { cs_CZ } from './locales/cs_CZ';\r\nimport { de_AT } from './locales/de_AT';\r\nimport { de_CH } from './locales/de_CH';\r\nimport { nl_BE } from './locales/nl_BE';\r\nimport { hu_HU } from './locales/hu_HU';\r\nimport { ro_RO } from './locales/ro_RO';\r\nimport { ar_AE } from './locales/ar_AE';\r\nimport { ar_SA } from './locales/ar_SA';\r\nimport { ar_EG } from './locales/ar_EG';\r\nimport { he_IL } from './locales/he_IL';\r\n\r\n// Export types\r\nexport type {\r\n Gender,\r\n MetricSystem,\r\n PersonData,\r\n AddressData,\r\n PhysicalData,\r\n WorkData,\r\n AgeRange,\r\n LocaleData,\r\n LocaleDefinition\r\n} from './types';\r\n\r\n// Export core classes\r\nexport { Mimic } from './core/mimic';\r\nexport { Random } from './core/random';\r\nexport { localeRegistry } from './core/registry';\r\n\r\n/**\r\n * ============================================\r\n * AUTO-REGISTRATION OF LOCALES\r\n * ============================================\r\n * Register all locales with their aliases\r\n */\r\n\r\n// Original 8 locales\r\nlocaleRegistry.register('en_US', en_US, ['en', 'us', 'usa']);\r\nlocaleRegistry.register('ja_JP', ja_JP, ['ja', 'jp', 'japan']);\r\nlocaleRegistry.register('id_ID', id_ID, ['id', 'indonesia']);\r\nlocaleRegistry.register('de_DE', de_DE, ['de', 'germany', 'deutsch']);\r\nlocaleRegistry.register('fr_FR', fr_FR, ['fr', 'france']);\r\nlocaleRegistry.register('pt_BR', pt_BR, ['pt', 'br', 'brazil', 'brasil']);\r\nlocaleRegistry.register('ko_KR', ko_KR, ['ko', 'kr', 'korea']);\r\nlocaleRegistry.register('en_AU', en_AU, ['au', 'aus', 'australia']);\r\n\r\n// New 20 locales\r\nlocaleRegistry.register('zh_CN', zh_CN, ['zh', 'cn', 'china']);\r\nlocaleRegistry.register('en_IN', en_IN, ['in', 'india']);\r\nlocaleRegistry.register('es_MX', es_MX, ['mx', 'mexico']);\r\nlocaleRegistry.register('it_IT', it_IT, ['it', 'italy', 'italia']);\r\nlocaleRegistry.register('es_ES', es_ES, ['es', 'spain', 'españa']);\r\nlocaleRegistry.register('nl_NL', nl_NL, ['nl', 'netherlands', 'holland']);\r\nlocaleRegistry.register('en_CA', en_CA, ['ca', 'canada']);\r\nlocaleRegistry.register('en_GB', en_GB, ['gb', 'uk', 'britain']);\r\nlocaleRegistry.register('ru_RU', ru_RU, ['ru', 'russia']);\r\nlocaleRegistry.register('pl_PL', pl_PL, ['pl', 'poland', 'polska']);\r\nlocaleRegistry.register('tr_TR', tr_TR, ['tr', 'turkey', 'turkiye']);\r\nlocaleRegistry.register('sv_SE', sv_SE, ['sv', 'se', 'sweden', 'sverige']);\r\nlocaleRegistry.register('nb_NO', nb_NO, ['no', 'norway', 'norge']);\r\nlocaleRegistry.register('da_DK', da_DK, ['da', 'dk', 'denmark', 'danmark']);\r\nlocaleRegistry.register('fi_FI', fi_FI, ['fi', 'finland', 'suomi']);\r\nlocaleRegistry.register('es_AR', es_AR, ['ar', 'argentina']);\r\nlocaleRegistry.register('es_CL', es_CL, ['cl', 'chile']);\r\nlocaleRegistry.register('th_TH', th_TH, ['th', 'thailand']);\r\nlocaleRegistry.register('vi_VN', vi_VN, ['vi', 'vn', 'vietnam']);\r\nlocaleRegistry.register('ms_MY', ms_MY, ['ms', 'my', 'malaysia']);\r\n\r\n// Newest 16 locales\r\nlocaleRegistry.register('en_SG', en_SG, ['sg', 'singapore']);\r\nlocaleRegistry.register('en_PH', en_PH, ['ph', 'philippines']);\r\nlocaleRegistry.register('en_NZ', en_NZ, ['nz', 'new-zealand']);\r\nlocaleRegistry.register('en_ZA', en_ZA, ['za', 'south-africa']);\r\nlocaleRegistry.register('pt_PT', pt_PT, ['portugal']);\r\nlocaleRegistry.register('el_GR', el_GR, ['el', 'gr', 'greece']);\r\nlocaleRegistry.register('cs_CZ', cs_CZ, ['cs', 'cz', 'czech']);\r\nlocaleRegistry.register('de_AT', de_AT, ['at', 'austria']);\r\nlocaleRegistry.register('de_CH', de_CH, ['ch', 'switzerland']);\r\nlocaleRegistry.register('nl_BE', nl_BE, ['be', 'belgium']);\r\nlocaleRegistry.register('hu_HU', hu_HU, ['hu', 'hungary']);\r\nlocaleRegistry.register('ro_RO', ro_RO, ['ro', 'romania']);\r\nlocaleRegistry.register('ar_AE', ar_AE, ['ae', 'uae', 'emirates']);\r\nlocaleRegistry.register('ar_SA', ar_SA, ['sa', 'saudi', 'saudi-arabia']);\r\nlocaleRegistry.register('ar_EG', ar_EG, ['eg', 'egypt']);\r\nlocaleRegistry.register('he_IL', he_IL, ['he', 'il', 'israel']);\r\n\r\n/**\r\n * Factory function to create Mimic instance with specified locale\r\n */\r\nexport function createMimic(locale: string = 'en_US'): Mimic {\r\n const localeDefinition = localeRegistry.get(locale);\r\n \r\n if (!localeDefinition) {\r\n const available = localeRegistry.getAllCodes().join(', ');\r\n throw new Error(\r\n `Locale '${locale}' not found.\\n` +\r\n `Available locales: ${available}`\r\n );\r\n }\r\n \r\n return new Mimic(localeDefinition);\r\n}\r\n\r\n/**\r\n * Get available main locale codes\r\n */\r\nexport function getAvailableLocales(): string[] {\r\n return localeRegistry.getAvailableLocales();\r\n}\r\n\r\n/**\r\n * Get all codes (locales + aliases)\r\n */\r\nexport function getAllLocaleCodes(): string[] {\r\n return localeRegistry.getAllCodes();\r\n}\r\n\r\n/**\r\n * Export all locale definitions for advanced usage\r\n */\r\nexport const locales = {\r\n // Original\r\n en_US, ja_JP, id_ID, de_DE, fr_FR, pt_BR, ko_KR, en_AU,\r\n // New (20)\r\n zh_CN, en_IN, es_MX, it_IT, es_ES, nl_NL, en_CA, en_GB,\r\n ru_RU, pl_PL, tr_TR, sv_SE, nb_NO, da_DK, fi_FI,\r\n es_AR, es_CL, th_TH, vi_VN, ms_MY,\r\n // Newest (16)\r\n en_SG, en_PH, en_NZ, en_ZA, pt_PT, el_GR, cs_CZ, de_AT,\r\n de_CH, nl_BE, hu_HU, ro_RO, ar_AE, ar_SA, ar_EG, he_IL\r\n};\r\n\r\n// Default export\r\nexport default createMimic;"],"mappings":"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","names":[]}