Repository: joke2k/faker

Issue:
Missing tests in various address providers
* Faker version: 5.0.2
* OS: Mac OS Big Sur

While creating another provider for a PR and doing it's necessary tests, I noticed that there are some address providers that don't have tests. I think that every provider should have it's test for uniformity and assurance that the provider works, but I don't know if they are really necessary. The list of address providers without tests are: 

- [ ] en_NZ
- [ ] fil_PH
- [ ] fr_CH
- [ ] hu_HU
- [ ] id_ID
- [ ] it_IT
- [ ] ka_GE
- [ ] ko_KR
- [ ] sk_SK
- [ ] si_SI
- [ ] sv_SE
- [ ] tl_PH
- [ ] uk_UA

Should this tests be added? 

Discussion:

Patch:
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
index c15b26e2..0f724400 100644
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 12.3.0
+current_version = 13.0.0
 files = VERSION faker/__init__.py docs/conf.py
 commit = True
 tag = True
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index bd870f10..46cefc73 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,10 +1,10 @@
-### What does this changes
+### What does this change
 
-Brief summary of the changes
+Brief summary of the changes.
 
 ### What was wrong
 
-Description of what was the root cause of the issue.
+Description of the root cause of the issue.
 
 ### How this fixes it
 
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1762e314..56a2c12f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -14,6 +14,14 @@ jobs:
 
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-flake8
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -31,6 +39,14 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-checkmanifest
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -47,6 +63,14 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-isort
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -64,6 +88,14 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-black
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -80,6 +112,14 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-pep8
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -100,6 +140,14 @@ jobs:
 
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-typing
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -122,6 +170,14 @@ jobs:
 
     steps:
       - uses: actions/checkout@v2
+      - name: Setup pip cache
+        uses: actions/cache@v2
+        id: pipcache
+        with:
+          path: ~/.cache/pip
+          key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+          restore-keys: |
+            ${{ runner.os }}-pip-test_ubuntu
       - name: Setup Python
         uses: actions/setup-python@v2
         with:
@@ -156,6 +212,14 @@ jobs:
 
     steps:
       - uses: actions/checkout@v2
+      - name: Setup pip cache
+        uses: actions/cache@v2
+        id: pipcache
+        with:
+          path: ~/.cache/pip
+          key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+          restore-keys: |
+            ${{ runner.os }}-pip-test_windows
       - name: Setup Python
         uses: actions/setup-python@v2
         with:
@@ -179,6 +243,14 @@ jobs:
 
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-test_alpine
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
@@ -198,6 +270,14 @@ jobs:
 
     steps:
     - uses: actions/checkout@v2
+    - name: Setup pip cache
+      uses: actions/cache@v2
+      id: pipcache
+      with:
+        path: ~/.cache/pip
+        key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
+        restore-keys: |
+          ${{ runner.os }}-pip-test_32bit
     - name: Set up Python
       uses: actions/setup-python@v2
       with:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4a9db249..3c058d03 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,22 @@
 ## Changelog
 
+### [v13.0.0 - 2022-02-15](https://github.com/joke2k/faker/compare/v12.3.3...v13.0.0)
+
+* Use `os.urandom` in `binary()` if unseeded. Thanks @AlmightyYakob.
+
+### [v12.3.3 - 2022-02-14](https://github.com/joke2k/faker/compare/v12.3.2...v12.3.3)
+
+*  Arabic improvements for names. Thanks @alfawal.
+
+### [v12.3.2 - 2022-02-14](https://github.com/joke2k/faker/compare/v12.3.1...v12.3.2)
+
+* Fix postcode format for `es_ES` locale. Thanks @mondeja.
+
+### [v12.3.1 - 2022-02-14](https://github.com/joke2k/faker/compare/v12.3.0...v12.3.1)
+
+* Prevent "non-integer arguments to randrange()" warnings on Python 3.10.
+  Thanks @jacksmith15. 
+
 ### [v12.3.0 - 2022-02-10](https://github.com/joke2k/faker/compare/v12.2.0...v12.3.0)
 
 * Fix `it_IT` `ssn()` validity. Thanks @MarcoMatarazzo.
@@ -15,7 +32,7 @@
 
 ### [v12.0.1 - 2022-02-04](https://github.com/joke2k/faker/compare/v12.0.0...v12.0.1)
 
-*  Remove empty string in Korean job list. Thanks @georgidimitrov-hs.
+* Remove empty string in Korean job list. Thanks @georgidimitrov-hs.
 
 ### [v12.0.0 - 2022-01-31](https://github.com/joke2k/faker/compare/v11.4.0...v12.0.0)
 
@@ -45,7 +62,7 @@
 
 ### [v10.0.0 - 2021-12-07](https://github.com/joke2k/faker/compare/v9.9.1...v10.0.0)
 
-* deprecate positional `allowed_types`.
+* Deprecate positional `allowed_types`.
 
 ### [v9.9.1 - 2021-12-07](https://github.com/joke2k/faker/compare/v9.9.0...v9.9.1)
 
@@ -73,7 +90,7 @@
 
 ### [v9.8.0 - 2021-11-02](https://github.com/joke2k/faker/compare/v9.7.1...v9.8.0)
 
-*  Add ``es_CO`` localized providers. Thank you @healarconr.
+* Add ``es_CO`` localized providers. Thank you @healarconr.
 
 ### [v9.7.1 - 2021-10-27](https://github.com/joke2k/faker/compare/v9.7.0...v9.7.1)
 
@@ -89,15 +106,15 @@
 
 ### [v9.5.3 - 2021-10-25](https://github.com/joke2k/faker/compare/v9.5.2...v9.5.3)
 
-*  Improve randomness of ``pydecimal`` for different scenarios. Thanks @antonioIrizar.
+* Improve randomness of ``pydecimal`` for different scenarios. Thanks @antonioIrizar.
 
 ### [v9.5.2 - 2021-10-21](https://github.com/joke2k/faker/compare/v9.5.1...v9.5.2)
 
-*  Limit ``typing_extensions`` dependency to Python < 3.8. Thanks @mgorny.
+* Limit ``typing_extensions`` dependency to Python < 3.8. Thanks @mgorny.
 
 ### [v9.5.1 - 2021-10-20](https://github.com/joke2k/faker/compare/v9.5.0...v9.5.1)
 
-*  Add ``typing-extensions`` as dependency and pin ``mypy`` version. Thanks @nicarl.
+* Add ``typing-extensions`` as dependency and pin ``mypy`` version. Thanks @nicarl.
 
 ### [v9.5.0 - 2021-10-19](https://github.com/joke2k/faker/compare/v9.4.0...v9.5.0)
 
@@ -109,7 +126,7 @@
 
 ### [v9.3.1 - 2021-10-11](https://github.com/joke2k/faker/compare/v9.3.0...v9.3.1)
 
-*  Change to secondary address format in ``en_AU`` locale to reflect the common usage. Thanks @deboraelkin2.
+* Change to secondary address format in ``en_AU`` locale to reflect the common usage. Thanks @deboraelkin2.
 
 ### [v9.3.0 - 2021-10-11](https://github.com/joke2k/faker/compare/v9.2.0...v9.3.0)
 
@@ -165,7 +182,7 @@
 
 ### [v8.12.2 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.12.1...v8.12.2)
 
-*  Remove period/fullstop from ``en_GB`` prefixes. Thanks @stephengruppetta.
+* Remove period/fullstop from ``en_GB`` prefixes. Thanks @stephengruppetta.
 
 ### [v8.12.1 - 2021-08-24](https://github.com/joke2k/faker/compare/v8.12.0...v8.12.1)
 
@@ -179,7 +196,7 @@
 
 ### [v8.11.0 - 2021-08-03](https://github.com/joke2k/faker/compare/v8.10.3...v8.11.0)
 
-*  Add ``nic_handle``. Thanks @pishchalnikov.
+* Add ``nic_handle``. Thanks @pishchalnikov.
 
 ### [v8.10.3 - 2021-07-26](https://github.com/joke2k/faker/compare/v8.10.2...v8.10.3)
 
@@ -191,7 +208,7 @@
 
 ### [v8.10.1 - 2021-07-12](https://github.com/joke2k/faker/compare/v8.10.0...v8.10.1)
 
-* enable faker instances to be unpickled (#1480). Thanks @fcurella.
+* Enable faker instances to be unpickled (#1480). Thanks @fcurella.
 
 ### [v8.10.0 - 2021-07-07](https://github.com/joke2k/faker/compare/v8.9.1...v8.10.0)
 
@@ -223,7 +240,7 @@
 
 ### [v8.6.0 - 2021-06-07](https://github.com/joke2k/faker/compare/v8.5.1...v8.6.0)
 
-*  Add ``aba()`` method to generate ABA routing numbers. Thanks @mstellon.
+* Add ``aba()`` method to generate ABA routing numbers. Thanks @mstellon.
 
 ### [v8.5.1 - 2021-06-03](https://github.com/joke2k/faker/compare/v8.5.0...v8.5.1)
 
@@ -231,7 +248,7 @@
 
 ### [v8.5.0 - 2021-06-02](https://github.com/joke2k/faker/compare/v8.4.0...v8.5.0)
 
-*  Add  ``image`` provider. Thanks @n1ngu.
+* Add  ``image`` provider. Thanks @n1ngu.
 
 ### [v8.4.0 - 2021-05-27](https://github.com/joke2k/faker/compare/v8.3.0...v8.4.0)
 
@@ -239,15 +256,15 @@
 
 ### [v8.3.0 - 2021-05-26](https://github.com/joke2k/faker/compare/v8.2.1...v8.3.0)
 
-*  Add colors for ``he_IL``. Thanks @AndreyRub.
+* Add colors for ``he_IL``. Thanks @AndreyRub.
 
 ### [v8.2.1 - 2021-05-21](https://github.com/joke2k/faker/compare/v8.2.0...v8.2.1)
 
-*  Add few more names in ``en_IN`` person provider. Thanks @Felix-Raj.
+* Add few more names in ``en_IN`` person provider. Thanks @Felix-Raj.
 
 ### [v8.2.0 - 2021-05-18](https://github.com/joke2k/faker/compare/v8.1.4...v8.2.0)
 
-*  Add ``city_name()`` and cities to ``support .city()`` for ``th_TH``. Thanks @bact.
+* Add ``city_name()`` and cities to ``support .city()`` for ``th_TH``. Thanks @bact.
 
 ### [v8.1.4 - 2021-05-13](https://github.com/joke2k/faker/compare/v8.1.3...v8.1.4)
 
@@ -291,7 +308,7 @@
 
 ### [v6.6.1 - 2021-03-15](https://github.com/joke2k/faker/compare/v6.6.0...v6.6.1)
 
-* set ``uk_UA`` address street titles to proper language. Thanks @fessua.
+* Set ``uk_UA`` address street titles to proper language. Thanks @fessua.
 
 ### [v6.6.0 - 2021-03-09](https://github.com/joke2k/faker/compare/v6.5.2...v6.6.0)
 
@@ -311,7 +328,7 @@
 
 ### [v6.4.1 - 2021-02-19](https://github.com/joke2k/faker/compare/v6.4.0...v6.4.1)
 
-* user_agent: bump platform versions. Thanks @gsilvan.
+* `user_agent`: bump platform versions. Thanks @gsilvan.
 
 ### [v6.4.0 - 2021-02-19](https://github.com/joke2k/faker/compare/v6.3.0...v6.4.0)
 
@@ -323,7 +340,7 @@
 
 ### [v6.2.0 - 2021-02-17](https://github.com/joke2k/faker/compare/v6.1.1...v6.2.0)
 
-*  Add current_country, current_country_code and administrative_unit. Thanks @prescod.
+* Add current_country, current_country_code and administrative_unit. Thanks @prescod.
 
 ### [v6.1.1 - 2021-02-09](https://github.com/joke2k/faker/compare/v6.1.0...v6.1.1)
 
@@ -471,7 +488,6 @@
 
 * Add province list and add 2 new district to ``ne_NP``. Thanks @iamsauravsharma.
 
-
 ### [4.6.0 - 2020-10-08](https://github.com/joke2k/faker/compare/v4.5.0...v4.6.0)
 
 * Add Currency provider for ``sv_SE``. Thanks @frangiz.
diff --git a/VERSION b/VERSION
index 4d23cb8e..02161ca8 100644
--- a/VERSION
+++ b/VERSION
@@ -1,1 +1,1 @@
-12.3.0
+13.0.0
diff --git a/docs/conf.py b/docs/conf.py
index 35eb664b..d0a98ee8 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -51,9 +51,9 @@ copyright = "2014, Daniele Faraglia"
 # built documents.
 #
 # The short X.Y version.
-version = "12.3.0"
+version = "13.0.0"
 # The full version, including alpha/beta/rc tags.
-release = "12.3.0"
+release = "13.0.0"
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/faker/__init__.py b/faker/__init__.py
index 844069a5..d4cea9ea 100644
--- a/faker/__init__.py
+++ b/faker/__init__.py
@@ -2,6 +2,6 @@ from faker.factory import Factory
 from faker.generator import Generator
 from faker.proxy import Faker
 
-VERSION = "12.3.0"
+VERSION = "13.0.0"
 
 __all__ = ("Factory", "Generator", "Faker")
diff --git a/faker/generator.py b/faker/generator.py
index f297aa01..f4950efe 100644
--- a/faker/generator.py
+++ b/faker/generator.py
@@ -17,6 +17,8 @@ class Generator:
         "arguments": {},
     }
 
+    _is_seeded = False
+
     def __init__(self, **config: Dict) -> None:
         self.providers: List["BaseProvider"] = []
         self.__config = dict(list(self.__config.items()) + list(config.items()))
@@ -66,11 +68,13 @@ class Generator:
             # called
             self.__random = random_module.Random()
         self.__random.seed(seed)
+        self._is_seeded = True
         return self
 
     @classmethod
     def seed(cls, seed: Optional[Hashable] = None) -> None:
         random.seed(seed)
+        cls._is_seeded = True
 
     def format(self, formatter: str, *args: Any, **kwargs: Any) -> str:
         """
diff --git a/faker/providers/address/es_ES/__init__.py b/faker/providers/address/es_ES/__init__.py
index e9d9ab32..7ac8a010 100644
--- a/faker/providers/address/es_ES/__init__.py
+++ b/faker/providers/address/es_ES/__init__.py
@@ -24,7 +24,6 @@ class Provider(AddressProvider):
         "Paseo",
         "Camino",
     )
-    postcode_formats = ("#####",)
     states = (
         "Álava",
         "Albacete",
@@ -135,4 +134,7 @@ class Provider(AddressProvider):
     def region(self) -> str:
         return self.random_element(self.regions)
 
+    def postcode(self) -> str:
+        return str(self.generator.random.randint(1000, 52100)).zfill(5)
+
     autonomous_community = region
diff --git a/faker/providers/job/ar_AA/__init__.py b/faker/providers/job/ar_AA/__init__.py
index c07b5cef..f01af78d 100644
--- a/faker/providers/job/ar_AA/__init__.py
+++ b/faker/providers/job/ar_AA/__init__.py
@@ -4,146 +4,137 @@ from .. import Provider as BaseProvider
 class Provider(BaseProvider):
     # Source: https://learnenglish100.com/grammar/career-job/
     jobs = (
-        "محاسب",
-        "ممثل",
-        "ممثلة",
-        "محام",
-        "مضيفة في الطائرة",
-        "مضيفة جوية",
-        "عالم",
-        "عالم اثار",
-        "فنان",
-        "مؤلف",
-        "خباز",
-        "راقصة باليه",
-        "مدير بنك",
-        "حلاق",
         "أحيائي",
-        "حداد",
-        "مجلد كتب",
-        "صاحب مكتبة",
-        "نباتي",
-        "عامل بناء",
+        "احصائي",
+        "اطفائي",
+        "بائع",
+        "بائع خضار وفاكهة",
+        "بائع زهور",
+        "بائعة",
+        "بواب",
+        "تاجر",
         "جزار",
-        "مشتري",
-        "نجار",
+        "جوھري",
+        "جيولوجي",
+        "حداد",
+        "حلاق",
+        "خادمة",
+        "خباز",
+        "خبير اقتصادي",
+        "خبير في التراث الشعبي",
+        "خبير في عالم الحيوان",
+        "خراط",
+        "خياط",
+        "خياطة",
+        "داية",
         "رئيس طهاه",
-        "صيدلي",
-        "قائد شرطة",
-        "موظف حكومي",
-        "كاتب",
-        "ملحن",
-        "طباخ",
-        "مصحح قانوني",
         "راقصة",
-        "مصمم ديكور",
-        "موصل طلبيات",
-        "طبيب أسنان",
-        "مصصم",
+        "راقصة باليه",
         "رجل مباحث",
-        "مدير او مخرج",
-        "طبيب",
         "رسام",
-        "خياطة",
+        "روائي",
         "سائق",
-        "صباغ",
-        "خبير اقتصادي",
-        "محرر",
-        "محرر جريدة",
-        "مھندس",
-        "خبير في التراث الشعبي",
-        "منسق ازياء",
-        "اطفائي",
-        "بائع زهور",
-        "جيولوجي",
-        "صائغ",
-        "مصمم جرافيك",
-        "بائع خضار وفاكهة",
-        "حلاق",
-        "مصفف شعر",
-        "مصور",
-        "وسيط تأمين",
-        "مترجم",
-        "مكوى",
-        "بواب",
-        "جوھري",
-        "صحافي",
-        "قاضي",
-        "غسالة",
-        "محام",
-        "محاضر",
-        "لغوي",
+        "سائق تاكسي",
         "سائق شاحنة",
-        "خادمة",
+        "ساعاتي",
         "ساعي بريد",
-        "مدير",
-        "مدير تسويق",
-        "عالم رياضيات",
-        "ميكانيكي",
-        "تاجر",
-        "عالم أرصاد جوية",
-        "داية",
-        "عارضة أزياء",
-        "صراف",
-        "موسيقار",
-        "مذيع",
-        "موزع جرائد",
-        "روائي",
-        "ممرضة",
-        "طبيب عيون",
-        "صانع أدوات بصرية",
-        "رسام",
-        "مدير موظفين",
-        "صيدلي",
-        "فيلسوف",
-        "مصور",
-        "عالم فيزياء",
-        "معالج طبيعي",
-        "طيار",
-        "كاتب مسرحي",
+        "سكرتير",
+        "سكرتيرة",
         "سمكري",
+        "سياسي",
         "شاعر",
-        "ضابط شرطة",
         "شرطي",
-        "سياسي",
+        "صائغ",
+        "صاحب متجر",
         "صاحب مطبعة",
-        "منتج",
-        "مبرمج",
-        "طبيب نفساني",
-        "ناشر",
-        "وكيل عقارات",
-        "موظف استقبال",
+        "صاحب مكتبة",
+        "صانع أدوات بصرية",
+        "صباغ",
+        "صباغ أحذية",
+        "صحافي",
         "صحفي",
-        "مساعد مبيعات",
-        "بائع",
-        "بائعة",
+        "صراف",
+        "صيدلي",
+        "ضابط شرطة",
+        "ضارب على الآلة الكاتبة",
+        "طباخ",
+        "طبيب",
+        "طبيب أسنان",
+        "طبيب جراح",
+        "طبيب عيون",
+        "طبيب نفساني",
+        "طيار",
+        "عارضة أزياء",
         "عالم",
-        "نحات",
-        "سكرتير",
-        "سكرتيرة",
-        "صباغ أحذية",
+        "عالم أرصاد جوية",
+        "عالم اثار",
+        "عالم رياضيات",
+        "عالم فيزياء",
+        "عامل",
         "عامل أحذية",
-        "ماسح احذية",
         "عامل بمتجر",
-        "صاحب متجر",
-        "مطرب",
-        "مغني",
-        "احصائي",
+        "عامل بناء",
+        "غسالة",
+        "فنان",
+        "فيلسوف",
+        "قائد شرطة",
+        "قاضي",
+        "كاتب",
+        "كاتب مسرحي",
+        "لغوي",
+        "مؤلف",
+        "ماسح احذية",
+        "مبرمج",
+        "مترجم",
+        "مجلد كتب",
+        "محاسب",
+        "محاضر",
+        "محام",
+        "محرر",
+        "محرر جريدة",
+        "مدير",
+        "مدير او مخرج",
+        "مدير بنك",
+        "مدير تسويق",
         "مدير متجر",
-        "طبيب جراح",
-        "خياط",
-        "سائق تاكسي",
+        "مدير موظفين",
+        "مذيع",
+        "مساعد مبيعات",
+        "مشتري",
+        "مصحح قانوني",
+        "مصصم",
+        "مصفف شعر",
+        "مصمم جرافيك",
+        "مصمم ديكور",
+        "مصور",
+        "مضيفة جوية",
+        "مضيفة في الطائرة",
+        "مطرب",
+        "معالج طبيعي",
         "معلم",
-        "موظف بدالة",
-        "مترجم",
-        "وكيل سفر",
-        "سائق شاحنة",
-        "خراط",
-        "ضارب على الآلة الكاتبة",
+        "مغني",
+        "مكوى",
+        "ملحن",
+        "ممثل",
+        "ممثلة",
+        "ممرضة",
+        "منتج",
         "منجد",
+        "منسق ازياء",
+        "موزع جرائد",
+        "موسيقار",
+        "موصل طلبيات",
+        "موظف استقبال",
+        "موظف بدالة",
+        "موظف حكومي",
+        "ميكانيكي",
+        "مھندس",
         "نادلة",
-        "ساعاتي",
-        "عامل",
-        "كاتب",
-        "خبير في عالم الحيوان",
+        "ناشر",
+        "نباتي",
+        "نجار",
+        "نحات",
+        "وسيط تأمين",
+        "وكيل سفر",
+        "وكيل عقارات",
     )
diff --git a/faker/providers/lorem/ar_AA/__init__.py b/faker/providers/lorem/ar_AA/__init__.py
index ec88fdbb..c8b60b12 100644
--- a/faker/providers/lorem/ar_AA/__init__.py
+++ b/faker/providers/lorem/ar_AA/__init__.py
@@ -5,697 +5,697 @@ class Provider(LoremProvider):
     """Implement lorem provider for ``ar_AA`` locale."""
 
     word_list = (
-        "تاريخ",
-        "ثمّة",
-        "ويكيبيديا",
-        "واشتدّت",
-        "عن",
-        "أوروبا",
-        "التغييرات",
-        "كثيرة",
-        "سنغافورة",
-        "اللازمة",
-        "جُل",
-        "قد",
-        "أن",
-        "الشّعبين",
-        "للجزر",
-        "بالشرقي",
-        "ذات",
-        "والتي",
-        "نهاية",
-        "عرفها",
-        "وسفن",
-        "وبولندا",
-        "بالمطالبة",
-        "وقوعها",
-        "معاملة",
-        "العصبة",
-        "لمّ",
-        "البرية",
-        "بعدم",
-        "واُسدل",
-        "حالية",
-        "فمرّ",
-        "قبضتهم",
-        "وإقامة",
-        "الأعمال",
-        "معارضة",
-        "الإمتعاض",
-        "٢٠٠٤",
-        "كانت",
-        "بينما",
-        "شعار",
-        "وتزويده",
-        "معقل",
-        "عشوائية",
-        "مدينة",
-        "وفي",
-        "الأوروبيّون",
-        "فكان",
-        "ضرب",
-        "سكان",
-        "الأوروبية",
-        "الأمريكي",
-        "وبغطاء",
-        "الربيع",
-        "المضي",
-        "جدول",
-        "التقليدية",
-        "العاصمة",
-        "التنازلي",
-        "إبّان",
-        "بها",
-        "الجنوبي",
-        "وتنامت",
-        "استدعى",
-        "الرئيسية",
-        "بالتوقيع",
-        "بداية",
-        "دخول",
         "أثره",
-        "الدنمارك",
-        "واقتصار",
-        "الساحل",
-        "الوزراء",
-        "الثالث",
-        "تونس",
-        "الخاسرة",
-        "الحيلولة",
-        "لفشل",
-        "الإطلاق",
-        "ماذا",
-        "مواقعها",
-        "الجديدة",
-        "والنفيس",
-        "الأرواح",
+        "أجزاء",
+        "أحدث",
+        "أحكم",
+        "أخذ",
+        "أخر",
+        "أخرى",
+        "أدنى",
+        "أدوات",
+        "أراض",
+        "أراضي",
+        "أسابيع",
+        "أساسي",
+        "أسر",
+        "أسيا",
+        "أصقاع",
+        "أضف",
+        "أطراف",
+        "أعلنت",
+        "أعمال",
+        "أفاق",
+        "أفريقيا",
         "أكثر",
-        "الأوربيين",
-        "والفرنسي",
+        "ألمانيا",
+        "ألمّ",
+        "أم",
+        "أما",
+        "أمام",
+        "أمدها",
+        "أملاً",
+        "أمّا",
+        "أن",
+        "أهّل",
+        "أواخر",
+        "أوراقهم",
+        "أوروبا",
         "أوزار",
-        "بلديهما",
-        "وايرلندا",
-        "يتم",
-        "جعل",
-        "عرض",
-        "أفريقيا",
+        "أوسع",
+        "أي",
+        "إبّان",
+        "إتفاقية",
+        "إجلاء",
+        "إحتار",
+        "إحكام",
+        "إختار",
+        "إذ",
         "إستعمل",
-        "التقليدي",
-        "عُقر",
-        "طوكيو",
+        "إستيلاء",
+        "إعادة",
+        "إعلان",
+        "إعمار",
+        "إنطلاق",
+        "إيطاليا",
+        "إيو",
+        "ابتدعها",
+        "اتفاق",
         "اتفاقية",
-        "بمحاولة",
-        "اوروبا",
-        "منتصف",
-        "أسر",
-        "بالرّغم",
-        "بضرب",
-        "إحكام",
-        "أجزاء",
-        "الخارجية",
-        "كنقطة",
-        "بشرية",
-        "بقادة",
-        "لبلجيكا",
-        "استطاعوا",
-        "بسبب",
-        "تسمّى",
-        "الحرة",
-        "يرتبط",
-        "شاسعة",
-        "الواقعة",
-        "مارد",
-        "والمعدات",
-        "لمحاكم",
-        "بعلى",
-        "التبرعات",
-        "ضمنها",
-        "فعل",
-        "٣٠",
-        "الاندونيسية",
-        "الى",
-        "مكثّفة",
-        "وقدّموا",
-        "الأثنان",
-        "أخرى",
-        "العالمي",
-        "واحدة",
-        "وترك",
-        "الحكم",
-        "بهناك",
-        "بأيدي",
-        "باستخدام",
-        "الذود",
-        "ولكسمبورغ",
-        "بعشوائية",
-        "الأوضاع",
-        "رجوعهم",
-        "وأزيز",
-        "سياسة",
-        "ليبين",
-        "رئيس",
-        "الجوي",
-        "سقطت",
-        "تكاليف",
-        "وكسبت",
-        "وعلى",
+        "اتّجة",
         "احداث",
-        "شموليةً",
-        "إيطاليا",
-        "عجّل",
-        "أحكم",
-        "الدمج",
-        "محاولات",
-        "يعادل",
-        "بريطانيا-فرنسا",
-        "ديسمبر",
-        "قتيل",
-        "التاريخ",
+        "ارتكبها",
+        "اسبوعين",
         "استبدال",
-        "مقاومة",
-        "السيء",
-        "الصعداء",
-        "أعمال",
-        "مسارح",
-        "ومضى",
-        "تعد",
-        "صفحة",
-        "النفط",
-        "وهولندا",
-        "وبريطانيا",
-        "جهة",
-        "بين",
-        "اتّجة",
-        "واعتلاء",
-        "ومحاولة",
-        "المارق",
-        "المؤلّفة",
-        "شمال",
-        "لهذه",
-        "بحث",
-        "وانهاء",
-        "غريمه",
-        "وبحلول",
-        "وقبل",
-        "بتصفح",
-        "بال",
-        "الفرنسي",
-        "وسمّيت",
-        "ترتيب",
-        "واستمرت",
-        "ببلا",
-        "الدولارات",
-        "إعمار",
-        "إعادة",
-        "به",
-        "الضغوط",
-        "حصدت",
-        "بقسوة",
-        "الطريق",
-        "وانتهاءً",
-        "حول",
-        "اكتوبر",
-        "الخاسر",
-        "ايطاليا",
-        "للأراضي",
-        "عالمية",
-        "جديدة",
-        "أخر",
-        "غينيا",
-        "قُدُماً",
-        "و",
-        "مسؤولية",
-        "ابتدعها",
-        "أمّا",
+        "استدعى",
+        "استراليا",
+        "استرجاع",
+        "استطاعوا",
+        "استعملت",
+        "استمرار",
+        "اعتداء",
+        "اعلان",
+        "اقتصادية",
+        "اكتوبر",
+        "الآخر",
+        "الآلاف",
+        "الأبرياء",
+        "الأثناء",
+        "الأثنان",
+        "الأجل",
+        "الأحمر",
+        "الأخذ",
+        "الأراضي",
+        "الأرض",
+        "الأرضية",
+        "الأرواح",
+        "الأسيوي",
+        "الأعمال",
+        "الأمريكي",
+        "الأمريكية",
+        "الأمم",
+        "الأمور",
+        "الأهداف",
+        "الأوربيين",
+        "الأوروبي",
+        "الأوروبية",
+        "الأوروبيّون",
+        "الأوضاع",
         "الأول",
-        "أدوات",
-        "يطول",
-        "تُصب",
         "الأولى",
-        "المسرح",
-        "بهيئة",
-        "الخطّة",
-        "موالية",
-        "مليون",
-        "بالجانب",
-        "إيو",
-        "الهجوم",
-        "أعلنت",
-        "المدن",
-        "علاقة",
-        "باستحداث",
-        "انتباه",
-        "بالولايات",
-        "مدن",
-        "أساسي",
-        "لفرنسا",
-        "الجنوب",
-        "الثقيل",
-        "والعتاد",
-        "بقعة",
-        "العدّ",
-        "اتفاق",
-        "تحت",
+        "الإتحاد",
+        "الإتفاقية",
+        "الإثنان",
         "الإحتفاظ",
-        "بوقامت",
-        "التي",
-        "ب٠٨٠٤",
-        "ولاتّساع",
+        "الإطلاق",
+        "الإقتصادي",
+        "الإقتصادية",
+        "الإكتفاء",
+        "الإمتعاض",
+        "الإمداد",
+        "الإنذار",
+        "الإنزال",
+        "الإيطالية",
         "الا",
-        "حكومة",
-        "مما",
-        "بحيث",
-        "مليارات",
-        "شواطيء",
+        "الانجليزية",
+        "الاندونيسية",
+        "الباهضة",
+        "البرية",
+        "البشريةً",
+        "البولندي",
+        "التاريخ",
+        "التبرعات",
+        "التجارية",
         "التحالف",
-        "الأوروبي",
-        "قام",
-        "يتعلّق",
-        "مايو",
-        "هاربر",
-        "العمليات",
-        "أما",
-        "يعبأ",
-        "وشعار",
-        "الإقتصادية",
-        "والكساد",
-        "ليرتفع",
-        "وبالرغم",
-        "قِبل",
-        "الله",
-        "تكتيكاً",
-        "اعتداء",
-        "ب٣٠",
-        "تسبب",
-        "للحكومة",
-        "الأهداف",
-        "اللا",
-        "ببعض",
-        "الستار",
-        "وبلجيكا",
-        "وفنلندا",
-        "ميناء",
+        "التخطيط",
+        "التغييرات",
+        "التقليدي",
+        "التقليدية",
+        "التكاليف",
+        "التنازلي",
+        "التي",
+        "الثالث",
+        "الثانية",
+        "الثقيل",
+        "الثقيلة",
+        "الجديدة",
+        "الجنرال",
+        "الجنوب",
+        "الجنوبي",
+        "الجنود",
+        "الجو",
+        "الجوي",
+        "الحدود",
+        "الحرة",
+        "الحكم",
+        "الحكومة",
+        "الحيلولة",
+        "الخارجية",
+        "الخاسر",
+        "الخاسرة",
+        "الخاصّة",
+        "الخاطفة",
+        "الخطّة",
+        "الدمج",
+        "الدنمارك",
+        "الدول",
+        "الدولارات",
+        "الدّفاع",
+        "الذود",
+        "الرئيسية",
+        "الربيع",
+        "الساحة",
+        "الساحل",
         "الساحلية",
-        "مقاطعة",
-        "وتم",
+        "السادس",
+        "السبب",
+        "الستار",
+        "السفن",
+        "السيء",
         "السيطرة",
-        "تغييرات",
-        "ووصف",
-        "الجنود",
-        "بلمّ",
-        "لدحر",
-        "بالحرب",
-        "كُلفة",
-        "وبدون",
-        "وصل",
-        "أفاق",
-        "الأبرياء",
-        "مهمّات",
+        "الشتاء",
+        "الشتوية",
+        "الشرق",
+        "الشرقي",
+        "الشرقية",
+        "الشطر",
+        "الشمال",
+        "الشمل",
+        "الشهير",
+        "الشهيرة",
+        "الشّعبين",
+        "الصعداء",
+        "الصفحات",
+        "الصفحة",
+        "الصين",
+        "الصينية",
+        "الضروري",
+        "الضغوط",
+        "الطرفين",
+        "الطريق",
+        "العاصمة",
+        "العالم",
+        "العالمي",
+        "العالمية",
+        "العدّ",
+        "العصبة",
         "العظمى",
-        "والقرى",
-        "وأكثرها",
-        "لان",
-        "مشارف",
-        "مساعدة",
-        "أضف",
-        "مشروط",
+        "العمليات",
+        "العناد",
+        "الغالي",
+        "الفترة",
+        "الفرنسي",
+        "الفرنسية",
+        "القادة",
+        "القوى",
         "الكونجرس",
-        "للصين",
-        "الشمل",
+        "اللا",
+        "اللازمة",
+        "الله",
+        "المؤلّفة",
+        "المارق",
+        "المبرمة",
+        "المتاخمة",
+        "المتحدة",
+        "المتساقطة",
+        "المتّبعة",
+        "المجتمع",
+        "المحيط",
+        "المدن",
+        "المسرح",
+        "المشترك",
+        "المشتّتون",
+        "المضي",
+        "المعاهدات",
+        "المنتصر",
+        "المواد",
+        "الموسوعة",
+        "النزاع",
+        "النفط",
+        "الهادي",
+        "الهجوم",
+        "الواقعة",
+        "الوراء",
+        "الوزراء",
+        "الولايات",
+        "الى",
+        "اليابان",
+        "اليابانية",
         "اليميني",
-        "فكانت",
-        "سقوط",
+        "اليها",
+        "ان",
+        "انتباه",
+        "انتصارهم",
+        "انتهت",
+        "انذار",
+        "انه",
+        "اوروبا",
+        "ايطاليا",
+        "بأراضي",
+        "بأسر",
+        "بأضرار",
+        "بأم",
+        "بأيدي",
+        "بإعمار",
+        "باستحداث",
+        "باستخدام",
+        "بال",
+        "بالأجل",
+        "بالإنزال",
+        "بالتوقيع",
+        "بالثالث",
+        "بالجانب",
+        "بالجوي",
+        "بالحرب",
+        "بالرغم",
+        "بالرّد",
+        "بالرّغم",
+        "بالسادس",
+        "بالسيطرة",
+        "بالشتاء",
+        "بالشرقي",
+        "بالعمل",
+        "بالمحور",
+        "بالمطالبة",
+        "بالولايات",
+        "بانه",
+        "ببحشد",
+        "ببعض",
+        "ببلا",
+        "ببه",
         "بتحت",
-        "بكلا",
-        "تصرّف",
-        "الأثناء",
-        "بولندا",
-        "واندونيسيا",
-        "كلّ",
-        "إحتار",
-        "الخاطفة",
-        "كردة",
-        "وحلفاؤها",
-        "إتفاقية",
-        "وبداية",
-        "يذكر",
-        "حادثة",
-        "مئات",
-        "الأسيوي",
-        "غير",
-        "الانجليزية",
-        "استعملت",
-        "استمرار",
-        "المحيط",
-        "وصافرات",
-        "وحتّى",
-        "الخاصّة",
-        "وزارة",
+        "بتحدّي",
+        "بتخصيص",
+        "بتصفح",
+        "بتطويق",
+        "بتونس",
+        "بجسيمة",
+        "بحث",
+        "بحشد",
         "بحق",
+        "بحيث",
+        "بخطوط",
         "بدارت",
-        "ماليزيا",
-        "جزيرتي",
-        "اليابان",
-        "هامش",
+        "بداية",
+        "بدول",
+        "بدون",
+        "بريطانيا",
+        "بريطانيا-فرنسا",
+        "بزمام",
+        "بسبب",
+        "بشرية",
+        "بشكل",
+        "بضرب",
+        "بعد",
+        "بعدم",
+        "بعرض",
+        "بعشوائية",
+        "بعض",
+        "بعلى",
+        "بـ",
+        "بفرض",
+        "بفصل",
+        "بقادة",
+        "بقد",
+        "بقسوة",
+        "بقصف",
+        "بقعة",
+        "بقيادة",
+        "بكلا",
+        "بكلّ",
+        "بل",
+        "بلا",
+        "بلاده",
+        "بلديهما",
+        "بلمّ",
+        "بلها",
+        "بمباركة",
+        "بمحاولة",
+        "بمما",
+        "بنقطة",
+        "به",
+        "بها",
+        "بهناك",
+        "بهيئة",
         "بوابة",
-        "وجهان",
-        "وقرى",
-        "تجهيز",
+        "بوقامت",
+        "بولاتّساع",
         "بولم",
-        "البولندي",
-        "الجو",
-        "لكل",
-        "فرنسية",
+        "بولندا",
+        "بيكن",
+        "بين",
+        "بينما",
+        "ب٠٨٠٤",
+        "ب٣٠",
+        "تاريخ",
+        "تجهيز",
+        "تحت",
+        "تحرير",
+        "تحرّك",
         "تحرّكت",
-        "يقوم",
-        "ولم",
-        "للإتحاد",
-        "الغالي",
-        "المشترك",
-        "التكاليف",
-        "بولاتّساع",
-        "الفرنسية",
-        "بتحدّي",
-        "غرّة",
-        "الأرض",
-        "مشاركة",
-        "فصل",
-        "بأم",
-        "والكوري",
-        "وقد",
-        "بـ",
-        "كل",
-        "بزمام",
-        "أي",
-        "ماشاء",
-        "لغات",
-        "اليابانية",
-        "ونتج",
-        "الضروري",
-        "مع",
-        "عقبت",
-        "لليابان",
-        "مسرح",
-        "فقامت",
-        "بتطويق",
-        "بتخصيص",
-        "الوراء",
-        "تعداد",
-        "فبعد",
+        "ترتيب",
+        "تزامناً",
+        "تسبب",
+        "تسمّى",
         "تشكيل",
-        "الموسوعة",
-        "لكون",
-        "واستمر",
-        "الأمريكية",
-        "إجلاء",
-        "بدون",
-        "قررت",
-        "الشتاء",
-        "يتمكن",
-        "التخطيط",
-        "مكن",
-        "بريطانيا",
-        "أحدث",
         "تشيكوسلوفاكيا",
-        "وبدأت",
-        "الشهيرة",
+        "تصرّف",
+        "تصفح",
+        "تطوير",
+        "تعد",
+        "تعداد",
+        "تعديل",
+        "تغييرات",
+        "تكاليف",
+        "تكبّد",
+        "تكتيكاً",
+        "تلك",
+        "تم",
+        "تمهيد",
+        "تنفّس",
+        "تونس",
+        "تُصب",
+        "ثانية",
+        "ثم",
+        "ثمّة",
+        "جدول",
+        "جديداً",
+        "جديدة",
+        "جزيرتي",
+        "جسيمة",
+        "جعل",
+        "جمعت",
+        "جنوب",
+        "جهة",
+        "جورج",
+        "جيما",
+        "جيوب",
+        "جُل",
+        "حادثة",
+        "حالية",
+        "حاملات",
+        "حاول",
+        "حتى",
         "حدى",
-        "الإيطالية",
-        "يتسنّى",
-        "اقتصادية",
-        "التجارية",
-        "بشكل",
+        "حصدت",
+        "حقول",
+        "حكومة",
+        "حلّت",
+        "حول",
+        "حيث",
+        "حين",
+        "خطّة",
+        "خلاف",
+        "خيار",
+        "دأبوا",
+        "دار",
+        "دارت",
+        "دخول",
+        "دفّة",
+        "دنو",
+        "دول",
+        "دون",
+        "ديسمبر",
+        "ذات",
+        "ذلك",
+        "رئيس",
+        "رجوعهم",
+        "زهاء",
+        "سابق",
+        "ساعة",
+        "سبتمبر",
+        "سقطت",
+        "سقوط",
+        "سكان",
+        "سليمان",
+        "سنغافورة",
+        "سياسة",
+        "شاسعة",
+        "شدّت",
+        "شرسة",
+        "شعار",
+        "شمال",
+        "شموليةً",
+        "شواطيء",
+        "شيء",
+        "صفحة",
+        "ضرب",
+        "ضمنها",
+        "طوكيو",
+        "عالمية",
+        "عجّل",
+        "عدد",
+        "عدم",
+        "عرض",
+        "عرفها",
         "عسكرياً",
+        "عشوائية",
+        "عقبت",
+        "عل",
+        "علاقة",
         "على",
-        "ألمّ",
-        "لبولندا",
-        "وسوء",
-        "جنوب",
-        "بالشتاء",
-        "الفترة",
-        "للمجهود",
-        "أسيا",
-        "ارتكبها",
-        "بلها",
+        "عليها",
+        "عملية",
+        "عن",
+        "عُقر",
+        "غريمه",
+        "غرّة",
+        "غضون",
+        "غير",
+        "غينيا",
+        "فاتّبع",
+        "فبعد",
+        "فرنسا",
+        "فرنسية",
+        "فسقط",
+        "فشكّل",
+        "فصل",
+        "فعل",
+        "فقامت",
+        "فقد",
+        "فكان",
+        "فكانت",
+        "فمرّ",
+        "فهرست",
+        "في",
+        "قائمة",
+        "قادة",
+        "قام",
         "قامت",
-        "أوراقهم",
-        "بجسيمة",
-        "بإعمار",
-        "وتتحمّل",
-        "القوى",
+        "قبضتهم",
         "قبل",
-        "دنو",
-        "عدم",
-        "دار",
-        "الهادي",
-        "خطّة",
-        "المجتمع",
-        "أملاً",
-        "دفّة",
-        "بخطوط",
-        "السفن",
-        "لعدم",
-        "حاملات",
-        "بل",
-        "الإتفاقية",
-        "الأمور",
-        "بانه",
-        "مرجع",
-        "النزاع",
-        "الدّفاع",
-        "بكلّ",
-        "ان",
-        "السبب",
-        "المشتّتون",
-        "ودول",
-        "ألمانيا",
-        "والروسية",
-        "والفلبين",
-        "بلا",
-        "أواخر",
-        "ببه",
-        "تزامناً",
-        "أطراف",
-        "يونيو",
-        "الأراضي",
+        "قتيل",
+        "قد",
+        "قدما",
+        "قررت",
+        "قُدُماً",
+        "قِبل",
+        "كان",
+        "كانت",
         "كانتا",
-        "ويعزى",
-        "انتهت",
-        "بالثالث",
-        "وباستثناء",
-        "زهاء",
-        "الآخر",
-        "أخذ",
+        "كثيرة",
+        "كردة",
+        "كرسي",
+        "كل",
+        "كلا",
+        "كلّ",
+        "كما",
+        "كنقطة",
+        "كُلفة",
+        "لأداء",
+        "لإعادة",
+        "لإعلان",
+        "لإنعدام",
+        "لان",
+        "لبلجيكا",
+        "لبولندا",
+        "لتقليعة",
+        "لدحر",
+        "لعدم",
+        "لعملة",
+        "لغات",
+        "لفرنسا",
+        "لفشل",
+        "لكل",
+        "لكون",
+        "للأراضي",
+        "للإتحاد",
+        "للجزر",
+        "للحكومة",
+        "للسيطرة",
+        "للصين",
+        "للمجهود",
+        "لليابان",
+        "لم",
+        "لمحاكم",
+        "لمّ",
+        "لها",
+        "لهذه",
+        "لهيمنة",
+        "ليبين",
+        "ليتسنّى",
+        "ليرتفع",
         "ليركز",
-        "يتبقّ",
-        "تمهيد",
-        "الإقتصادي",
-        "بالرغم",
-        "سبتمبر",
-        "بقد",
+        "مئات",
+        "ما",
+        "ماذا",
+        "مارد",
+        "ماشاء",
+        "ماليزيا",
+        "مايو",
+        "محاولات",
+        "مدن",
+        "مدينة",
+        "مرجع",
+        "مرمى",
+        "مسؤولية",
+        "مسارح",
+        "مساعدة",
+        "مسرح",
+        "مشارف",
+        "مشاركة",
+        "مشروط",
+        "مع",
+        "معارضة",
+        "معاملة",
+        "معزّزة",
+        "معقل",
+        "مقاطعة",
+        "مقاومة",
+        "مكثّفة",
+        "مكن",
+        "مكّن",
+        "مليارات",
+        "مليون",
+        "مما",
+        "ممثّلة",
+        "من",
+        "منتصف",
+        "مهمّات",
+        "مواقعها",
+        "موالية",
+        "ميناء",
+        "نتيجة",
+        "نفس",
+        "نقطة",
+        "نهاية",
+        "هاربر",
+        "هامش",
+        "هذا",
+        "هذه",
+        "هنا؟",
+        "هناك",
+        "هو",
+        "هُزم",
+        "و",
+        "وأزيز",
+        "وأكثرها",
+        "وإعلان",
+        "وإقامة",
+        "وإيطالي",
         "واتّجه",
-        "وصغار",
-        "الشتوية",
-        "سابق",
-        "بعض",
-        "الشرق",
-        "المتساقطة",
-        "الصين",
-        "اسبوعين",
-        "لهيمنة",
-        "الصفحات",
-        "أم",
-        "الساحة",
-        "القادة",
-        "لعملة",
-        "أمام",
-        "تحرير",
-        "عليها",
-        "وحرمان",
-        "حلّت",
-        "بأضرار",
-        "الثقيلة",
-        "وجزر",
-        "الأرضية",
-        "أراض",
+        "واحدة",
+        "واستمر",
+        "واستمرت",
+        "واشتدّت",
+        "واعتلاء",
+        "واقتصار",
+        "والإتحاد",
+        "والتي",
         "والحزب",
+        "والديون",
+        "والروسية",
+        "والعتاد",
+        "والفرنسي",
+        "والفلبين",
+        "والقرى",
+        "والكساد",
+        "والكوري",
+        "والمانيا",
+        "والمعدات",
+        "والنرويج",
+        "والنفيس",
+        "وانتهاءً",
+        "واندونيسيا",
+        "وانهاء",
+        "وايرلندا",
+        "واُسدل",
         "وباءت",
-        "حقول",
+        "وباستثناء",
         "وبالتحديد",
-        "لإنعدام",
-        "اعلان",
-        "خلاف",
-        "انه",
-        "بتونس",
-        "بمما",
-        "الأجل",
-        "أوسع",
-        "الآلاف",
-        "تطوير",
-        "اليها",
-        "البشريةً",
-        "والإتحاد",
-        "إختار",
-        "وبعض",
-        "بالمحور",
-        "غضون",
-        "شرسة",
-        "السادس",
-        "الإثنان",
-        "لتقليعة",
-        "الجنرال",
-        "تصفح",
-        "ثانية",
-        "العناد",
-        "لم",
-        "لإعادة",
-        "سليمان",
-        "هناك",
-        "جمعت",
-        "الباهضة",
+        "وبالرغم",
+        "وبحلول",
+        "وبدأت",
+        "وبداية",
+        "وبدون",
+        "وبريطانيا",
+        "وبعد",
         "وبعدما",
-        "في",
-        "تنفّس",
-        "ويتّفق",
-        "قدما",
-        "المنتصر",
-        "جيوب",
-        "انتصارهم",
-        "قادة",
-        "تحرّك",
-        "الإمداد",
-        "الصينية",
-        "جسيمة",
-        "تكبّد",
+        "وبعض",
+        "وبغطاء",
+        "وبلجيكا",
+        "وبولندا",
+        "وتتحمّل",
+        "وترك",
+        "وتزويده",
+        "وتم",
+        "وتنامت",
+        "وتنصيب",
+        "وجزر",
+        "وجهان",
+        "وحتى",
+        "وحتّى",
+        "وحرمان",
+        "وحلفاؤها",
+        "ودول",
+        "وزارة",
+        "وسفن",
+        "وسمّيت",
+        "وسوء",
+        "وشعار",
+        "وصافرات",
+        "وصغار",
+        "وصل",
+        "وعلى",
         "وعُرفت",
-        "استرجاع",
-        "فشكّل",
-        "دول",
-        "فقد",
-        "الطرفين",
-        "بالرّد",
-        "المعاهدات",
-        "الأخذ",
-        "لإعلان",
-        "كرسي",
-        "كلا",
-        "هذا",
-        "الإنذار",
-        "عملية",
-        "شيء",
+        "وفرنسا",
+        "وفنلندا",
+        "وفي",
+        "وقام",
+        "وقبل",
+        "وقد",
+        "وقدّموا",
+        "وقرى",
+        "وقوعها",
+        "وكسبت",
+        "ولاتّساع",
+        "ولكسمبورغ",
+        "ولم",
+        "ومحاولة",
+        "ومضى",
+        "ومطالبة",
         "ومن",
-        "جيما",
-        "الشرقية",
-        "بالعمل",
-        "ما",
-        "الولايات",
-        "حاول",
-        "جديداً",
-        "حين",
-        "العالم",
-        "بنقطة",
-        "خيار",
-        "بالجوي",
-        "والديون",
-        "بقيادة",
-        "بيكن",
+        "ونتج",
+        "وهولندا",
+        "ووصف",
+        "ويتّفق",
+        "ويعزى",
+        "ويكيبيديا",
         "يبق",
-        "ومطالبة",
-        "أراضي",
-        "حتى",
-        "بأراضي",
-        "معزّزة",
-        "الثانية",
-        "دون",
-        "بالسيطرة",
-        "نتيجة",
-        "دارت",
-        "بالإنزال",
-        "أمدها",
-        "الشهير",
-        "من",
-        "بلاده",
-        "تم",
-        "الصفحة",
-        "ساعة",
-        "الإكتفاء",
+        "يتبقّ",
+        "يتسنّى",
+        "يتعلّق",
+        "يتم",
+        "يتمكن",
+        "يذكر",
+        "يرتبط",
+        "يطول",
+        "يعادل",
+        "يعبأ",
+        "يقوم",
         "يكن",
-        "عل",
-        "أصقاع",
-        "بالأجل",
-        "تلك",
-        "إذ",
-        "الإتحاد",
-        "المتحدة",
-        "إستيلاء",
-        "بعرض",
-        "بفصل",
-        "ممثّلة",
-        "شدّت",
-        "كان",
-        "هنا؟",
-        "المبرمة",
-        "انذار",
-        "تعديل",
-        "ليتسنّى",
-        "وتنصيب",
-        "قائمة",
-        "الإنزال",
-        "إعلان",
-        "للسيطرة",
-        "بعد",
-        "بالسادس",
-        "العالمية",
-        "ببحشد",
-        "بحشد",
-        "إنطلاق",
-        "والنرويج",
-        "هُزم",
-        "فاتّبع",
-        "لها",
-        "بأسر",
-        "الشرقي",
-        "المواد",
-        "الشمال",
-        "الأحمر",
+        "يونيو",
         "٠٨٠٤",
-        "ثم",
-        "نفس",
-        "وقام",
-        "عدد",
-        "أسابيع",
-        "هو",
-        "كما",
-        "وحتى",
-        "المتاخمة",
-        "أهّل",
-        "أدنى",
-        "بفرض",
-        "وبعد",
-        "المتّبعة",
-        "بقصف",
-        "الدول",
-        "لأداء",
-        "جورج",
-        "وفرنسا",
-        "فرنسا",
-        "هذه",
-        "الحدود",
-        "الشطر",
-        "نقطة",
-        "بدول",
-        "فهرست",
-        "حيث",
-        "استراليا",
-        "وإيطالي",
-        "دأبوا",
-        "الحكومة",
-        "الأمم",
-        "فسقط",
-        "مرمى",
-        "ذلك",
-        "مكّن",
-        "وإعلان",
-        "بمباركة",
-        "والمانيا",
+        "٢٠٠٤",
+        "٣٠",
     )
diff --git a/faker/providers/misc/__init__.py b/faker/providers/misc/__init__.py
index fe69b442..6be1b657 100644
--- a/faker/providers/misc/__init__.py
+++ b/faker/providers/misc/__init__.py
@@ -2,6 +2,7 @@ import csv
 import hashlib
 import io
 import json
+import os
 import re
 import string
 import tarfile
@@ -41,10 +42,18 @@ class Provider(BaseProvider):
     def binary(self, length: int = (1 * 1024 * 1024)) -> bytes:
         """Generate a random binary blob of ``length`` bytes.
 
+        If this faker instance has been seeded, performance will be signficiantly reduced, to conform
+        to the seeding.
+
         :sample: length=64
         """
-        blob = [self.generator.random.randrange(256) for _ in range(length)]
-        return bytes(blob)
+        # If the generator has already been seeded, urandom can't be used
+        if self.generator._is_seeded:
+            blob = [self.generator.random.randrange(256) for _ in range(length)]
+            return bytes(blob)
+
+        # Generator is unseeded anyway, just use urandom
+        return os.urandom(length)
 
     def md5(self, raw_output: bool = False) -> Union[bytes, str]:
         """Generate a random MD5 hash.
diff --git a/faker/providers/person/ar_AA/__init__.py b/faker/providers/person/ar_AA/__init__.py
index 37cd43f9..99e307f0 100644
--- a/faker/providers/person/ar_AA/__init__.py
+++ b/faker/providers/person/ar_AA/__init__.py
@@ -17,210 +17,194 @@ class Provider(PersonProvider):
     formats = formats_male + formats_female
 
     first_names_female: Tuple[str, ...] = (
-        "اصيل",
         "آلاء",
         "آيات",
+        "أجوان",
+        "أحلام",
+        "أروى",
+        "أريج",
+        "أزهار",
+        "أسرار",
+        "أسيل",
+        "أغاريد",
+        "أفراح",
+        "أفنان",
+        "ألين",
+        "أناهيد",
+        "إباء",
+        "إخلاص",
+        "إلينا",
+        "ابتسام",
+        "ابتكار",
+        "ابتهاج",
+        "ابتهال",
+        "اصيل",
+        "اعتكاف",
+        "اعتماد",
+        "افتكار",
         "ايمان",
+        "بارعة",
+        "باسمة",
+        "باهرة",
+        "بتلاء",
+        "بتول",
+        "بثينة",
+        "بدرالدّجى",
+        "بشرى",
+        "بلسم",
+        "بلقيس",
+        "بلماء",
+        "بلند",
+        "بنان",
+        "بنفسج",
+        "بهاء",
         "بهجة",
+        "بهية",
+        "بوران",
+        "بيسان",
+        "بيلسان",
+        "تالا",
+        "تاليا",
+        "ترانيم",
+        "ترف",
         "تمام",
-        "بشري",
+        "تولين",
+        "جالا",
+        "جلنار",
+        "جمان",
+        "جميلة",
+        "جنى",
+        "جهراء",
+        "جوان",
+        "جوانا",
+        "جواهر",
+        "جود",
+        "جودي",
+        "جوريّة",
+        "جوليا",
+        "جوين",
+        "جيلان",
+        "حلا",
         "حياة",
         "خاشعة",
+        "دارين",
+        "دانة",
         "دانية",
         "دعاء",
+        "ديمه",
+        "راما",
+        "ربى",
+        "رواء",
+        "روبين",
+        "روعة",
+        "روفيدا",
+        "ريان",
+        "ريتاج",
+        "ريتال",
+        "ريف",
+        "ريفال",
+        "ريم",
+        "ريما",
+        "ريمان",
+        "ريناد",
         "زكية",
-        "نغم",
-        "لارا",
         "زهرة",
         "سبأ",
+        "سجى",
+        "سديم",
+        "سلاف",
+        "سلسبيل",
+        "شادن",
+        "شهد",
         "ضحى",
         "ضياء",
         "عالية",
-        "مريم",
+        "عتاب",
+        "غوى",
+        "غيداء",
         "فداء",
         "فرات",
         "فردوس",
         "كاملة",
+        "كرمة",
         "كوثر",
-        "هاجر",
-        "هدى",
-        "يسرى",
-        "سجى",
-        "سلسبيل",
-        "شهد",
-        "جنى",
-        "اسماءبناتمختلفةومعانيها:",
-        "ريتاج",
-        "يارا",
-        "وصاف",
-        "ناردين",
-        "ميرا",
-        "مايا",
-        "مادلين",
-        "لينا",
-        "لورا",
-        "وسجايا",
-        "روفيدا",
-        "ديمه",
-        "جيلان",
-        "جوانا",
-        "ألين",
+        "لارا",
+        "لاما",
         "لتين",
-        "تالا",
-        "سديم",
-        "جودي",
-        "ليان",
-        "دانة",
-        "ميار",
         "لوجين",
-        "ربى",
+        "لورا",
         "لورين",
-        "ميرال",
-        "ريتال",
-        "جوليا",
-        "جالا",
-        "جوان",
-        "راما",
-        "هايدي",
-        "ريفال",
-        "إلينا",
-        "أسيل",
         "لوليا",
+        "ليان",
         "ليساء",
+        "ليم",
+        "لينا",
+        "مادلين",
+        "ماذى",
+        "مايا",
+        "مريم",
+        "ميار",
+        "ميرا",
+        "ميرال",
         "ميسون",
-        "جوين",
-        "روبين",
-        "جمان",
         "ميلاء",
-        "رواء",
-        "أناهيد",
-        "بيسان",
-        "ابتسام",
-        "إباء",
-        "ابتكار",
-        "ابتهاج",
-        "ابتهال",
-        "بوران",
-        "محمد",
-        "بنان",
-        "بيلسان",
-        "بتلاء",
-        "بدرالدّجى",
-        "تاليا",
-        "ترف",
-        "تالا",
-        "ترانيم",
-        "جلنار",
-        "جميلة",
-        "جهراء",
-        "جواهر",
-        "جوريّة",
-        "ريمان",
-        "ريما",
-        "ريناد",
-        "ريفال",
-        "راما",
-        "روعة",
-        "ريما",
-        "ريم",
-        "اعتكاف",
-        "اعتماد",
-        "أغاريد",
-        "افتكار",
-        "أفراح",
-        "أفنان",
-        "لاما",
-        "ليم",
-        "لوليا",
-        "ريمان",
-        "أجوان",
-        "بشرى",
-        "بلسم",
-        "بلقيس",
-        "بلماء",
-        "بلند",
-        "بنان",
-        "بنفسج",
-        "بهابهاء",
-        "بهية",
+        "ناديه",
+        "ناردين",
+        "ناهد",
+        "نشوة",
+        "نغم",
+        "نوال",
         "نوره",
         "نوف",
-        "نوال",
-        "ناديه",
+        "هاجر",
+        "هايدي",
         "هدى",
         "هناء",
-        "هيا",
-        "هند",
         "هنادي",
+        "هند",
+        "هيا",
+        "هيام",
+        "سجا",
+        "وصاف",
         "وفاء",
+        "يارا",
         "ياسمين",
         "يسرى",
-        "غيداء",
-        "شادن",
-        "جود",
-        "سلاف",
-        "جيلان",
-        "نشوة",
-        "ريان",
-        "دارين",
-        "أحلام",
-        "إخلاص",
-        "أروى",
-        "أريج",
-        "أزهار",
-        "أسرار",
-        "آيات",
-        "ماذى",
-        "تولين",
-        "هيام",
-        "ريناد",
-        "جميلة",
-        "حلا",
-        "عتاب",
-        "كرمة",
-        "ناهد",
-        "غوى",
-        "ريف",
-        "بارعة",
-        "باسمة",
-        "باهرة",
-        "بتول",
-        "بثينة",
-        "أحمد",
     )
 
     first_names_male: Tuple[str, ...] = (
+        "أحمد",
         "تاج",
+        "تاج الدّين",
         "تامر",
         "تحسين",
+        "ترف",
         "تقي",
-        "تمّام",
+        "تقيّ الدّين",
         "تميم",
+        "تمّام",
         "توفيق",
-        "ترف",
-        "تاج الدّين",
-        "تقيّ الدّين",
         "ثائر",
         "ثابت",
+        "ثاقب",
         "ثامر",
         "ثروت",
         "ثقيف",
-        "ثاقب",
         "جابر",
         "جاد",
         "جاسم",
+        "جدير",
         "جرير",
+        "جرّاح",
         "جسور",
         "جعفر",
         "جلاء",
         "جلال",
+        "جلال الدّين",
         "جليل",
         "جمال",
-        "جميل",
-        "جدير",
-        "جرّاح",
-        "جلال الدّين",
         "جمال الدّين",
+        "جميل",
         "جهاد",
         "حاتم",
         "حارث",
@@ -230,28 +214,30 @@ class Provider(PersonProvider):
         "حبّاب",
         "حسام",
         "حسن",
-        "حسيب",
-        "حسين",
         "حسني",
         "حسنين",
+        "حسيب",
+        "حسين",
+        "حفيظ",
         "حقّي",
         "حكيم",
         "حليم",
-        "حمّاد",
         "حمدان",
         "حمدي",
         "حمزة",
         "حمود",
         "حميد",
+        "حمّاد",
         "حنبل",
         "حنفي",
-        "حيّان",
         "حيدر",
-        "حفيظ",
+        "حيّان",
         "خاطر",
         "خافق",
         "خالد",
         "خالدي",
+        "خضر",
+        "خطيب",
         "خلدون",
         "خلف",
         "خلوصي",
@@ -259,8 +245,6 @@ class Provider(PersonProvider):
         "خليل",
         "خميس",
         "خيري",
-        "خضر",
-        "خطيب",
         "دؤوب",
         "داني",
         "داهي",
@@ -269,9 +253,11 @@ class Provider(PersonProvider):
         "دليل",
         "دهمان",
         "ديسم",
-        "ذيب",
-        "ذكي",
         "ذريع",
+        "ذكي",
+        "ذيب",
+        "رؤوف",
+        "رئيس",
         "رائد",
         "رائف",
         "رابح",
@@ -279,40 +265,38 @@ class Provider(PersonProvider):
         "راجح",
         "راجي",
         "رازي",
+        "راسم",
         "راشد",
         "راضي",
         "راغب",
+        "رافع",
+        "رامح",
         "رامز",
         "رامي",
-        "رامح",
         "راني",
         "راوي",
-        "رؤوف",
         "رباح",
-        "ريّان",
         "ربيع",
         "رجاء",
         "رجائي",
         "رجب",
+        "رحيب",
         "رخاء",
+        "رزين",
         "رستم",
         "رسمي",
         "رشاد",
         "رشدي",
         "رشيد",
         "رضوان",
+        "رضي",
         "رفيق",
         "رمحي",
         "رمزي",
         "رمضان",
         "رهيف",
         "روحي",
-        "رافع",
-        "رئيس",
-        "رحيب",
-        "رزين",
-        "راسم",
-        "رضي",
+        "ريّان",
         "زاخر",
         "زاكي",
         "زاهر",
@@ -331,16 +315,17 @@ class Provider(PersonProvider):
         "زين",
         "سائد",
         "ساجد",
-        "سخاء",
         "ساجي",
         "ساطع",
         "سالم",
         "سامح",
-        "ساهر",
         "سامر",
         "سامي",
         "ساهد",
+        "ساهر",
+        "سخاء",
         "سراج",
+        "سراج الدّين",
         "سرحان",
         "سرور",
         "سعد",
@@ -353,40 +338,39 @@ class Provider(PersonProvider):
         "سلام",
         "سلطان",
         "سلمان",
+        "سليم",
         "سليمان",
         "سموح",
         "سمير",
-        "سنان",
         "سنام",
+        "سنان",
         "سهل",
         "سهوان",
         "سهيل",
+        "سيف الدّين",
         "سيّد",
-        "سليم",
-        "سراج الدّين",
-        "سيفالدّين",
         "شادي",
+        "شاطر",
         "شافع",
         "شاكر",
         "شامخ",
         "شامل",
         "شبلي",
         "شبيب",
+        "شجاع",
         "شدّاد",
         "شريف",
         "شعبان",
+        "شعلان",
         "شعيب",
         "شفيع",
-        "شعلان",
         "شكري",
         "شكيب",
-        "شهب",
         "شهاب",
+        "شهب",
         "شهم",
         "شهير",
         "شوقي",
-        "شجاع",
-        "شاطر",
         "شيّق",
         "صائب",
         "صابر",
@@ -403,23 +387,23 @@ class Provider(PersonProvider):
         "صبور",
         "صبيح",
         "صخر",
+        "صدر الدّين",
         "صدقي",
-        "صدّام",
         "صدّاح",
+        "صدّام",
         "صعب",
         "صقر",
         "صلاح",
+        "صلاح الدّين",
         "صنديد",
         "صهيب",
-        "صدر الدّين",
-        "صلاح الدّين",
         "ضاحك",
         "ضاحي",
         "ضحّاك",
         "ضرغام",
         "ضياء",
+        "ضياء الدّين",
         "ضيائي",
-        "ضياءالدّين",
         "طائع",
         "طائف",
         "طائل",
@@ -435,14 +419,15 @@ class Provider(PersonProvider):
         "طه",
         "طيّب",
         "طيّع",
+        "ظاعن",
         "ظافر",
+        "ظاهر",
         "ظبي",
         "ظريف",
         "ظهير",
-        "ظاعن",
-        "ظاهر",
         "عائد",
         "عابد",
+        "عاتب",
         "عادل",
         "عارف",
         "عاصم",
@@ -451,111 +436,104 @@ class Provider(PersonProvider):
         "عاكف",
         "عالم",
         "عامر",
-        "عبّاس",
-        "عبّود",
-        "عتريس",
-        "عتيد",
-        "عربي",
-        "عثمان",
-        "عدلي",
-        "عدنان",
-        "عدوي",
-        "عرفات",
-        "عرفه",
-        "عرفان",
-        "عزاز",
-        "عزّت",
-        "عزمي",
-        "عصام",
-        "عصمت",
-        "عطاء",
-        "عفيف",
-        "عقيل",
-        "علاء",
-        "علّام",
-        "علوان",
-        "علي",
-        "عماد",
-        "عمّار",
-        "عمر",
-        "عمران",
-        "عمرو",
-        "عمير",
-        "عاتب",
-        "عتيق",
-        "عذب",
-        "عزيز",
-        "عبد الحقّ",
-        "عبدالله",
-        "عبدالرّحمن",
-        "عزّالدّين",
-        "علاءالدّين",
-        "علم الدّين",
         "عبد الإله",
-        "مُتعب",
         "عبد الباري",
         "عبد الباقي",
         "عبد التّواب",
         "عبد الجبّار",
         "عبد الجليل",
         "عبد الحفيظ",
+        "عبد الحقّ",
         "عبد الحكيم",
         "عبد الحليم",
         "عبد الحيّ",
-        "عبد المحيي",
         "عبد الخالق",
-        "عبد الرّزاق",
-        "هزار",
-        "عبد الرّشيد",
+        "عبد الرّؤوف",
         "عبد الرّحمن",
         "عبد الرّحيم",
-        "عبد الرّؤوف",
+        "عبد الرّزاق",
+        "عبد الرّشيد",
+        "عبد السّلام",
         "عبد السّميع",
         "عبد الشّكور",
         "عبد الصّمد",
+        "عبد العزيز",
         "عبد العليم",
-        "عبد الغفّار",
         "عبد الغفور",
+        "عبد الغفّار",
+        "عبد الغني",
         "عبد القادر",
-        "مهنّد",
-        "نزيه",
         "عبد القدّوس",
         "عبد القهّار",
         "عبد الكريم",
         "عبد اللطيف",
         "عبد المجيد",
-        "عبد المولى",
-        "عبد العزيز",
-        "عبد السّلام",
+        "عبد المحيي",
         "عبد الملك",
+        "عبد المولى",
         "عبد الواحد",
-        "عبد الغني",
+        "عبدالرّحمن",
+        "عبدالله",
+        "عبّاس",
+        "عبّود",
+        "عتريس",
+        "عتيد",
+        "عتيق",
+        "عثمان",
+        "عدلي",
+        "عدنان",
+        "عدوي",
+        "عذب",
+        "عربي",
+        "عرفات",
+        "عرفان",
+        "عرفه",
+        "عزاز",
+        "عزمي",
+        "عزيز",
+        "عزّ الدّين",
+        "عزّت",
+        "عصام",
+        "عصمت",
+        "عطاء",
+        "عفيف",
+        "عقيل",
+        "علاء",
+        "علاء الدّين",
+        "علم الدّين",
+        "علوان",
+        "علي",
+        "علّام",
+        "عماد",
+        "عمر",
+        "عمران",
+        "عمرو",
+        "عمير",
+        "عمّار",
         "غازي",
         "غالب",
         "غالي",
+        "غامد",
         "غانم",
         "غزوان",
+        "غزير",
         "غسّان",
         "غطفان",
-        "غزير",
-        "غامد",
+        "فؤاد",
         "فائق",
         "فاتح",
         "فاخر",
         "فادي",
-        "كامل",
-        "مصعب",
-        "ممتاز",
-        "فرج",
         "فارس",
         "فارع",
         "فاروق",
         "فاضل",
         "فالح",
         "فايد",
-        "فتوح",
         "فتحي",
+        "فتوح",
         "فخر",
+        "فخر الدّين",
         "فخري",
         "فداء",
         "فدائي",
@@ -569,100 +547,94 @@ class Provider(PersonProvider):
         "فلاح",
         "فهد",
         "فهمي",
-        "فؤاد",
-        "فوّاز",
         "فوزي",
-        "فضل",
-        "فيّاض",
+        "فوّاز",
         "فيصل",
-        "فخر الدّين",
+        "فيّاض",
+        "قائد",
         "قاسم",
         "قاصد",
         "قانت",
-        "قائد",
+        "قبس",
         "قحطان",
         "قدري",
         "قصي",
-        "قنوع",
-        "قيس",
-        "قبس",
         "قصيد",
         "قطب",
         "قطز",
+        "قنوع",
+        "قيس",
         "كارم",
         "كاسر",
         "كاشف",
         "كاظم",
-        "كايد",
         "كافور",
+        "كامل",
+        "كايد",
+        "كبير",
         "كتوم",
         "كرم",
         "كريم",
         "كسّاب",
+        "كليم",
         "كمال",
         "كنار",
-        "كنعان",
         "كنان",
-        "كبير",
-        "كليم",
+        "كنعان",
+        "لؤي",
         "لبيب",
         "لبيد",
         "لطفي",
         "لطوف",
         "لفيف",
-        "لقمان",
         "لقاء",
-        "لؤي",
+        "لقمان",
+        "لمّاح",
         "لهفان",
         "ليث",
-        "لمّاح",
         "مأمون",
+        "مؤمن",
+        "مؤنس",
+        "مؤيّد",
         "ماجد",
         "مازن",
         "مالك",
         "ماهر",
-        "محمّد",
-        "مُتوكّل",
-        "مُتولي",
-        "مُتيّم",
-        "مجد",
         "مجاهد",
-        "مَجدي",
+        "مجد",
         "محجوب",
         "محسن",
         "محفوظ",
         "محمود",
+        "محمّد",
+        "محيي الدّين",
         "مختار",
         "مخلص",
-        "مُخيمر",
         "مدحت",
         "مراد",
         "مرادي",
         "مرتجي",
+        "مرتضي",
         "مرتقي",
         "مرزوق",
         "مرسال",
-        "مرتضي",
-        "مُرسي",
         "مرشد",
-        "مُرضي",
         "مرعي",
         "مروان",
         "مزهر",
         "مسرور",
-        "مُسعف",
-        "مَسعد",
         "مسعود",
         "مسلم",
+        "مشاري",
         "مشرف",
         "مشرق",
         "مشفق",
         "مصباح",
         "مصطفى",
-        "مُصلح",
+        "مصعب",
         "مطاوع",
         "مظهر",
-        "مُعتز",
+        "معارف",
         "معتوق",
         "معزّ",
         "معمّر",
@@ -671,95 +643,104 @@ class Provider(PersonProvider):
         "مفيد",
         "مقداد",
         "مقدام",
-        "مكّي",
         "مكرّم",
+        "مكّي",
         "ملهم",
-        "يونس",
+        "ممتاز",
         "ممدوح",
-        "مُناضل",
         "مناف",
-        "مُنذر",
-        "منيف",
         "منتصر",
-        "مُنجد",
         "منسي",
         "منصور",
-        "مُنير",
         "منيب",
         "منيع",
+        "منيف",
         "مهدي",
         "مهران",
+        "مهنّد",
         "مهيب",
         "موسى",
         "موفّق",
-        "مؤمن",
-        "مؤنس",
-        "مؤيّد",
-        "ميّاد",
         "مياس",
+        "ميثاق",
         "ميسور",
         "ميمون",
-        "ميثاق",
-        "معارف",
-        "محييالدّين",
-        "مشاري",
+        "ميّاد",
+        "مَجدي",
+        "مَسعد",
+        "مُتعب",
+        "مُتوكّل",
+        "مُتولي",
+        "مُتيّم",
+        "مُخيمر",
+        "مُرسي",
+        "مُرضي",
+        "مُسعف",
+        "مُصلح",
+        "مُعتز",
+        "مُناضل",
+        "مُنجد",
+        "مُنذر",
+        "مُنير",
         "نائل",
         "ناجح",
         "ناجي",
         "نادر",
         "نادي",
         "ناصر",
-        "ناضر",
+        "ناصر الدّين",
         "ناصيف",
+        "ناضر",
         "ناظم",
         "ناعم",
         "نافذ",
         "نافع",
+        "نبراس",
         "نبهان",
         "نبيل",
         "نبيه",
-        "نبراس",
-        "نورالحقّ",
         "نجدت",
+        "نجم الدّين",
         "نجوان",
         "نجيب",
         "نديم",
         "نذير",
         "نزار",
+        "نزيه",
         "نسيب",
         "نشأت",
+        "نشوان",
         "نصر",
-        "نضال",
+        "نصر الدّين",
         "نصري",
-        "نصور",
         "نصوح",
+        "نصور",
+        "نضال",
         "نظام",
         "نظمي",
-        "نعيم",
         "نعمان",
+        "نعيم",
         "نمر",
-        "نوّاف",
         "نوح",
-        "نوّار",
         "نور",
+        "نور الدّين",
+        "نور الحقّ",
         "نورس",
-        "نشوان",
         "نوري",
+        "نوّار",
+        "نوّاف",
         "نيازي",
-        "ناصر الدّين",
-        "نصر الدّين",
-        "نور الدّين",
-        "نجم الدّين",
         "هادي",
         "هاشم",
         "هاني",
         "هايل",
+        "هزار",
         "هلال",
         "هلالي",
         "همام",
+        "هيثم",
         "هيكل",
         "هيمان",
-        "هيثم",
         "وائل",
         "واثق",
         "وادع",
@@ -773,8 +754,8 @@ class Provider(PersonProvider):
         "وديع",
         "وريد",
         "وسام",
-        "وسيم",
         "وسيل",
+        "وسيم",
         "وصفي",
         "وضّاح",
         "وفائي",
@@ -794,304 +775,305 @@ class Provider(PersonProvider):
         "يقين",
         "يمام",
         "يوسف",
+        "يونس",
     )
 
     first_names = first_names_male + first_names_female
 
     last_names: Tuple[str, ...] = (
-        "الخالدي",
-        "البديري",
-        "الشهابي",
-        "العفيفي",
-        "جزار",
-        "الخطيب بني جماعة الكناني",
-        "الدجاني",
-        "الغوانمة",
-        "جار الله",
-        "السروري",
-        "الامام",
-        "النقيب",
-        "المفتي",
+        "أشجع",
+        "أفغاني",
+        "أكلب",
+        "ألمع",
+        "أنمار",
+        "أولاد بوعزيز",
+        "أولاد زيان",
+        "إياد",
+        "ابو الحاج",
         "ابو السعود",
-        "الفتياني",
-        "العلمي",
-        "بو مدين",
-        "نسيبة",
-        "النشاشيبي",
-        "العسلي",
-        "الحسيني",
-        "الجاعوني",
-        "درويش",
+        "ابو عيد",
+        "ارناؤوط",
+        "ازحيمان",
+        "اسطمبولي",
+        "الأزد",
+        "الأشراف",
+        "الألجاوي",
         "الأنصاري",
-        "جودة",
-        "النمري",
-        "قطينة",
-        "الداودي",
-        "العارف",
-        "رصاص",
-        "البخاري",
-        "كمال",
-        "الترجمان الصالح",
-        "غنيم",
-        "المؤقت",
-        "شتية",
-        "شرف",
-        "نور الدين",
-        "الشعباني",
+        "الأوس",
         "الأيوبي",
-        "الجبشة",
-        "هندية",
+        "الامام",
+        "البامية",
+        "البخاري",
+        "البديري",
         "البشيتي",
-        "الوعري",
-        "الموسوس",
-        "المظفر",
-        "الترهي",
         "البغدادي",
-        "الهدمي",
-        "البامية",
-        "الكلغاصي",
-        "اليوزباشي",
-        "المتولي",
-        "اسطمبولي",
-        "الألجاوي",
-        "معتوق",
-        "حب رمان",
-        "القرجولي",
-        "نجم",
-        "طه",
-        "عبده",
-        "سموم",
-        "نجيب",
-        "غوشة",
-        "اهرام",
-        "قرش",
-        "الكالوتي",
-        "حجازي",
-        "زحيكة",
-        "جعفر",
-        "ازحيمان",
-        "الحواش",
-        "القضماني",
-        "طوطح",
-        "الشاويش",
-        "بدرية",
-        "ابو الحاج",
+        "البقوم",
+        "البيسار القعقور",
         "البيطار",
-        "صيام",
-        "قليبو",
-        "ارناؤوط",
-        "الشرفاء",
+        "الترجمان الصالح",
+        "الترهي",
+        "التوتنجي",
+        "الجاعوني",
+        "الجبشة",
+        "الجعليين",
+        "الحجر بن الهنوء بن الأزد",
+        "الحداء",
+        "الحسيني",
+        "الحكم بن سعد العشيرة",
         "الحلاق",
-        "المملوك",
+        "الحلواني",
+        "الحواش",
+        "الحويطات",
+        "الخالدي",
+        "الخزرج",
+        "الخطيب بني جماعة الكناني",
+        "الخلفاوي",
+        "الداودي",
+        "الدجاني",
+        "الدسوقي",
+        "الدقاق",
+        "الدليم",
+        "الدواسر",
+        "الديسي",
+        "الرباب",
+        "الرباطاب",
+        "الزرقان",
+        "الزماميري",
+        "الساحلي",
+        "السادة",
+        "السادة الراويون",
+        "السروري",
         "السمان",
-        "طقش",
-        "وهبة",
-        "عبد اللطيف",
-        "طزيز",
+        "السهول",
         "السيفي",
-        "عويضة",
-        "القطب",
+        "الشامي",
+        "الشاويش",
+        "الشايقية",
+        "الشحوح",
+        "الشرفاء",
+        "الشعباني",
+        "الشهابي",
         "الطحان",
-        "النجار",
+        "الظفير",
+        "العارف",
+        "العجمان",
+        "العسلي",
+        "العفيفي",
+        "العقيدات",
+        "العلمي",
+        "العوازم",
+        "العوالق",
+        "الغوانمة",
+        "الفتياني",
+        "القاعي",
         "القباني",
-        "عكاوي",
-        "الديسي",
-        "الزماميري",
-        "التوتنجي",
-        "الحلواني",
+        "القرجولي",
         "القزاز",
+        "القضماني",
+        "القطب",
+        "القلموني",
+        "القواسم",
+        "الكالوتي",
+        "الكبابيش",
+        "الكثيري",
+        "الكلغاصي",
+        "الكواهلة",
+        "المؤقت",
         "الماني",
-        "الدقاق",
-        "الشامي",
-        "سوميرة",
-        "ابو عيد",
-        "الخلفاوي",
-        "الدسوقي",
+        "المتولي",
+        "المرازيق",
+        "المظفر",
         "المغربي",
-        "أفغاني",
-        "مراد",
-        "زلاطيمو",
-        "سرندح",
-        "مشعشع",
-        "بحمدوني",
-        "بعلبكي",
-        "صيداوي",
-        "صيداني",
-        "طرابلسي",
-        "جزيني",
-        "بيروتي",
-        "عرموني",
-        "متني",
-        "شويفاتي",
-        "مزرعاني",
-        "بتروني",
-        "جبيلي",
+        "المفتي",
+        "المملوك",
+        "المنتفق",
+        "المهرة",
+        "الموركة",
+        "الموسوس",
+        "النجار",
+        "النشاشيبي",
+        "النقيب",
+        "النمر",
+        "النمري",
+        "الهدمي",
+        "الوعري",
+        "اليوزباشي",
         "اميوني",
-        "زحلاوي",
-        "الساحلي",
-        "القاعي",
-        "القلموني",
-        "البيسار القعقور",
-        "إياد",
-        "الأزد",
-        "الأشراف",
-        "السادة",
-        "الأوس",
-        "أشجع",
-        "ألمع",
-        "أنمار",
-        "بنو الأحمر",
-        "بنو الأحمر بن الحارث",
-        "بنو الأسمر",
-        "بنو أسد",
-        "بنو أمية",
-        "أكلب",
-        "بنو النجار",
-        "البقوم",
-        "أولاد بوعزيز",
+        "اهرام",
         "بارق",
         "باهلة",
+        "بتروني",
         "بجيلة",
+        "بحمدوني",
+        "بدرية",
+        "بديرية",
+        "بعلبكي",
         "بكر بن عبد مناة",
         "بكر بن وائل",
-        "بديرية",
+        "بكيل",
         "بلغازي",
         "بلقرن",
         "بلي",
-        "بيرقدار",
+        "بنو أسد",
+        "بنو أمية",
+        "بنو الأحمر",
+        "بنو الأحمر بن الحارث",
+        "بنو الأسمر",
+        "بنو الحارث بن كعب",
+        "بنو الدئل",
+        "بنو العريج",
+        "بنو النجار",
+        "بنو حنيفة",
+        "بنو خالد",
+        "بنو ذي أصبح",
+        "بنو زيد",
+        "بنو سعد بن بكر",
+        "بنو سعد بن ليث بن بكر",
+        "بنو شعبة",
+        "بنو شهر",
+        "بنو شيبان",
+        "بنو شيبة",
+        "بنو صخر",
+        "بنو ضمرة",
+        "بنو عبس",
+        "بنو عجل",
+        "بنو عدي",
+        "بنو عمرو",
+        "بنو فراس",
+        "بنو كلب",
+        "بنو كنز",
+        "بنو لام",
+        "بنو ليث",
+        "بنو مالك",
+        "بنو معقل",
+        "بنو مهدي",
+        "بنو هاشم",
+        "بنو هلال",
+        "بنو ياس",
+        "بنو يعلى",
         "بني بيات",
-        "بكيل",
+        "بني رشيد",
+        "بني عطية",
+        "بني هاجر",
+        "بو مدين",
+        "بيرقدار",
+        "بيروتي",
         "ترابين",
         "تغلب بن وائل",
         "تميم",
         "تنوخ",
         "ثقيف",
-        "الجعليين",
-        "جرهم",
+        "جار الله",
+        "جبيلي",
         "جديس",
         "جذام",
+        "جرهم",
+        "جزار",
+        "جزيني",
+        "جعفر",
         "جهينة",
-        "الحجر بن الهنوء بن الأزد",
-        "الحداء",
-        "الحكم بن سعد العشيرة",
-        "بنو الحارث بن كعب",
-        "حرب",
-        "بنو حنيفة",
+        "جودة",
         "حاشد",
-        "حميضة",
+        "حب رمان",
+        "حجازي",
+        "حرب",
         "حمير",
+        "حميضة",
         "حوالة",
-        "الحويطات",
-        "الخزرج",
-        "بنو خالد",
         "خثعم",
         "خزاعة",
         "خندف",
         "خولان",
-        "الدليم",
-        "الدواسر",
-        "بنو الدئل",
+        "درويش",
         "دوبلال",
-        "بنو ذي أصبح",
         "راجح",
-        "بني رشيد",
         "ربيعة",
-        "الرباب",
-        "الرباطاب",
-        "السادة الراويون",
-        "الزرقان",
+        "رصاص",
         "زبيد",
-        "أولاد زيان",
-        "بنو زيد",
+        "زحلاوي",
+        "زحيكة",
+        "زلاطيمو",
         "زهران",
-        "السهول",
-        "بنو سعد بن بكر",
-        "بنو سعد بن ليث بن بكر",
-        "سليم",
         "سبيع",
-        "الشايقية",
-        "الشحوح",
-        "بنو شعبة",
-        "شمران",
-        "بنو شهر",
-        "بنو شيبان",
-        "بنو شيبة",
+        "سرندح",
+        "سليم",
+        "سموم",
+        "سوميرة",
+        "شتية",
+        "شرف",
         "شمر",
+        "شمران",
         "شهران",
-        "بنو صخر",
-        "بنو ضمرة",
+        "شويفاتي",
+        "صيام",
+        "صيداني",
+        "صيداوي",
         "ضبيعة",
+        "طرابلسي",
+        "طزيز",
         "طسم",
+        "طقش",
+        "طه",
+        "طوطح",
         "طيء",
-        "الظفير",
-        "عجرمة (العجارمة)",
-        "العجمان",
-        "العقيدات",
-        "العوازم",
-        "العوالق",
-        "بنو العريج",
-        "عاملة",
-        "بنو عبس",
-        "بنو عجل",
-        "بنو عدي",
-        "بنو عمرو",
         "عامر بن صعصعة",
+        "عاملة",
         "عبد القيس",
+        "عبد اللطيف",
+        "عبده",
         "عتيبة",
+        "عجرمة (العجارمة)",
         "عدوان",
         "عذرة",
+        "عرموني",
         "عسير",
+        "عضل",
+        "عكاوي",
         "عليان",
         "عنز بن وائل",
         "عنزة",
         "عنس",
-        "عضل",
-        "بني عطية",
+        "عويضة",
         "غامد",
         "غطفان",
-        "بنو فراس",
+        "غنيم",
+        "غوشة",
         "فراهيد",
         "فهم",
-        "القواسم",
+        "قبيلة هذيل البقوم",
         "قحطان",
+        "قرش",
         "قريش",
         "قضاعة",
+        "قطينة",
+        "قليبو",
         "قيس عيلان",
-        "بنو كنز",
-        "الكواهلة",
-        "بنو كلب",
+        "كمال",
         "كنانة",
-        "الكبابيش",
         "كندة",
         "كهلان",
-        "الكثيري",
-        "بنو لام",
         "لخم",
-        "بنو ليث",
-        "المرازيق",
-        "المنتفق",
-        "الموركة",
-        "المهرة",
-        "بنو مالك",
-        "بنو معقل",
-        "بنو مهدي",
-        "مزينة",
+        "متني",
         "مذحج",
+        "مراد",
         "مرازيق البقوم",
+        "مزرعاني",
+        "مزينة",
+        "مشعشع",
         "مضر",
         "مطير",
+        "معتوق",
         "ميرفاب",
-        "النمر",
+        "نجم",
+        "نجيب",
+        "نسيبة",
         "نهد",
-        "بني هاجر",
-        "بنو هاشم",
-        "بنو هلال",
-        "قبيلة هذيل البقوم",
+        "نور الدين",
         "هذيل",
         "همدان",
+        "هندية",
         "هوازن",
-        "بنو ياس",
-        "بنو يعلى",
+        "وهبة",
         "يافع",
         "يشكر",
     )
diff --git a/faker/providers/person/ar_PS/__init__.py b/faker/providers/person/ar_PS/__init__.py
index ca6854cc..c1e4e1ae 100644
--- a/faker/providers/person/ar_PS/__init__.py
+++ b/faker/providers/person/ar_PS/__init__.py
@@ -3,46 +3,46 @@ from ..ar_AA import Provider as ArabicPersonProvider
 
 class Provider(ArabicPersonProvider):
     last_names = (
-        "خوري",
-        "شاهين",
+        "أبو اسنينة",
+        "أبو شقدم",
+        "أبو شلبك",
+        "أبو غليون",
+        "أبو قمر",
+        "أستيتية",
+        "الأدغم",
+        "الإغباري",
         "البرغوثي",
+        "التركمان",
+        "التميمي",
+        "الجنيدي",
         "الحسيني",
+        "الحنبلي",
+        "الخازن",
+        "الخماش",
+        "الخياط",
+        "الزيتاوي",
         "الزيدانية",
-        "جرار",
         "السكاكيني",
-        "طوقان",
-        "نسيبة",
+        "الصالحي",
         "النشاشيبي",
-        "الخازن",
+        "النعنيش",
+        "بدر",
         "ترابين",
+        "جرار",
+        "جزار",
+        "حمامي",
+        "حوسة",
+        "خوري",
         "دغمش",
         "دلاشة",
-        "الزيتاوي",
+        "شاهين",
         "صليبا",
-        "التركمان",
-        "الإغباري",
+        "طوقان",
+        "فطاير",
+        "قرادة",
         "كسواني",
-        "جزار",
-        "أبو اسنينة",
-        "التميمي",
-        "الجنيدي",
-        "بدر",
-        "أبو شقدم",
-        "أبو غليون",
-        "أبو قمر",
-        "الأدغم",
-        "حوسة",
-        "الصالحي",
-        "حمامي",
-        "هاشم",
-        "الحنبلي",
-        "أستيتية",
         "مرمش",
-        "قرادة",
-        "فطاير",
-        "الخماش",
-        "الخياط",
-        "النعنيش",
         "مهيار",
-        "أبو شلبك",
+        "نسيبة",
+        "هاشم",
     )
diff --git a/faker/providers/person/ar_SA/__init__.py b/faker/providers/person/ar_SA/__init__.py
index 5641886e..45c45321 100644
--- a/faker/providers/person/ar_SA/__init__.py
+++ b/faker/providers/person/ar_SA/__init__.py
@@ -3,49 +3,48 @@ from ..ar_AA import Provider as ArabicPersonProvider
 
 class Provider(ArabicPersonProvider):
     last_names = (
-        "حجار",
         "آل الشيخ",
-        "الحجار",
-        "حنبولي",
-        "آل سعود",
-        "آل علي",
-        "آل جعفر",
-        "أبا الخيل",
-        "المهنا",
-        "مهنا",
-        "بن لادن",
-        "كانو",
-        "الجفالي",
-        "فصيل",
-        "آل رفيع",
-        "آل بن لافي",
         "آل العسكري",
         "آل بن ظافر",
-        "آل عواض",
-        "المشاولة",
-        "آل مقطة",
-        "آل عايض",
-        "آل معيض",
+        "آل بن لافي",
+        "آل جعفر",
         "آل حسين",
-        "المغاولة",
         "آل خضير",
+        "آل رفيع",
+        "آل سعود",
+        "آل سلطان",
         "آل صفوان",
-        "آل محمد بن علي بن جماز",
+        "آل عايض",
         "آل عطفة",
+        "آل علي",
+        "آل عواض",
         "آل قصير",
-        "آل سلطان",
-        "العليان",
-        "الشايع",
+        "آل محمد بن علي بن جماز",
+        "آل معيض",
+        "آل مقطة",
+        "أبا الخيل",
         "أبو داوود",
+        "الجابر",
+        "الجفالي",
+        "الحجار",
+        "الحكير",
+        "الخرافي",
         "الدباغ",
-        "العجلان",
         "الراشد",
-        "المهيدب",
+        "الشايع",
+        "العجلان",
         "العقيل",
-        "شربتلي",
-        "الخرافي",
-        "أبو داوود",
-        "الجابر",
+        "العليان",
+        "المشاولة",
+        "المغاولة",
+        "المهنا",
+        "المهيدب",
         "بقشان",
-        "الحكير",
+        "بن لادن",
+        "حجار",
+        "حنبولي",
+        "شربتلي",
+        "فصيل",
+        "كانو",
+        "مهنا",
     )


Test patch:
diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py
index 918c9c36..ac03a745 100644
--- a/tests/providers/test_address.py
+++ b/tests/providers/test_address.py
@@ -18,6 +18,7 @@ from faker.providers.address.en_CA import Provider as EnCaAddressProvider
 from faker.providers.address.en_GB import Provider as EnGbAddressProvider
 from faker.providers.address.en_IE import Provider as EnIeAddressProvider
 from faker.providers.address.en_IN import Provider as EnInAddressProvider
+from faker.providers.address.en_NZ import Provider as EnNzAddressProvider
 from faker.providers.address.en_PH import Provider as EnPhAddressProvider
 from faker.providers.address.en_US import Provider as EnUsAddressProvider
 from faker.providers.address.es_CO import Provider as EsCoAddressProvider
@@ -25,13 +26,18 @@ from faker.providers.address.es_ES import Provider as EsEsAddressProvider
 from faker.providers.address.es_MX import Provider as EsMxAddressProvider
 from faker.providers.address.fa_IR import Provider as FaIrAddressProvider
 from faker.providers.address.fi_FI import Provider as FiFiAddressProvider
+from faker.providers.address.fr_CH import Provider as FrChAddressProvider
 from faker.providers.address.fr_FR import Provider as FrFrAddressProvider
 from faker.providers.address.he_IL import Provider as HeIlAddressProvider
 from faker.providers.address.hi_IN import Provider as HiInAddressProvider
 from faker.providers.address.hr_HR import Provider as HrHrAddressProvider
+from faker.providers.address.hu_HU import Provider as HuHuAddressProvider
 from faker.providers.address.hy_AM import Provider as HyAmAddressProvider
+from faker.providers.address.id_ID import Provider as IdIdAddressProvider
 from faker.providers.address.it_IT import Provider as ItItAddressProvider
 from faker.providers.address.ja_JP import Provider as JaJpAddressProvider
+from faker.providers.address.ka_GE import Provider as KaGeAddressProvider
+from faker.providers.address.ko_KR import Provider as KoKrAddressProvider
 from faker.providers.address.ne_NP import Provider as NeNpAddressProvider
 from faker.providers.address.no_NO import Provider as NoNoAddressProvider
 from faker.providers.address.pt_BR import Provider as PtBrAddressProvider
@@ -39,8 +45,11 @@ from faker.providers.address.pt_PT import Provider as PtPtAddressProvider
 from faker.providers.address.ro_RO import Provider as RoRoAddressProvider
 from faker.providers.address.ru_RU import Provider as RuRuAddressProvider
 from faker.providers.address.sk_SK import Provider as SkSkAddressProvider
+from faker.providers.address.sl_SI import Provider as SlSiAddressProvider
+from faker.providers.address.sv_SE import Provider as SvSeAddressProvider
 from faker.providers.address.ta_IN import Provider as TaInAddressProvider
 from faker.providers.address.th_TH import Provider as ThThAddressProvider
+from faker.providers.address.uk_UA import Provider as UkUaAddressProvider
 from faker.providers.address.zh_CN import Provider as ZhCnAddressProvider
 from faker.providers.address.zh_TW import Provider as ZhTwAddressProvider
 
@@ -391,22 +400,6 @@ class TestEnAu:
             assert state_abbr.isupper()
 
 
-class TestEnNz:
-    """Test en_NZ address provider methods"""
-
-    def test_state(self, faker, num_samples):
-        for _ in range(num_samples):
-            # No states in New Zealand
-            with pytest.raises(AttributeError):
-                faker.state()
-
-    def test_postcode(self, faker, num_samples):
-        for _ in range(num_samples):
-            postcode = faker.postcode()
-            assert isinstance(postcode, str)
-            assert re.fullmatch(r"\d{4}", postcode)
-
-
 class TestEnCa:
     """Test en_CA address provider methods"""
 
@@ -718,6 +711,13 @@ class TestEsEs:
             assert isinstance(autonomous_community, str)
             assert autonomous_community in EsEsAddressProvider.regions
 
+    def test_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            postcode = faker.postcode()
+            assert isinstance(postcode, str)
+            assert len(postcode) == 5
+            assert 1000 <= int(postcode) <= 52100
+
 
 class TestEsMx:
     """Test es_MX address provider methods"""
@@ -926,66 +926,6 @@ class TestHrHr:
             assert state in HrHrAddressProvider.states
 
 
-class TestHuHu:
-    """Test hu_HU address provider methods"""
-
-    def test_postcode(self, faker, num_samples):
-        # Hungarian postcodes begin with 'H-' followed by 4 digits.
-        # The first digit may not begin with a zero.
-        for _ in range(num_samples):
-            pcd = faker.postcode()
-            assert re.fullmatch(r"H-[1-9]\d{3}", pcd)
-
-    def test_street_address(self, faker, num_samples):
-        """
-        Tests street address.
-
-        A street address must consist of a street name, a place type and a number, and end in a period point.
-        """
-        for _ in range(num_samples):
-            address = faker.street_address()
-            assert address[-1] == "."
-            # Check for correct capitalisation of place type
-            assert address.split(" ")[-2][0].islower()
-            # Check for street number format
-            assert re.fullmatch(r"\d{1,4}\.", address.split(" ")[-1])
-
-    def test_street_address_with_county(self, faker, num_samples):
-        """Tests street address with country. A street address must be:
-        - in three rows,
-        - starting with a valid street address,
-        - contain a valid post code,
-        - contain the place name validly capitalized.
-        """
-        for _ in range(num_samples):
-            address = faker.street_address_with_county()
-            # Number of rows
-            assert len(address.split("\n")) == 3
-            first, second, last = address.split("\n")
-
-            # Test street address
-            assert first[0].isupper()
-            assert first.split(" ")[-2][0].islower()
-            assert re.fullmatch(r"\d{1,4}\.", first.split(" ")[-1])
-
-            # Test county line
-            assert second.split(" ")[-1][0].islower()
-            assert second.split(" ")[0][0].isupper()
-
-            # Test postcode
-            assert re.fullmatch(r"H-[1-9]\d{3}", last.split(" ")[0])
-
-            # Test place name capitalization
-            assert last.split(" ")[-1][0].isupper()
-
-    def test_address(self, faker, num_samples):
-        for _ in range(num_samples):
-            address = faker.address()
-            assert isinstance(address, str)
-            address_with_county = faker.street_address_with_county()
-            assert isinstance(address_with_county, str)
-
-
 class TestHyAm:
     """Test hy_AM address provider methods"""
 
@@ -1114,6 +1054,31 @@ class TestItIt:
             assert match.group("city") in ItItAddressProvider.cities
             assert match.group("province") in ItItAddressProvider.states_abbr
 
+    def test_city_prefix(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_prefix = faker.city_prefix()
+            assert isinstance(city_prefix, str)
+            assert city_prefix in ItItAddressProvider.city_prefixes
+
+    def test_secondary_address(self, faker, num_samples):
+        for _ in range(num_samples):
+            secondary_address = faker.secondary_address()
+            assert isinstance(secondary_address, str)
+            match = re.findall(r".* \d{1,2}", secondary_address)
+            assert match
+
+    def test_administrative_unit(self, faker, num_samples):
+        for _ in range(num_samples):
+            administrative_unit = faker.administrative_unit()
+            assert isinstance(administrative_unit, str)
+            assert administrative_unit in ItItAddressProvider.states
+
+    def test_state_abbr(self, faker, num_samples):
+        for _ in range(num_samples):
+            state_abbr = faker.state_abbr()
+            assert isinstance(state_abbr, str)
+            assert state_abbr in ItItAddressProvider.states_abbr
+
 
 class TestJaJp:
     """Test ja_JP address provider methods"""
@@ -1211,6 +1176,44 @@ class TestKoKr:
             assert isinstance(postcode, str)
             assert re.fullmatch(r"\d{5}", postcode)
 
+    def test_city(self, faker, num_samples):
+        for _ in range(num_samples):
+            city = faker.city()
+            assert isinstance(city, str)
+
+    def test_borough(self, faker, num_samples):
+        for _ in range(num_samples):
+            borough = faker.borough()
+            assert isinstance(borough, str)
+            assert borough in KoKrAddressProvider.boroughs
+
+    def test_town(self, faker, num_samples):
+        for _ in range(num_samples):
+            town = faker.town()
+            assert isinstance(town, str)
+
+    def test_town_suffix(self, faker, num_samples):
+        for _ in range(num_samples):
+            town_suffix = faker.town_suffix()
+            assert isinstance(town_suffix, str)
+            assert town_suffix in KoKrAddressProvider.town_suffixes
+
+    def test_building_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            building_name = faker.building_name()
+            assert isinstance(building_name, str)
+
+    def test_building_suffix(self, faker, num_samples):
+        for _ in range(num_samples):
+            building_suffix = faker.building_suffix()
+            assert isinstance(building_suffix, str)
+            assert building_suffix in KoKrAddressProvider.building_suffixes
+
+    def test_building_dong(self, faker, num_samples):
+        for _ in range(num_samples):
+            building_dong = faker.building_dong()
+            assert isinstance(building_dong, str)
+
 
 class TestNeNp:
     """Test ne_NP address provider methods"""
@@ -1534,7 +1537,71 @@ class TestEnPh:
 class TestFilPh(TestEnPh):
     """Test fil_PH address provider methods"""
 
-    pass
+    @classmethod
+    def setup_class(cls):
+        cls.building_number_pattern: Pattern = re.compile(
+            r"(?:[1-9]|[1-9]\d{1,3})(?:[A-J]|\s[A-J]|-[A-J]|\sUnit\s[A-J])?",
+        )
+        cls.address_pattern: Pattern = re.compile(
+            r"(?P<street_address>.*), (?P<lgu>.*?), (?P<postcode>\d{4}) (?P<province>.*?)",
+        )
+        cls.metro_manila_postcodes = EnPhAddressProvider.metro_manila_postcodes
+        cls.luzon_province_postcodes = EnPhAddressProvider.luzon_province_postcodes
+        cls.visayas_province_postcodes = EnPhAddressProvider.visayas_province_postcodes
+        cls.mindanao_province_postcodes = EnPhAddressProvider.mindanao_province_postcodes
+        cls.postcodes = EnPhAddressProvider.postcodes
+        cls.provinces = EnPhAddressProvider.provinces
+        cls.province_lgus = EnPhAddressProvider.province_lgus
+        cls.metro_manila_lgus = EnPhAddressProvider.metro_manila_lgus
+
+    def test_metro_manila_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert int(faker.metro_manila_postcode()) in self.metro_manila_postcodes
+
+    def test_luzon_province_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert int(faker.luzon_province_postcode()) in self.luzon_province_postcodes
+
+    def test_visayas_province_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert int(faker.visayas_province_postcode()) in self.visayas_province_postcodes
+
+    def test_mindanao_province_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert int(faker.mindanao_province_postcode()) in self.mindanao_province_postcodes
+
+    def test_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert int(faker.postcode()) in self.postcodes
+
+    def test_building_number(self, faker, num_samples):
+        for _ in range(num_samples):
+            assert self.building_number_pattern.fullmatch(faker.building_number())
+
+    def test_floor_unit_number(self, faker, num_samples):
+        for _ in range(num_samples):
+            number = faker.floor_unit_number()
+            assert 2 <= int(number[:-2]) <= 99
+            assert 1 <= int(number[-2:]) <= 40
+
+    def test_ordinal_floor_number(self, faker, num_samples):
+        for _ in range(num_samples):
+            floor_number = faker.ordinal_floor_number()
+            assert floor_number[-2:] in ["th", "st", "nd", "rd"]
+
+    def test_address(self, faker, num_samples):
+        for _ in range(num_samples):
+            address = faker.address()
+            match = self.address_pattern.fullmatch(address)
+            street_address = match.group("street_address")
+            lgu = match.group("lgu")
+            postcode = match.group("postcode")
+            province = match.group("province")
+            assert match
+            assert street_address
+            assert lgu in self.province_lgus or lgu in self.metro_manila_lgus
+            assert int(postcode) in self.postcodes
+            assert province in self.provinces or province == "Metro Manila"
 
 
 class TestTlPh(TestEnPh):
@@ -1861,3 +1928,285 @@ class TestRoRo:
             assert isinstance(city_with_postcode, str)
             match = re.fullmatch(r"\d{6} (?P<city>.*)", city_with_postcode)
             assert match.group("city") in RoRoAddressProvider.cities
+
+
+class TestEnNz:
+    """Test en_NZ address provider methods"""
+
+    def test_te_reo_part(self, faker, num_samples):
+        for _ in range(num_samples):
+            to_reo_part = faker.te_reo_part()
+            assert isinstance(to_reo_part, str)
+            assert to_reo_part in EnNzAddressProvider.te_reo_parts
+
+    def test_reo_first(self, faker, num_samples):
+        for _ in range(num_samples):
+            te_reo_first = faker.te_reo_first()
+            assert isinstance(te_reo_first, str)
+            assert te_reo_first in [str(i).capitalize() for i in EnNzAddressProvider.te_reo_parts]
+
+    def test_reo_ending(self, faker, num_samples):
+        for _ in range(num_samples):
+            te_reo_ending = faker.te_reo_ending()
+            assert isinstance(te_reo_ending, str)
+            assert te_reo_ending in EnNzAddressProvider.te_reo_parts or EnNzAddressProvider.te_reo_endings
+
+    def test_city_prefix(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_prefix = faker.city_prefix()
+            assert isinstance(city_prefix, str)
+            assert city_prefix in EnNzAddressProvider.city_prefixes
+
+    def test_city_suffix(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_suffix = faker.city_suffix()
+            assert isinstance(city_suffix, str)
+            assert city_suffix in EnNzAddressProvider.city_suffixes
+
+    def test_rd_number(self, faker, num_samples):
+        for _ in range(num_samples):
+            rd_number = faker.rd_number()
+            assert isinstance(rd_number, str)
+            assert rd_number in [str(i) for i in range(1, 11)]
+
+    def test_secondary_address(self, faker, num_samples):
+        for _ in range(num_samples):
+            secondary_address = faker.secondary_address()
+            assert isinstance(secondary_address, str)
+            assert secondary_address.split(" ")[0] in [
+                i.split(" ")[0] for i in EnNzAddressProvider.secondary_address_formats
+            ]
+
+
+class TestFrCh:
+    """Test fr_CH address provider methods"""
+
+    def test_canton_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            canton_name = faker.canton_name()
+            assert isinstance(canton_name, str)
+            assert any(canton_name == cantons[1] for cantons in FrChAddressProvider.cantons)
+
+    def test_canton_code(self, faker, num_samples):
+        for _ in range(num_samples):
+            canton_code = faker.canton_code()
+            assert isinstance(canton_code, str)
+            assert any(canton_code == cantons[0] for cantons in FrChAddressProvider.cantons)
+
+    def test_canton(self, faker, num_samples):
+        for _ in range(num_samples):
+            canton = faker.canton()
+            assert isinstance(canton, tuple)
+            assert canton in FrChAddressProvider.cantons
+
+
+class TestHuHu:
+    """Test hu_HU address provider methods"""
+
+    def test_administrative_unit(self, faker, num_samples):
+        for _ in range(num_samples):
+            administrative_unit = faker.administrative_unit()
+            assert isinstance(administrative_unit, str)
+            assert administrative_unit in HuHuAddressProvider.counties
+
+    def test_street_address_with_county(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_address_with_county = faker.street_address_with_county()
+            assert isinstance(street_address_with_county, str)
+            match = re.fullmatch(r".* \d*.\n.* [A-Za-zÀ-ȕ]*\nH-\d{4} [A-Za-zÀ-ȕ]*", street_address_with_county)
+            assert match
+
+    def test_city_prefix(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_prefix = faker.city_prefix()
+            assert isinstance(city_prefix, str)
+            assert city_prefix in HuHuAddressProvider.city_prefs
+
+    def test_city_part(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_part = faker.city_part()
+            assert isinstance(city_part, str)
+            assert city_part in HuHuAddressProvider.city_parts
+
+    def test_real_city_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            real_city_name = faker.real_city_name()
+            assert isinstance(real_city_name, str)
+            assert real_city_name in HuHuAddressProvider.real_city_names
+
+    def test_frequent_street_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            frequent_street_name = faker.frequent_street_name()
+            assert isinstance(frequent_street_name, str)
+            assert frequent_street_name in HuHuAddressProvider.frequent_street_names
+
+    def test_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            postcode = faker.postcode()
+            assert isinstance(postcode, str)
+            match = re.fullmatch(r"H-\d{4}", postcode)
+            assert match
+
+    def test_street_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_name = faker.street_name()
+            assert isinstance(street_name, str)
+
+    def test_building_number(self, faker, num_samples):
+        for _ in range(num_samples):
+            building_number = faker.building_number()
+            assert isinstance(building_number, str)
+            match = re.fullmatch(r"\d{0,3}.", building_number)
+            assert match
+
+
+class TestIdId:
+    """Test id_ID address provider methods"""
+
+    def test_street(self, faker, num_samples):
+        for _ in range(num_samples):
+            street = faker.street()
+            assert isinstance(street, str)
+            assert street in IdIdAddressProvider.streets
+
+    def test_street_prefix_short(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_prefix_short = faker.street_prefix_short()
+            assert isinstance(street_prefix_short, str)
+            assert street_prefix_short in IdIdAddressProvider.street_prefixes_short
+
+    def test_street_prefix_long(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_prefix_long = faker.street_prefix_long()
+            assert isinstance(street_prefix_long, str)
+            assert street_prefix_long in IdIdAddressProvider.street_prefixes_long
+
+    def test_city_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_name = faker.city_name()
+            assert isinstance(city_name, str)
+            assert city_name in IdIdAddressProvider.cities
+
+    def test_administrative_unit(self, faker, num_samples):
+        for _ in range(num_samples):
+            administrative_unit = faker.administrative_unit()
+            assert isinstance(administrative_unit, str)
+            assert administrative_unit in IdIdAddressProvider.states
+
+    def test_state_abbr(self, faker, num_samples):
+        for _ in range(num_samples):
+            state_abbr = faker.state_abbr()
+            assert isinstance(state_abbr, str)
+            assert state_abbr in IdIdAddressProvider.states_abbr
+
+    def test_country(self, faker, num_samples):
+        for _ in range(num_samples):
+            country = faker.country()
+            assert isinstance(country, str)
+            assert country in IdIdAddressProvider.countries
+
+
+class TestKaGe:
+    """Test ka_GE address provider methods"""
+
+    def test_street_title(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_title = faker.street_title()
+            assert isinstance(street_title, str)
+            assert street_title in KaGeAddressProvider.street_titles
+
+    def test_city_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_name = faker.city_name()
+            assert isinstance(city_name, str)
+            assert city_name in KaGeAddressProvider.city_names
+
+
+class TestSlSi:
+    """Test sl_SI address provider methods"""
+
+    def test_city_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_name = faker.city_name()
+            assert isinstance(city_name, str)
+            assert city_name in SlSiAddressProvider.cities
+
+    def test_street_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_name = faker.street_name()
+            assert isinstance(street_name, str)
+            assert street_name in SlSiAddressProvider.streets
+
+    def test_administrative_unit(self, faker, num_samples):
+        for _ in range(num_samples):
+            administrative_unit = faker.administrative_unit()
+            assert isinstance(administrative_unit, str)
+            assert administrative_unit in SlSiAddressProvider.states
+
+
+class TestSvSe:
+    """Test sv_SE address provider methods"""
+
+    def test_street_prefix(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_prefix = faker.street_prefix()
+            assert isinstance(street_prefix, str)
+            assert street_prefix in SvSeAddressProvider.street_prefixes
+
+    def test_city_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_name = faker.city_name()
+            assert isinstance(city_name, str)
+            assert city_name in SvSeAddressProvider.cities
+
+    def test_administrative_unit(self, faker, num_samples):
+        for _ in range(num_samples):
+            administrative_unit = faker.administrative_unit()
+            assert isinstance(administrative_unit, str)
+            assert administrative_unit in SvSeAddressProvider.states
+
+
+class TestUkUa:
+    """Test uk_UA address provider methods"""
+
+    def test_city_prefix(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_prefix = faker.city_prefix()
+            assert isinstance(city_prefix, str)
+            assert city_prefix in UkUaAddressProvider.city_prefixes
+
+    def test_city_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            city_name = faker.city_name()
+            assert isinstance(city_name, str)
+            assert city_name in UkUaAddressProvider.city_names
+
+    def test_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            postcode = faker.postcode()
+            assert isinstance(postcode, str)
+            match = re.findall(r"\d{5}", postcode)
+            assert match
+
+    def test_street_prefix(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_prefix = faker.street_prefix()
+            assert isinstance(street_prefix, str)
+            assert street_prefix in UkUaAddressProvider.street_prefixes
+
+    def test_street_name(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_name = faker.street_name()
+            assert isinstance(street_name, str)
+            assert street_name in UkUaAddressProvider.street_titles
+
+    def test_street_title(self, faker, num_samples):
+        for _ in range(num_samples):
+            street_title = faker.street_title()
+            assert isinstance(street_title, str)
+
+    def test_region(self, faker, num_samples):
+        for _ in range(num_samples):
+            region = faker.region()
+            assert isinstance(region, str)
+            assert region in UkUaAddressProvider.region_names