
    x7#hB                         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 d dlmZmZmZmZ  G d deee      Z G d d	e      Z G d
 de      Zy)    )gettext)APRTHU
_timedelta_get_nth_weekday_of_month)HALF_DAYOPTIONALPUBLIC)ChristianHolidaysInternationalHolidays)ObservedHolidayBaseMON_ONLYTUE_TO_NONESAT_TO_NONEc                       e Zd ZdZdZdZdZdZi dddd	d
dddddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d.d/d0d1Ze	e
efZd2Z fd3Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zd? Zd@ ZdA ZdB ZdC ZdD ZdE Z dF Z!dG Z"dH Z#dI Z$dJ Z%dK Z&dL Z'dM Z(dN Z)dO Z*dP Z+dQ Z,dR Z-dS Z.dT Z/dU Z0dV Z1dW Z2dX Z3dY Z4 xZ5S )ZSwitzerlanda$  Switzerland holidays.

    References:
        * <https://www.bj.admin.ch/dam/bj/de/data/publiservice/service/zivilprozessrecht/kant-feiertage.pdf>
        * <https://de.wikipedia.org/wiki/Feiertage_in_der_Schweiz>
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Switzerland>
    CHdei	  )AGAIARBEBLBSFRGEGLGRJULUNENWOWSGSHSOSZTGTIURVDVSZGZHAargaur   zAppenzell Innerrhodenr   zAppenzell Ausserrhodenr   Bernr   BernezBasel-Landschaftr   zBasel-Stadtr   Freiburgr   Fribourgu   Genèver   Glarusr   u   Graubündenr   GrigioniGrischunJurar   Luzernr    u
   Neuchâtelr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   )	NidwaldenObwaldenzSankt GallenSchaffhausen	SolothurnSchwyzThurgauTicinoUriVaudValaisWallisZugu   Zürich)r   en_USfritukc                 x    t        j                  |        t        j                  |        t        |   |i | y )N)r   __init__r   super)selfargskwargs	__class__s      ^/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/switzerland.pyrJ   zSwitzerland.__init__a   s1    ""4(&&t,$)&)    c                     | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             y )NNeujahrstagAuffahrtNationalfeiertagWeihnachten)_add_new_years_daytr_add_ascension_thursday_add_holiday_aug_1_add_christmas_dayrL   s    rP   _populate_public_holidaysz%Switzerland._populate_public_holidaysf   sT    = 12 	$$R
^4 	#5 67 	= 12rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             | j                  t        d
             y )NBerchtoldstag
KarfreitagOstermontagTag der ArbeitPfingstmontagFronleichnam   Mariä HimmelfahrtAllerheiligen   Mariä EmpfängnisStephanstag)_add_new_years_day_tworX   _add_good_friday_add_easter_monday_add_labor_day_add_whit_monday_add_corpus_christi_day_add_assumption_of_mary_day_add_all_saints_day_add_immaculate_conception_day_add_christmas_day_twor\   s    rP   #_populate_subdiv_ag_public_holidaysz/Switzerland._populate_subdiv_ag_public_holidayss   s    ##B$78 	b./ 	= 12 	B/01 	b12 	$$R%78 	((,@)AB 	  O!45 	++B/C,DE 	##B}$56rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  | j                  t        d            t        t        z          y )Nr`   ra   rc   rh   rule)rj   rX   rk   rm   _add_observedrr   r   r   r\   s    rP   #_populate_subdiv_ar_public_holidaysz/Switzerland._populate_subdiv_ar_public_holidays   sh    b./= 12b12''=(9:{AZ 	 	
rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  | j                  t        d            t        t        z   	       y )
Nr`   ra   rc   rd   re   rf   rg   rh   ru   )rj   rX   rk   rm   rn   ro   rp   rq   rw   rr   r   r   r\   s    rP   #_populate_subdiv_ai_public_holidaysz/Switzerland._populate_subdiv_ai_public_holidays   s    b./= 12b12$$R%78((,@)AB  O!45++B/C,DE''=(9:{AZ 	 	
rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y Nr`   ra   rb   rc   rh   rj   rX   rk   rl   rm   rr   r\   s    rP   #_populate_subdiv_bl_public_holidaysz/Switzerland._populate_subdiv_bl_public_holidays   b    b./= 12B/01b12##B}$56rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y r|   r}   r\   s    rP   #_populate_subdiv_bs_public_holidaysz/Switzerland._populate_subdiv_bs_public_holidays   r   rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nr_   r`   ra   rc   rh   )ri   rX   rj   rk   rm   rr   r\   s    rP   #_populate_subdiv_be_public_holidaysz/Switzerland._populate_subdiv_be_public_holidays   sa    ##B$78b./= 12b12##B}$56rQ   c                 8    | j                  t        d             y Nr`   rj   rX   r\   s    rP   #_populate_subdiv_fr_public_holidaysz/Switzerland._populate_subdiv_fr_public_holidays       b./rQ   c                     | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             y Nr_   ra   rc   rh   ri   rX   rk   rm   rr   r\   s    rP   %_populate_subdiv_fr_optional_holidaysz1Switzerland._populate_subdiv_fr_optional_holidays   N    ##B$78= 12b12##B}$56rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nr`   ra   rc   zGenfer BettagzWiederherstellung der Republik)rj   rX   rk   rm   '_add_holiday_4_days_past_1st_sun_of_sep_add_holiday_dec_31r\   s    rP   #_populate_subdiv_ge_public_holidaysz/Switzerland._populate_subdiv_ge_public_holidays   sf    b./= 12b12 	44R5HI 	  $D!EFrQ   c                    | j                   dk\  r`t        dt        t        | j                         }| j	                  t        d      |t        | j                  d      k(  rt        |d      n|       | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             | j                  t        d
             y )Ni+     u   Näfelser Fahrt   r`   ra   rc   rf   rh   )_yearr   r   r   _add_holidayrX   r   _easter_sundayrj   rk   rm   rp   rr   )rL   dts     rP   #_populate_subdiv_gl_public_holidaysz/Switzerland._populate_subdiv_gl_public_holidays   s    ::*1c3

CB$%&(Jt7J7JB,O&O
2r"UW 	b./= 12b12  O!45##B}$56rQ   c                 8    | j                  t        d             y Nr_   ri   rX   r\   s    rP   %_populate_subdiv_gl_optional_holidaysz1Switzerland._populate_subdiv_gl_optional_holidays       ##B$78rQ   c                     | j                  t        d             | j                  t        d             | j                  t        d             y )Nra   rc   rh   )rk   rX   rm   rr   r\   s    rP   #_populate_subdiv_gr_public_holidaysz/Switzerland._populate_subdiv_gr_public_holidays  s;    = 12b12##B}$56rQ   c                 8    | j                  t        d             y r   r   r\   s    rP   %_populate_subdiv_gr_optional_holidaysz1Switzerland._populate_subdiv_gr_optional_holidays  r   rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             y )
Nr_   r`   ra   rb   rc   rd   u   Fest der Unabhängigkeitre   rf   )
ri   rX   rj   rk   rl   rm   rn   _add_holiday_jun_23ro   rp   r\   s    rP   #_populate_subdiv_ju_public_holidaysz/Switzerland._populate_subdiv_ju_public_holidays  s    ##B$78b./= 12B/01b12$$R%78 	  $>!?@((,@)AB  O!45rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             y )
Nr_   r`   ra   rc   rd   re   rf   rg   rh   )
ri   rX   rj   rk   rm   rn   ro   rp   rq   rr   r\   s    rP   #_populate_subdiv_lu_public_holidaysz/Switzerland._populate_subdiv_lu_public_holidays  s    ##B$78b./= 12b12$$R%78((,@)AB  O!45++B/C,DE##B}$56rQ   c                    | j                  | j                  t        d            t               | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  | j                  t        d            t               y )Nr_   ru   z$Jahrestag der Ausrufung der Republikr`   rb   rd   rh   )	rw   ri   rX   r   _add_holiday_mar_1rj   rl   rn   rr   r\   s    rP   #_populate_subdiv_ne_public_holidaysz/Switzerland._populate_subdiv_ne_public_holidays2  s    ''?(;< 	 	
 	#I JKb./B/01$$R%78466r-7HIPXYrQ   c                 <   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             y )N	Josefstagr`   rd   re   rf   rg   )_add_saint_josephs_dayrX   rj   rn   ro   rp   rq   r\   s    rP   #_populate_subdiv_nw_public_holidaysz/Switzerland._populate_subdiv_nw_public_holidaysC  su    ##B{O4b./$$R%78((,@)AB  O!45++B/C,DErQ   c                     | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             y r   r   r\   s    rP   %_populate_subdiv_nw_optional_holidaysz1Switzerland._populate_subdiv_nw_optional_holidaysQ  r   rQ   c                 <   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             y )Nr`   rd   re   zBruder Klausrf   rg   )rj   rX   rn   ro   _add_holiday_sep_25rp   rq   r\   s    rP   #_populate_subdiv_ow_public_holidaysz/Switzerland._populate_subdiv_ow_public_holidaysZ  sx    b./$$R%78((,@)AB 	  N!34  O!45++B/C,DErQ   c                     | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             y r   r   r\   s    rP   %_populate_subdiv_ow_optional_holidaysz1Switzerland._populate_subdiv_ow_optional_holidaysh  r   rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nr`   ra   rc   rf   rh   )rj   rX   rk   rm   rp   rr   r\   s    rP   #_populate_subdiv_sg_public_holidaysz/Switzerland._populate_subdiv_sg_public_holidaysq  sa    b./= 12b12  O!45##B}$56rQ   c                 8    | j                  t        d             y r   r   r\   s    rP   %_populate_subdiv_sg_optional_holidaysz1Switzerland._populate_subdiv_sg_optional_holidays|  r   rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y r|   r}   r\   s    rP   #_populate_subdiv_sh_public_holidaysz/Switzerland._populate_subdiv_sh_public_holidays  r   rQ   c                 8    | j                  t        d             y r   r   r\   s    rP   %_populate_subdiv_sh_optional_holidaysz1Switzerland._populate_subdiv_sh_optional_holidays  r   rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             | j                  t        d
             y )N   Heilige Drei Königer   r`   ra   rc   rd   re   rf   rg   rh   )_add_epiphany_dayrX   r   rj   rk   rm   rn   ro   rp   rq   rr   r\   s    rP   #_populate_subdiv_sz_public_holidaysz/Switzerland._populate_subdiv_sz_public_holidays  s    r"89:##B{O4b./= 12b12$$R%78((,@)AB  O!45++B/C,DE##B}$56rQ   c                 8    | j                  t        d             y r   r   r\   s    rP   #_populate_subdiv_so_public_holidaysz/Switzerland._populate_subdiv_so_public_holidays  r   rQ   c                 8    | j                  t        d             y )Nrb   )rl   rX   r\   s    rP   %_populate_subdiv_so_half_day_holidaysz1Switzerland._populate_subdiv_so_half_day_holidays  s    B/01rQ   c                 8    | j                  t        d             y r   r   r\   s    rP   %_populate_subdiv_so_optional_holidaysz1Switzerland._populate_subdiv_so_optional_holidays  r   rQ   c                 <   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             y )Nr_   rb   r`   ra   rc   rh   )ri   rX   rl   rj   rk   rm   rr   r\   s    rP   #_populate_subdiv_tg_public_holidaysz/Switzerland._populate_subdiv_tg_public_holidays  su    ##B$78B/01b./= 12b12##B}$56rQ   c                 @   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             | j                  t        d
             | j                  t        d             y )Nr   r   ra   rb   rc   rd   zPeter und Paulre   rf   rg   rh   )r   rX   r   rk   rl   rm   rn   _add_saints_peter_and_paul_dayro   rp   rq   rr   r\   s    rP   #_populate_subdiv_ti_public_holidaysz/Switzerland._populate_subdiv_ti_public_holidays  s    r"89:##B{O4= 12B/01b12$$R%78 	++B/?,@A((,@)AB  O!45++B/C,DE##B}$56rQ   c                 D   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             | j                  | j                  t        d
            t        t        z          y )Nr   r   r`   ra   rc   rd   re   rf   rg   rh   ru   )r   rX   r   rj   rk   rm   rn   ro   rp   rq   rw   rr   r   r   r\   s    rP   #_populate_subdiv_ur_public_holidaysz/Switzerland._populate_subdiv_ur_public_holidays  s    r"89:##B{O4b./= 12b12$$R%78((,@)AB  O!45++B/C,DE''=(9:{AZ 	 	
rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nr_   r`   ra   rc   Bettagsmontag)ri   rX   rj   rk   rm   &_add_holiday_1_day_past_3rd_sun_of_sepr\   s    rP   #_populate_subdiv_vd_public_holidaysz/Switzerland._populate_subdiv_vd_public_holidays  sc    ##B$78b./= 12b12 	33B4GHrQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nr   rd   re   rf   rg   )r   rX   rn   ro   rp   rq   r\   s    rP   #_populate_subdiv_vs_public_holidaysz/Switzerland._populate_subdiv_vs_public_holidays  sb    ##B{O4$$R%78((,@)AB  O!45++B/C,DErQ   c                     | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             y r   r   r\   s    rP   %_populate_subdiv_vs_optional_holidaysz1Switzerland._populate_subdiv_vs_optional_holidays  r   rQ   c                    | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             y )Nr`   rd   re   rf   rg   )rj   rX   rn   ro   rp   rq   r\   s    rP   #_populate_subdiv_zg_public_holidaysz/Switzerland._populate_subdiv_zg_public_holidays  sc    b./$$R%78((,@)AB  O!45++B/C,DErQ   c                     | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             y r   r   r\   s    rP   %_populate_subdiv_zg_optional_holidaysz1Switzerland._populate_subdiv_zg_optional_holidays  r   rQ   c                 <   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             y )Nr_   r`   ra   rb   rc   rh   )ri   rX   rj   rk   rl   rm   rr   r\   s    rP   #_populate_subdiv_zh_public_holidaysz/Switzerland._populate_subdiv_zh_public_holidays  su    ##B$78b./= 12B/01b12##B}$56rQ   )6__name__
__module____qualname____doc__countrydefault_language
start_yearsubdivisionssubdivisions_aliasesr   r	   r
   supported_categoriessupported_languagesrJ   r]   rs   rx   rz   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__)rO   s   @rP   r   r      s    GJL8 $   	!$  		 
 	  	D  	t  	D  	D  	4  	$  	t  	D  	D  	   	$! " 	d# $ ? B %h7;*
37>	

&	7	7	707G7(9706(7&Z"F7F7	79	797,029770
.
I	F7	F77rQ   r   c                       e Zd Zy)r   Nr   r   r    rQ   rP   r   r   *      rQ   r   c                       e Zd Zy)CHENr   r   rQ   rP   r   r   .  r   rQ   r   N)r   rX   holidays.calendars.gregorianr   r   r   r   holidays.constantsr   r	   r
   holidays.groupsr   r   holidays.observed_holiday_baser   r   r   r   r   r   r   r   rQ   rP   <module>r      sM    " X X 9 9 D b bR7%'8:O R7j	 		+ 	rQ   