
    ihk,              
          d dl m Z d dlmZ d dlmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZ d dlm Z m!Z!  G d d	e eeeee      Z" G d
 de"      Z# G d de"      Z$ G d de      Z% G d d      Z&y)    )gettext)_CustomIslamicHolidays)GREGORIAN_CALENDARAPRMAYJULSEPOCT)JULIAN_CALENDAR)ALBANIANBOSNIANCATHOLICHEBREWISLAMICORTHODOXPUBLICROMASERBIANTURKISHVLACH)ChristianHolidaysHebrewCalendarHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONc                        e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
eeeeeeeeeeefZdZd	d
def fdZd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$ xZ%S )NorthMacedoniau  North Macedonia holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_North_Macedonia>
        * [Law on Holidays 21/98](https://web.archive.org/web/20250404064336/https://www.mtsp.gov.mk/content/pdf/dokumenti/Zakon_Praznici_na_RM%20(2_2).pdf)
        * [Law Amending Law on Holidays 18/2007](https://web.archive.org/web/20250505061325/https://www.mtsp.gov.mk/content/pdf/dokumenti/Zakon_Izmenuvanje_Praznici_na_RM%20(2_2).pdf)

    Checked With:
        * [Non-working days program](https://web.archive.org/web/20250420034141/https://mtsp.gov.mk/programa-za-nerabotni-denovi.nspx)
        * [2010](https://web.archive.org/web/20250430235227/https://www.mtsp.gov.mk/WBStorage/Files/programadeseta.doc)
        * [2011](https://web.archive.org/web/20250501104555/https://www.mtsp.gov.mk/WBStorage/Files/programaedinaeseta.doc)
        * [2012](https://web.archive.org/web/20250501001337/https://www.mtsp.gov.mk/WBStorage/Files/programadvanaeseta.doc)
        * [2013](https://web.archive.org/web/20250430234446/https://www.mtsp.gov.mk/WBStorage/Files/programa_trinaeseta_nova.doc)
        * [2014](https://web.archive.org/web/20241206035550/https://www.mtsp.gov.mk/WBStorage/Files/programa_nerabotni_denovi_2014.pdf)
        * [2015](https://web.archive.org/web/20240304070837/https://www.mtsp.gov.mk/content/pdf/Programa_nerabotni_denovi_2015.pdf)
        * [2016](https://web.archive.org/web/20241206052140/https://www.mtsp.gov.mk/content/pdf/Programa_nerabotni_2016.pdf)
        * [2017](https://web.archive.org/web/20240629115141/https://www.mtsp.gov.mk/content/pdf/19.10._Програма%20на%20неработни%20денови%20за%202017%20година.pdf)
        * [2018](https://web.archive.org/web/20240630201651/https://www.mtsp.gov.mk/content/pdf/programi/Програма%20на%20неработни%20денови%20за%202018%20година.pdf)
        * [2019](https://web.archive.org/web/20240629172352/https://www.mtsp.gov.mk/content/pdf/programi/Programa_na_nerabotni_denovi_za_2019_godina..pdf)
        * [2020](https://web.archive.org/web/20240629104945/https://www.mtsp.gov.mk/content/pdf/dokumenti/2019/Програма%20на%20неработни%20денови%20за%202020%20година%201.pdf)
        * [2021](https://web.archive.org/web/20250502065435/https://www.mtsp.gov.mk/content/Програма%20на%20неработни%20денови%20за%202021%20година%20PDF.pdf)
        * [2022](https://web.archive.org/web/20250420054039/https://www.mtsp.gov.mk/content/word/2021/nerabotni/2022_programa_praznici_nerabotni_2.doc)
        * [2023](https://web.archive.org/web/20250420050919/https://mtsp.gov.mk/content/word/programi/2022/programa_nerabotni_2023.doc)
        * [2024](https://web.archive.org/web/20250420060645/https://www.mtsp.gov.mk/content/word/programi/2023/programa_nerabotni_2024_mkd.doc)
        * [2025](https://web.archive.org/web/20250421022811/https://www.mtsp.gov.mk/content/word/2024/programa_nerabotni_2025.docx)
    MKmku   %s (проценето)u   %s (неработен ден)u2   %s (неработен ден, проценето)i  )en_USr!   ukT)islamic_show_estimatedr$   c                D   t        j                  | t               t        j                  |        t	        j                  |        t        j                  | t        |       t        j                  | t               |j                  dt               t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )clsshow_estimatedobserved_ruleN)r   __init__r   r   r   r   NorthMacedoniaIslamicHolidaysr   NorthMacedoniaStaticHolidays
setdefaultr   super)selfr$   argskwargs	__class__s       b/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/north_macedonia.pyr)   zNorthMacedonia.__init__d   s}     	""49''-&&t,  3DZ	
 	&BC/?;$)&)    c                    t        d      }| j                  | j                  |             | j                  dk  r | j                  | j	                  |             | j                  dk\  r)| j                  | j                  t        d                   | j                  dk\  r| j                  t        d             t        d      }| j                  | j                  |             | j                  dk  r | j                  | j                  |             | j                  dk\  r)| j                  | j                  t        d                   | j                  | j                  t        d	                   | j                  | j                  t        d
                   | j                  | j                  t        d                   | j                  dk\  rR| j                  | j                  t        d                   | j                  | j                  t        d                   | j                  dk\  r1| j                  t        d            D ]  }| j                  |        y y )Nu   Нова Година    
   Божиќ   Велигденu   Ден на трудот  um   Светите Кирил и Методиј - Ден на сесловенските просветителиu"   Ден на Републикатаu$   Ден на независностаu/   Ден на народното востаниеuL   Ден на македонската револуционерна борбаu*   Свети Климент Охридскиu   Рамазан Бајрам)tr_add_observed_add_new_years_day_year_add_new_years_day_two_add_christmas_day_add_easter_monday_add_labor_day_add_labor_day_two_add_holiday_may_24_add_holiday_aug_2_add_holiday_sep_8_add_holiday_oct_11_add_holiday_oct_23_add_holiday_dec_8_add_eid_al_fitr_day)r.   namedts      r2   _populate_public_holidaysz(NorthMacedonia._populate_public_holidaysu   s   )*422489::t::4@A::t66r,7GHI::##B'9$:; ,-4..t45::t66t<=::((  G  H 	42226Z3[\] 	42226\3]^_ 	433B7h4ijk::((,z){| t66r:f7ghi:://3P0QR""2& S r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr5   u-   Ден на Албанската азбука)r=   _add_holiday_nov_22r:   r.   s    r2   _populate_albanian_holidaysz*NorthMacedonia._populate_albanian_holidays   s'    ::$$R(W%XY r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr5   u5   Меѓународен ден на Бошњаците)r=   _add_holiday_sep_28r:   rO   s    r2   _populate_bosnian_holidaysz)NorthMacedonia._populate_bosnian_holidays   s'    ::$$R(_%`a r3   c                     | j                  t        d      t               | j                  dk\  r| j	                  t        d             | j                  t        d      t               y )Nr8   r5   u   Сите Светциr7   )r@   r:   r   r=   _add_all_saints_dayr?   rO   s    r2   _populate_catholic_holidaysz*NorthMacedonia._populate_catholic_holidays   sQ    #5 68JK::$$R(?%@A 	< 02DEr3   c                 8    | j                  t        d             y )Nu   Јом Кипур)_add_yom_kippurr:   rO   s    r2   _populate_hebrew_holidaysz(NorthMacedonia._populate_hebrew_holidays   s    R 345r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr5   u   Курбан Бајрам)r=   _add_eid_al_adha_dayr:   rO   s    r2   _populate_islamic_holidaysz)NorthMacedonia._populate_islamic_holidays   s'    ::%%b)D&EF r3   c                    | j                   dk  r| j                  t        d             | j                   dk  r| j                  t        d             | j                   dk\  r| j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             y y )
Nr5   r7   r9   r8   u   Бадникu   Богојавлениеu   Велики Петокu9   Успение на Пресвета Богородицаu   Духовден)	r=   r?   r:   r@   _add_christmas_eve_add_epiphany_day_add_good_friday_add_assumption_of_mary_day _add_holiday_47_days_past_easterrO   s    r2   _populate_orthodox_holidaysz*NorthMacedonia._populate_orthodox_holidays   s    ::##B|$45::##B'9$:;::##B~$67 ""2&@#AB !!"%>"?@ ,,R0k-lm 11"5G2HI r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr5   u/   Меѓународен ден на Ромите)r=   _add_holiday_apr_8r:   rO   s    r2   _populate_roma_holidaysz&NorthMacedonia._populate_roma_holidays   s'    ::##B'X$YZ r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr6   u   Свети Сава)r=   _add_holiday_jan_27r:   rO   s    r2   _populate_serbian_holidaysz)NorthMacedonia._populate_serbian_holidays   s'    ::$$R(=%>? r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr5   u7   Ден на настава на турски јазик)r=   _add_holiday_dec_21r:   rO   s    r2   _populate_turkish_holidaysz)NorthMacedonia._populate_turkish_holidays   s'    ::$$R(a%bc r3   c                 X    | j                   dk\  r| j                  t        d             y y )Nr5   u/   Национален ден на Власите)r=   _add_holiday_may_23r:   rO   s    r2   _populate_vlach_holidaysz'NorthMacedonia._populate_vlach_holidays   s'    ::$$R(Y%Z[ r3   )&__name__
__module____qualname____doc__countrydefault_languager:   estimated_labelobserved_labelobserved_estimated_label
start_yearr   r   r   r   r   r   r   r   r   r   r   supported_categoriessupported_languagesboolr)   rL   rP   rS   rV   rY   r\   rc   rf   ri   rl   ro   __classcell__)r1   s   @r2   r   r   )   s    6 G23O89N!"VWJ 0=A *d *"2'hZ
b
	F6G
J2[
@
d
\r3   r   c                       e Zd Zy)r    Nrp   rq   rr    r3   r2   r    r           r3   r    c                       e Zd Zy)MKDNr   r   r3   r2   r   r      r   r3   r   c                   >    e Zd ZdZedfedfedfdZdZedfedfdZ	y	)
r*   )  i           )i  i    	      )r   r   N)
rp   rq   rr   !EID_AL_ADHA_DATES_CONFIRMED_YEARSr
   r	   EID_AL_ADHA_DATES!EID_AL_FITR_DATES_CONFIRMED_YEARSr   EID_AL_FITR_DATESr   r3   r2   r*   r*      sC    (4%BiBiBi )5%AhAhr3   r*   c                   8    e Zd ZdZ ed      ZdedefedeffiZy)r+   zNorth Macedonia special holidays.

    References:
        * <https://web.archive.org/web/20250201212849/https://mk.usembassy.gov/alert-presidential-and-parliamentary-elections-on-may-8-2024/>
    u   Ден на изборитеi  r      N)	rp   rq   rr   rs   r:   election_dayr   r   special_public_holidaysr   r3   r2   r+   r+     s:     45L 	"l#!\"
r3   r+   N)'r   r:   holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r	   r
   holidays.calendars.julianr   holidays.constantsr   r   r   r   r   r   r   r   r   r   r   holidays.groupsr   r   r   r   r   holidays.observed_holiday_baser   r   r   r    r   r*   r+   r   r3   r2   <module>r      s    " 5 T T 5     PI\I\X	 		. 	$:  r3   