
    ih                        d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZmZ d dlmZmZmZ erd dl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)    )annotations)gettext)TYPE_CHECKING)MAR)BANKPUBLIC)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseTUE_WED_TO_PREV_MONTHU_FRI_TO_NEXT_MON)datec                  N     e Zd ZdZdZdZeefZdZ	dZ
 fdZd
dZd Zd	 Z xZS )Uruguaya[  Uruguay holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Uruguay>
        * [Law #6997](https://web.archive.org/web/20250419214344/http://www.impo.com.uy/diariooficial/1919/10/25/2)
        * [Decree Law #9000](https://web.archive.org/web/20231029150729/https://www.impo.com.uy/bases/decretos-ley/9000-1933)
        * [Decree Law #14977](https://web.archive.org/web/20231013033006/https://www.impo.com.uy/bases/decretos-ley/14977-1979)
        * [Decree Law #15535](https://web.archive.org/web/20210519002815/https://www.impo.com.uy/bases/decretos-ley/15535-1984/)
        * [Law #16805](https://web.archive.org/web/20241121064154/https://parlamento.gub.uy/documentosyleyes/leyes/ley/16805)
        * [Law #17414](https://web.archive.org/web/20241121064131/https://parlamento.gub.uy/documentosyleyes/leyes/ley/17414)
    UYes)en_USr   uki  c                    t        j                  |        t        j                  |        t        j                  | t               |j                  dt        t        z          t        |   |i | y )N)clsobserved_rule)	r	   __init__r
   r   UruguayStaticHolidays
setdefaultr   r   super)selfargskwargs	__class__s      Z/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/uruguay.pyr   zUruguay.__init__3   sY    ""4(&&t,*?@/+>AT+TU$)&)    c                X    d| j                   cxk  xr dk  nc xs | j                   dk\  S )Ni    i  )_yearr   dts     r!   _is_observedzUruguay._is_observed;   s$    tzz)T)?TZZ4-??r"   c                   | j                  t        d             | j                  dk  r| j                  t        d             | j	                  t        d            }| j                  dk  r| j                  |       | j                  dk  rh| j                  t        d             | j                  t        d             | j                  t        d	             | j                  t        d
             | j                  t        d             | j                  t        d             | j                  dk  r4| j                  t        d             | j                  t        d             | j                  dk  sd| j                  cxk  rdk  rn n| j                  t        d             | j                  t        d             y )Nu
   Año Nuevo  zGrito de Asenciou   Día de los Trabajadoresr$     u   Día de Españau   Día de Américau   Día de la Democraciau   Día de la Humanidadu   Jura de la Constituciónz Declaratoria de la Independenciau   Día de ItaliazCabildo Abiertoi  i  u   Día de las Playasu   Día de la Familia)_add_new_years_daytrr%   _add_holiday_feb_28_add_labor_day_move_holiday_add_holiday_may_2_add_holiday_may_25_add_holiday_jul_4_add_holiday_jul_14_add_holiday_jul_18_add_holiday_aug_25_add_holiday_sep_20_add_holiday_sep_21_add_holiday_dec_8_add_christmas_dayr&   s     r!   _populate_public_holidaysz!Uruguay._populate_public_holidays>   sq   < 01::$$R(:%;<   $>!?@::r"::##B'8$9: $$R(:%;< ##B'>$?@ $$R(>%?@ 	  $>!?@ 	  $F!GH::$$R(8%9: $$R(9%:;::!;t!;##B';$<= 	#7 89r"   c                   | j                  t        d             t        d      }| j                  |       | j                  |       | j                  dk  s| j                  dk\  r)| j                  | j                  t        d                   t        d      }| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       | j                  dk  s| j                  dk\  r)| j                  | j                  t        d	                   | j                  dk  s| j                  d
k\  r:| j                  t        d            }| j                  dk  r| j                  |       | j                  dk  s| j                  dk\  rC| j                  | j                  | j                  dk\  rt        d      n
t        d                   | j                  dk  s| j                  dk\  r<| j                  t        d            }| j                  dk  r| j                  |       y y y )Nu   Día de los NiñosCarnavalr*   i  zDesembarco de los 33 OrientaleszSemana de Turismor+   i  zBatalla de Las Piedrasi  zNatalicio de Artigasi  i  i  u   Día de la Diversidad Culturalu   Día de la Razai  u   Día de los Difuntos)_add_holiday_jan_6r-   _add_carnival_monday_add_carnival_tuesdayr%   r0   _add_holiday_apr_19 _add_holiday_6_days_prior_easter _add_holiday_5_days_prior_easter _add_holiday_4_days_prior_easter_add_holy_thursday_add_good_friday_add_holiday_may_18_add_holiday_jun_19_add_columbus_day_add_all_souls_day)r   namer'   s      r!   _populate_bank_holidayszUruguay._populate_bank_holidaysl   s   
 	#7 89 *~!!$'""4(::t!3t77;\8]^_ %&--d3--d3--d3%d#::t!3t77;S8TUV::t!3))"-C*DEBzzT!""2&::t!3&& zzT) 78 -. ::t!3((,B)CDBzzT!""2& " "4r"   )r'   r   returnbool)__name__
__module____qualname____doc__countrydefault_languager   r   supported_categoriessupported_languages
start_yearr   r(   r;   rL   __classcell__)r    s   @r!   r   r      s@    
 G &>/J*@,:\1'r"   r   c                      e Zd Zy)r   NrO   rP   rQ    r"   r!   r   r          r"   r   c                      e Zd Zy)URYNrZ   r[   r"   r!   r^   r^      r\   r"   r^   c            
      b    e Zd Z ed      Z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edefdZy)r   u-   Inauguración del Presidente de la República   )i  i  i  i  i  i  i  i  N)rO   rP   rQ   r-   presidential_inauguration_dayr   special_public_holidaysr[   r"   r!   r   r      sn    $&'V$W!A45A45A45A45A45A45A45A45	r"   r   N)
__future__r   r   r-   typingr   holidays.calendars.gregorianr   holidays.constantsr   r   holidays.groupsr	   r
   r   holidays.observed_holiday_baser   r   r   datetimer   r   r   r^   r   r[   r"   r!   <module>rj      sh    # !   , + T T  ~'!#46K^ ~'B	 		' 	 r"   