
    ih#              	          d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
 d dlmZmZmZ d dlmZmZmZmZ d dlmZ erd dlmZ  G d	 d
eeeee      Z G d de      Z G d de      Zy)    )annotations)gettext)TYPE_CHECKING)THUFRISATSUN)	CHRISTIANHEBREWPUBLIC)ChristianHolidaysHebrewCalendarHolidaysInternationalHolidaysIslamicHolidays)HolidayBase)datec                  v     e Zd ZdZdZdZ ed      ZdZe	e
efZdZeehZddd fd	Zdd
Zd Zd Zd Z xZS )Algeriau  Algeria holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Algeria>
        * [Loi n° 63-278 du 26 juillet 1963](https://web.archive.org/web/20250903142053/https://drive.google.com/file/d/1rWkxBEjs9aNkbiTTRXBET3Qo_3HQOJR9/view)
        * [Ordonnance n° 68-419 du 26 juin 1968](https://web.archive.org/web/20250903142828/https://drive.google.com/file/d/1fMGyGVnunGkACWhm0tICANEZqao2pOV3/view)
        * [Loi n° 05-06 du 17 Rabie El Aoeul 1426](https://web.archive.org/web/20250903143453/https://drive.google.com/file/d/1AXISrPGJzgDO8G3uB1TyICdtnOYW6ewm/view)
        * [Loi n° 18-12 du 18 Chaoual 1439](https://web.archive.org/web/20250903141752/https://drive.google.com/file/d/1qxcrF3J-SUXmLdGZLVF0gdrN0aQWwykb/view)
        * [Loi n° 23-10 du 8 Dhou El Hidja 1444](https://web.archive.org/web/20250903141052/https://drive.google.com/file/d/1hZJtxofzjFAphOX09dGGtvHxl6IN5aNz/view)
        * <https://web.archive.org/web/20241231091630/https://www.thenationalnews.com/mena/2021/12/07/when-is-the-weekend-in-the-arab-world/>
        * <https://web.archive.org/web/20250903160618/https://www.lemonde.fr/afrique/article/2018/01/12/en-algerie-le-nouvel-an-berbere-ferie-pour-la-premiere-fois_5241028_3212.html>
    DZaru   %s (المقدرة)i  )r   en_USfrT)islamic_show_estimatedc                   t        j                  |        t        j                  |        t        j                  |        t	        j                  | |       t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )show_estimatedN)r   __init__r   r   r   super)selfr   argskwargs	__class__s       Z/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/algeria.pyr   zAlgeria.__init__:   sR     	""4(''-&&t,  6LM$)&)    c                    |j                   dk\  rt        t        hS |j                   dk\  rt        t        hS t        t        hS )Ni  i  )yearr   r   r   r	   )r   dts     r"   _get_weekendzAlgeria._get_weekendG   s8     77d?:WW_::r#   c                L   | j                  t        d             | j                  dk\  r| j                  t        d             | j	                  t        d             | j                  | j                  dk\  rt        d      n
t        d             | j                  t        d             | j                  t        d	             | j                  t        d
             | j                  t        d             t        d      }| j                  |       | j                  |       | j                  dk\  r| j                  |       t        d      }| j                  |       | j                  dk\  r3| j                  |       | j                  dk\  r| j                  |       y y y )Nu$   رأس السنة الميلاديةi  u&   رأس السنة الأمازيغيةu   عيد العمالi  u   عيد الاستقلالu@   عيد الاستقلال وجبهة التحرير الوطنيu   عيد الثورةu    رأس السنة الهجريةu   عاشورةu    عيد المولد النبويu   عيد الفطرi  u   عيد الأضحىi  i  )_add_new_years_daytr_year_add_holiday_jan_12_add_labor_day_add_holiday_jul_5_add_holiday_nov_1_add_islamic_new_year_day_add_ashura_day_add_mawlid_day_add_eid_al_fitr_day_add_eid_al_fitr_day_two_add_eid_al_fitr_day_three_add_eid_al_adha_day_add_eid_al_adha_day_two_add_eid_al_adha_day_three)r   names     r"   _populate_public_holidaysz!Algeria._populate_public_holidaysQ   su   #I JK ::$$R(P%QR 	B456 	 zzT! *+ VW	
 	#8 9: 	&&r*L'MN 	R/0 	R BCD %&!!$'%%d+::++D1 '(!!$'::))$/zzT!//5 " r#   c                   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nu   إثنين الفصحu   عيد الصعودu   إثنين العنصرةu/   عيد انتقال السيدة العذراءu   عيد الميلاد)_add_easter_mondayr*   _add_ascension_thursday_add_whit_monday_add_assumption_of_mary_day_add_christmas_dayr   s    r"   _populate_christian_holidaysz$Algeria._populate_christian_holidays   sp     	#: ;< 	$$R(=%>? 	b!<=> 	((,])^_ 	#: ;<r#   c                    | j                  t        d             | j                  t        d             | j                  t        d             y )Nu    رأس السنة العبريةu   يوم الغفرانu    عيد الفصح اليهودي)_add_rosh_hashanahr*   _add_yom_kippur_add_passoverrA   s    r"   _populate_hebrew_holidaysz!Algeria._populate_hebrew_holidays   sD     	#E FG 	R 789 	2@ABr#   )r   bool)r&   r   returnzset[int])__name__
__module____qualname____doc__countrydefault_languager*   estimated_label
start_yearr
   r   r   supported_categoriessupported_languagesr   r   weekendr   r'   r:   rB   rG   __classcell__)r!   s   @r"   r   r       s_     G./OJ%vv6/CjG=A *26h=$
Cr#   r   c                      e Zd Zy)r   NrJ   rK   rL    r#   r"   r   r          r#   r   c                      e Zd Zy)DZANrW   rX   r#   r"   r[   r[      rY   r#   r[   N)
__future__r   r   r*   typingr   holidays.calendars.gregorianr   r   r   r	   holidays.constantsr
   r   r   holidays.groupsr   r   r   r   holidays.holiday_baser   datetimer   r   r   r[   rX   r#   r"   <module>rc      sg    # !   ; ; 8 8  .AC"$:<QSbACH	 		' 	r#   