
    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
mZ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 d dlmZmZmZmZm Z  erd dl!m"Z"  eed	ed
ed
ed	ed
ed
ed	i      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)VIETNAMESE_CALENDAR)JANFEBAPRMAYSEPDECMONTUEWEDTHUFRISATSUN
_timedelta)ChineseCalendarHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseObservedRuleSAT_TO_PREV_WORKDAYSUN_TO_NEXT_WORKDAYSAT_SUN_TO_NEXT_WORKDAY)date   c                  l     e Zd ZdZdZ ed      Z ed      Z ed      ZdZ	dZ
 fdZdd	Zd
 Z xZS )Vietnama  Vietnam holidays.

    References:
        * [Labor Code 1994 (Art. 73) (en)](https://web.archive.org/web/20160630110506/http://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835)
        * [Labor Code 2012 (Art. 115) (en)](https://web.archive.org/web/20240706232343/http://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013)
        * [Labor Code 2012 (Art. 115) (vi)](https://web.archive.org/web/20240917113133/https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615)
        * [Labor Code 2019 (Art. 112) (en)](https://web.archive.org/web/20250108181808/https://vbpl.vn/TW/pages/vbpqen-toanvan.aspx?ItemID=11135)
        * [Labor Code 2019 (Art. 112) (vi)](https://web.archive.org/web/20250221171552/https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264)
    VNu   %s (dự kiến)u   %s (nghỉ bù, dự kiến)u   %s (nghỉ bù)vi)en_USthr#   c                   t        j                  | t               t        j                  |        t	        j                  | t
               |j                  dt               |j                  dd       t        |   |i | y )N)calendarobserved_ruleobserved_sincei  )	r   __init__r   r   r   VietnamStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      Z/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/vietnam.pyr*   zVietnam.__init__G   sg    ((8KL&&t,&;</+BC*D1$)&)    c                   | j                   dk  ry t        d      t        d      t        d      t        d      d}t        d| j                   dk\  rd	nd
      D ]i  }t        ||      }| j	                  || j                   dk\  rt
        t        z   nt              }||k7  sH| j                  |||z
  j                     |       k y )Ni  u   29 Tết   Mùng bốn Tết Nguyên Đánu   Mùng năm Tết Nguyên Đánu   Mùng sáu Tết Nguyên Đán)         r     r8   r7     )rule)
_yeartrranger   _get_observed_dater   r   r   _add_holidaydays)r.   dt_lny	day_namesdeltadtdt_observeds         r2   _add_lunar_new_year_observedz$Vietnam._add_lunar_new_year_observedO   s    :: :342323	
	 2DJJ$$6qA>EFE*B11 zzT) (*==0 2 K b !!{V399: ?r3   c                   t               }|j                  | j                  t        d                   | j	                  t        d             | j                  t        d            }| j                  t        d             | j                  t        d             | j                  dk\  r| j                  t        d             | j                  dk\  r)|j                  | j                  t        d	                   |j                  | j                  t        d
                   |j                  | j                  t        d                   t        d      }|j                  | j                  |      x}       | j                  dk\  r&| j                  || j                  |t                      | j"                  r#| j%                  |       | j'                  |       y y )Nu   Tết Dương lịchu   Giao thừa Tết Nguyên Đánu   Tết Nguyên Đánu   Mùng hai Tết Nguyên Đánu   Mùng ba Tết Nguyên Đánr:   r5   i  u   Ngày Giỗ Tổ Hùng Vươngu   Ngày Chiến thắngu   Ngày Quốc tế Lao độngu   Quốc khánhi  )setadd_add_new_years_dayr>   _add_chinese_new_years_eve_add_chinese_new_years_day_add_chinese_new_years_day_two _add_chinese_new_years_day_threer=   _add_chinese_new_years_day_four_add_hung_kings_day_add_holiday_apr_30_add_labor_day_add_holiday_sep_2rA   r@   NATIONAL_DAY_RULEobservedrH   _populate_observed)r.   dts_observedlnynamesep_2s        r2   _populate_public_holidaysz!Vietnam._populate_public_holidaysm   s   u 	004J1KLM 	''+L(MN --b1F.GH 	++B/N,OP 	--b1O.PQ::004U1VW::T55b9Y6Z[\ 	11"5L2MNO 	,,R0O-PQR /"$"9"9$"??@::dD$;$;ECT$UV==--c2##L1 r3   )rC   r   returnNone)__name__
__module____qualname____doc__countryr>   estimated_labelobserved_estimated_labelobserved_labeldefault_languagesupported_languagesr*   rH   r]   __classcell__)r1   s   @r2   r!   r!   2   sL     G+,O!"@A)*N/*<(2r3   r!   c                      e Zd Zy)r"   Nr`   ra   rb    r3   r2   r"   r"          r3   r"   c                      e Zd Zy)VNMNrl   rm   r3   r2   rp   rp      rn   r3   rp   c                      e Zd ZdZ ed      Z ed      Zededfededfe	de
dfe
de	d	fed
edffededdfededfe	de	dffededdfe	de
dfe	de
dfdZy)r+   a  Vietnam special holidays.

    References:
        * [2018-2019](https://web.archive.org/web/20250427182343/https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx)
        * [2024](https://web.archive.org/web/20241002165957/https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx)
    z%d/%m/%Yu    Ngày nghỉ (thay cho ngày %s)      r8            r      r;               r9     )i  i  r:   r;   i  i  r|   i  N)r`   ra   rb   rc   r>   substituted_date_formatsubstituted_labelr   r   r	   r
   r   r   special_public_holidaysrm   r3   r2   r+   r+      s     !n=> BR BQBQ!S"!S!

 !S"d#"c2"c2

 BQ%BQBQr3   r+   N)(
__future__r   r   r>   typingr   holidays.calendars.chineser   holidays.calendars.gregorianr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   holidays.groupsr   r   r   holidays.observed_holiday_baser   r   r   r   r   datetimer   rV   r!   r"   rp   r+   rm   r3   r2   <module>r      s    # !   :     [ Z   #r3CS"c2sTVX[]_!`a c2!#:<QSa c2L	 		' 	 r3   