
    ihy                         d dl 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 d dlmZmZ  G d dee
ee      Z G d de      Z G d d	e      Z G d
 d      Zy)    )JANMARAPRMAYJUNAUGNOVDEC)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONc                   4     e Zd ZdZdZdZdZ fdZd Z xZ	S )SouthAfricaa)  South Africa holidays.

    References:
        * <https://web.archive.org/web/20250424073852/https://www.gov.za/about-sa/public-holidays>
        * [Act No. 36, 1994](https://web.archive.org/web/20250914045710/https://www.gov.za/sites/default/files/gcis_document/201409/act36of1994.pdf)
        * <https://web.archive.org/web/20250914050022/https://www.ancestors.co.za/origins-of-public-holidays-in-south-africa/>
        * <https://en.wikipedia.org/wiki/Public_holidays_in_South_Africa>
        * <https://web.archive.org/web/20240715110800/https://www.gov.za/speeches/president-cyril-ramaphosa-progress-economic-recovery-30-oct-2023-0000>
        * <https://web.archive.org/web/20250427184315/https://www.gov.za/documents/notices/public-holidays-act-declaration-29-may-2024-public-holiday-23-feb-2024>
    ZAz%s (observed)iw  c                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               |j                  dd       t        |   |i | y )Nobserved_ruleobserved_since  )r   __init__r   r   SouthAfricaStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      _/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/south_africa.pyr   zSouthAfrica.__init__$   sc    ""4(&&t,&?@/?;*D1$)&)    c                    | j                  | j                  d             d| j                  cxk  rdk  rn n| j                  d       n)d| j                  cxk  rdk  rn n| j                  d       | j	                  d       | j                  d	k  r| j                  d
       d}| j                  dk\  r| j                  |       n)d| j                  cxk  rdk  rn n| j                  |       d}| j                  dk\  r!| j                  | j                  |             n)d| j                  cxk  rdk  rn n| j                  |       | j                  dk\  r| j                  | j                  d             | j                  | j                  d             | j                  | j                  d             | j                  | j                  d             | j                  | j                  d             nb| j                  dk  rS| j                  | j                  dk\  rdnd       | j                  d       | j                  dk\  r| j!                  d       | j                  dk\  rA| j                  dk  r| j#                  d       | j                  d	k  r4| j%                  d       n"| j'                  d       | j)                  d       | j                  dk\  rd }n&| j                  dk\  rd!}n| j                  dk\  rd"}nd#}| j                  | j+                  |             | j-                  d$       | j                  | j/                  | j                  dk\  rd%             y d&             y )'NzNew Year's Dayi  i  zFounder's Dayi  i  zVan Riebeeck's DayzGood Fridayi  zEaster Mondayz
Family Dayi  zWorkers' Dayr   i  i  zHuman Rights DayzFreedom Dayz	Youth DayzNational Women's DayzHeritage Dayi  zRepublic Dayz	Union DayzAscension Dayz
Kruger Dayi  zQueen's BirthdayzSettlers' Dayz
Empire DayzKing's BirthdayzDay of ReconciliationzDay of the VowzDay of the CovenantzDingaan's DayzChristmas DayzDay of Goodwillz
Boxing Day)_add_observed_add_new_years_day_year_add_holiday_apr_6_add_good_friday_add_easter_monday_add_holiday_jul_10_add_labor_day_add_holiday_1st_fri_of_may_add_holiday_mar_21_add_holiday_apr_27_add_holiday_jun_16_add_holiday_aug_9_add_holiday_sep_24_add_holiday_may_31_add_ascension_thursday_add_holiday_oct_10_add_holiday_2nd_mon_of_jul_add_holiday_1st_mon_of_sep_add_holiday_may_24_add_holiday_1st_mon_of_aug_add_holiday_dec_16_add_christmas_day_add_christmas_day_two)r   names     r   _populate_public_holidaysz%SouthAfrica._populate_public_holidays,   s   4223CDE4::%%##O4TZZ'4'##$89 	m,::##O4 ::##D)TZZ'4'$$T* ::t22489TZZ'4',,T2::t778JKL t77FG t77DE t667MNO t77GHZZ4$$ ::%  ! ((9zzT!((6::zzT!001CDzzT!00A $$\2 ,,->?::*DZZ4#DZZ4(D #D433D9: 	0'' ::% "	
 "	
r    )
__name__
__module____qualname____doc__countryobserved_label
start_yearr   r;   __classcell__)r   s   @r   r   r      s$    	 G$NJ*k
r    r   c                       e Zd Zy)r   Nr<   r=   r>    r    r   r   r          r    r   c                       e Zd Zy)ZAFNrE   rF   r    r   rI   rI      rG   r    rI   c                       e Zd ZdZdZdZdZedefedeffe	defe
defedefedefe
d	efed
efedeffedefedefedeffedefeddfedefedefedefdZde	defiZy)r   zLocal Government Electionsz,National and Provincial Government Electionsz%Public Holiday by Presidential DecreezY2K Changeover                              zMunicipal elections      )i    i  i  i  i  i  i  i  i  i  i  i  i  rW   N)r<   r=   r>   local_elections!national_and_provincial_electionspresidential_decree_holidayy2k_changeoverr   r
   r   r   r   r   r   r	   special_public_holidays special_public_holidays_observedrF   r    r   r   r      s   2O(V%"I%N !67"n%
 A~&B9:A'A23B9:"o&"12
 A89!_%"12
 A89A,-B34B34B9:18 	sA~&($r    r   N)holidays.calendars.gregorianr   r   r   r   r   r   r	   r
   holidays.groupsr   r   r   holidays.observed_holiday_baser   r   r   r   rI   r   rF   r    r   <module>ra      sU    P O O T T OE
%'8:OQ_ E
P	 		+ 	& &r    