# encoding: utf-8
module Holidays
  # This file is generated by the Ruby Holidays gem.
  #
  # Definitions loaded: definitions/at.yaml, definitions/be_fr.yaml, definitions/be_nl.yaml, definitions/ch.yaml, definitions/cz.yaml, definitions/dk.yaml, definitions/de.yaml, definitions/es.yaml, definitions/fr.yaml, definitions/gb.yaml, definitions/gr.yaml, definitions/hr.yaml, definitions/hu.yaml, definitions/ie.yaml, definitions/is.yaml, definitions/it.yaml, definitions/li.yaml, definitions/lt.yaml, definitions/lv.yaml, definitions/nl.yaml, definitions/no.yaml, definitions/pl.yaml, definitions/pt.yaml, definitions/ro.yaml, definitions/sk.yaml, definitions/si.yaml, definitions/bg.yaml, definitions/ua.yaml
  #
  # All the definitions are available at https://github.com/holidays/holidays
  module EUROPE # :nodoc:
    def self.defined_regions
      [:at, :be_fr, :be_nl, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :ch_vs, :ch, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_mv, :de_by_cath, :de_by_augsburg, :de_th, :de_bb, :de_hb, :de_hh, :de_ni, :de_sh, :es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :es, :es_ct, :es_v, :es_vc, :fr_a, :fr_m, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy, :gb_sct, :gb_con, :im, :gb_iom, :gr, :hr, :hu, :ie, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :li, :lt, :lv, :nl, :no, :pl, :pt, :pt_li, :pt_po, :ro, :sk, :si, :bg_en, :bg_bg, :ua]
    end

    def self.holidays_by_month
      {
                0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:at]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:at]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:at]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:at]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Pâques", :regions => [:be_fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lundi de Pâques", :regions => [:be_fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Ascension", :regions => [:be_fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pentecôte", :regions => [:be_fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lundi de Pentecôte", :regions => [:be_fr]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Pasen", :regions => [:be_nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paasmaandag", :regions => [:be_nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "O.H. Hemelvaart", :regions => [:be_nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pinksteren", :regions => [:be_nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pinkstermaandag", :regions => [:be_nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Karfreitag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Auffahrt", :regions => [:ch]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ne, :ch_ju]},
            {:function => "ch_vd_lundi_du_jeune_federal(year)", :function_arguments => [:year], :name => "Lundi du Jeûne fédéral", :regions => [:ch_vd]},
            {:function => "ch_ge_jeune_genevois(year)", :function_arguments => [:year], :name => "Jeûne genevois", :regions => [:ch_ge]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Velký pátek", :regions => [:cz]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Velikonoční pondělí", :regions => [:cz]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -49, :type => :informal, :name => "Fastelavn", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :type => :informal, :name => "Palmesøndag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skærtorsdag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Påskedag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. påskedag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 26, :year_ranges => { :until => 2023 },:name => "Store Bededag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pinsedag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. Pinsedag", :regions => [:dk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Karfreitag", :regions => [:de]},
            {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Ostersonntag", :regions => [:de]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:de]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:de]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :type => :informal, :name => "Pfingstsonntag", :regions => [:de]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:de]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -52, :type => :informal, :name => "Weiberfastnacht", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :type => :informal, :name => "Rosenmontag", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :type => :informal, :name => "Aschermittwoch", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Jueves Santo", :regions => [:es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Viernes Santo", :regions => [:es]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunes de Pascua", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lunes de Pascua Granada", :regions => [:es_ct]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Vendredi saint", :regions => [:fr_a, :fr_m]},
            {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Pâques", :regions => [:fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lundi de Pâques", :regions => [:fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Ascension", :regions => [:fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pentecôte", :regions => [:fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :type => :informal, :name => "Lundi de Pentecôte", :regions => [:fr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -21, :type => :informal, :name => "Mothering Sunday", :regions => [:gb]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:gb]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:gb]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Μεγάλη Παρασκευή", :regions => [:gr]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Μεγάλο Σάββατο", :regions => [:gr]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Κυριακή του Πάσχα", :regions => [:gr]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Δευτέρα του Πάσχα", :regions => [:gr]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Καθαρά Δευτέρα", :regions => [:gr]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Αγίου Πνεύματος", :regions => [:gr]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Uskrs", :regions => [:hr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Tijelovo", :regions => [:hr]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2017 },:name => "Nagypéntek", :regions => [:hu]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvéthétfő", :regions => [:hu]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösdhétfő", :regions => [:hu]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ie]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Bolludagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Sprengidagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :name => "Öskudagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :name => "Pálmasunnudagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skírdagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Föstudaginn langi", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Páskadagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Annar í páskum", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Uppstigningardagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Hvítasunnudagur", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Annar í hvítasunnu", :regions => [:is]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Pasqua", :regions => [:it]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunedì dell'Angelo", :regions => [:it]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Fasnachtsdienstag", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Karfreitag", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Ostern", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Auffahrt", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:li]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Šv. Velykos", :regions => [:lt]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Antroji Velykų diena", :regions => [:lt]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Lielā Piektdiena", :regions => [:lv]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Pirmās Lieldienas", :regions => [:lv]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Otrās Lieldienas", :regions => [:lv]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Vasarsvētki", :regions => [:lv]},
            {:function => "lv_song_and_dance_festival_end_date(year)", :function_arguments => [:year], :year_ranges => { :from => 2018 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Vispārējo latviešu Dziesmu un deju svētku noslēguma diena", :regions => [:lv]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Goede Vrijdag", :regions => [:nl]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Eerste Paasdag", :regions => [:nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Tweede Paasdag", :regions => [:nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Hemelvaartsdag", :regions => [:nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Eerste Pinksterdag", :regions => [:nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Tweede Pinksterdag", :regions => [:nl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -49, :type => :informal, :name => "Fastelavn", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :name => "Palmesøndag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skjærtorsdag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "1. påskedag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. påskedag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "1. pinsedag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. pinsedag", :regions => [:no]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -52, :type => :informal, :name => "Tłusty Czwartek", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :type => :informal, :name => "Ostatki", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :type => :informal, :name => "Środa Popielcowa", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :type => :informal, :name => "Niedziela Palmowa", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :type => :informal, :name => "Wielki Czwartek", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Wielki Piątek", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -1, :type => :informal, :name => "Wielka Sobota", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Niedziela Wielkanocna", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Poniedziałek Wielkanocny (Lany Poniedziałek)", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Zesłanie Ducha Świętego (Zielone Świątki)", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Uroczystość Najświętszego Ciała i Krwi Pańskiej (Boże Ciało)", :regions => [:pl]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :type => :informal, :name => "Carnaval", :regions => [:pt]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Sexta-feira Santa", :regions => [:pt]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "Páscoa", :regions => [:pt]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Corpo de Deus", :regions => [:pt]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2018 },:name => "Paștele - Vinerea Mare", :regions => [:ro]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Paștele - duminică", :regions => [:ro]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paștele - luni", :regions => [:ro]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Rusaliile - 50", :regions => [:ro]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Rusaliile - 51", :regions => [:ro]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Veľkonočný pondelok", :regions => [:sk]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Veľký piatok", :regions => [:sk]},
            {:function => "easter(year)", :function_arguments => [:year], :name => "velikonočna nedelja", :regions => [:si]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "velikonočni ponedeljek", :regions => [:si]},
            {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "binkošti", :regions => [:si]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
            {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Великдень", :regions => [:ua]},
            {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Трійця", :regions => [:ua]}],
      1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
            {:mday => 6, :name => "Heilige Drei Könige", :regions => [:at]},
            {:mday => 1, :name => "Jour de l'an", :regions => [:be_fr]},
            {:mday => 1, :name => "Nieuwjaar", :regions => [:be_nl]},
            {:mday => 1, :name => "Neujahrstag", :regions => [:ch]},
            {:mday => 2, :name => "Berchtoldstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_sh, :ch_sg, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ju]},
            {:mday => 6, :name => "Dreikönigstag", :regions => [:ch_ur, :ch_sz, :ch_ti]},
            {:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]},
            {:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
            {:mday => 1, :name => "Neujahrstag", :regions => [:de]},
            {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]},
            {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Año Nuevo", :regions => [:es]},
            {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Reyes", :regions => [:es]},
            {:mday => 1, :name => "Jour de l'an", :regions => [:fr]},
            {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:gb]},
            {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]},
            {:mday => 1, :name => "Πρωτοχρονιά", :regions => [:gr]},
            {:mday => 6, :name => "Θεοφάνεια", :regions => [:gr]},
            {:mday => 1, :name => "Nova godina", :regions => [:hr]},
            {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]},
            {:mday => 1, :name => "Újév", :regions => [:hu]},
            {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ie]},
            {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
            {:mday => 6, :name => "Þrettándinn", :regions => [:is]},
            {:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]},
            {:mday => 1, :name => "Capodanno", :regions => [:it]},
            {:mday => 6, :name => "Epifania", :regions => [:it]},
            {:mday => 1, :name => "Neujahrstag", :regions => [:li]},
            {:mday => 6, :name => "Heilige Drei Könige", :regions => [:li]},
            {:mday => 1, :name => "Naujieji metai", :regions => [:lt]},
            {:mday => 1, :name => "Jaungada diena", :regions => [:lv]},
            {:mday => 1, :name => "Nieuwjaarsdag", :regions => [:nl]},
            {:mday => 1, :name => "Nyttårsdag", :regions => [:no]},
            {:mday => 1, :name => "Nowy Rok", :regions => [:pl]},
            {:function => "pl_trzech_kroli(year)", :function_arguments => [:year], :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
            {:function => "pl_trzech_kroli_informal(year)", :function_arguments => [:year], :type => :informal, :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
            {:mday => 21, :type => :informal, :name => "Dzień Babci", :regions => [:pl]},
            {:mday => 22, :type => :informal, :name => "Dzień Dziadka", :regions => [:pl]},
            {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
            {:mday => 1, :name => "Anul nou", :regions => [:ro]},
            {:mday => 2, :name => "Anul nou", :regions => [:ro]},
            {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]},
            {:mday => 1, :name => "Nový rok", :regions => [:sk]},
            {:mday => 6, :name => "Zjavenie Pána (Traja králi)", :regions => [:sk]},
            {:mday => 1, :name => "novo leto", :regions => [:si]},
            {:mday => 2, :name => "novo leto", :regions => [:si]},
            {:mday => 1, :name => "New Year's Day", :regions => [:bg_en]},
            {:mday => 1, :name => "Нова година", :regions => [:bg_bg]},
            {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Новий Рік", :regions => [:ua]},
            {:mday => 7, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
      5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]},
            {:mday => 1, :name => "Fête du travail", :regions => [:be_fr]},
            {:mday => 1, :name => "Feest van de Arbeid", :regions => [:be_nl]},
            {:mday => 1, :name => "Tag der Arbeit", :regions => [:ch_zh, :ch_bs, :ch_bl, :ch_sh, :ch_ag, :ch_tg, :ch_ti, :ch_ne, :ch_ju]},
            {:mday => 1, :name => "Svátek práce", :regions => [:cz]},
            {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
            {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
            {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
            {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
            {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]},
            {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día del Trabajador", :regions => [:es]},
            {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta de la Comunidad", :regions => [:es_m]},
            {:mday => 30, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Canarias", :regions => [:es_cn]},
            {:mday => 31, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región Castilla-La Mancha", :regions => [:es_cm]},
            {:mday => 1, :name => "Fête du travail", :regions => [:fr]},
            {:mday => 8, :name => "Victoire 1945", :regions => [:fr]},
            {:wday => 1, :week => 1, :year_ranges => { :until => 2019 },:name => "May Day", :regions => [:gb]},
            {:mday => 8, :year_ranges => { :limited => [2020] },:name => "May Day", :regions => [:gb]},
            {:mday => 8, :year_ranges => { :limited => [2023] },:name => "Bank Holiday for the Coronation of King Charles III", :regions => [:gb, :gb]},
            {:wday => 1, :week => 1, :year_ranges => { :from => 2021 },:name => "May Day", :regions => [:gb]},
            {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
            {:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Bank Holiday", :regions => [:gb]},
            {:wday => 1, :week => -1, :year_ranges => { :from => 2023 },:name => "Bank Holiday", :regions => [:gb]},
            {:mday => 1, :name => "Πρωτομαγιά", :regions => [:gr]},
            {:mday => 1, :name => "Praznik rada", :regions => [:hr]},
            {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]},
            {:mday => 1, :name => "A munka ünnepe", :regions => [:hu]},
            {:wday => 1, :week => 1, :name => "May Day", :regions => [:ie]},
            {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
            {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
            {:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
            {:mday => 21, :name => "Festa di San Zeno", :regions => [:it_vr]},
            {:mday => 1, :name => "Tag der Arbeit", :regions => [:li]},
            {:mday => 1, :name => "Darbininkų diena", :regions => [:lt]},
            {:mday => 1, :name => "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", :regions => [:lv]},
            {:mday => 4, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Neatkarības atjaunošanas diena", :regions => [:lv]},
            {:wday => 0, :week => 2, :name => "Mātes diena", :regions => [:lv]},
            {:mday => 29, :year_ranges => { :limited => [2023] },:name => "Diena, kad Latvijas hokeja komanda ieguva bronzas medaļu 2023. gada Pasaules hokeja čempionātā", :regions => [:lv]},
            {:mday => 4, :type => :informal, :name => "Dodenherdenking", :regions => [:nl]},
            {:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]},
            {:mday => 1, :name => "1. mai", :regions => [:no]},
            {:mday => 17, :name => "17. mai", :regions => [:no]},
            {:mday => 1, :name => "Święto Państwowe (Święto Pracy)", :regions => [:pl]},
            {:mday => 2, :type => :informal, :name => "Dzień Flagi Rzeczpospolitej Polskiej", :regions => [:pl]},
            {:mday => 3, :name => "Święto Narodowe Trzeciego Maja", :regions => [:pl]},
            {:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]},
            {:mday => 1, :name => "Ziua muncii", :regions => [:ro]},
            {:mday => 1, :name => "Sviatok práce", :regions => [:sk]},
            {:mday => 8, :name => "Deň víťazstva nad fašizmom", :regions => [:sk]},
            {:mday => 1, :name => "praznik dela", :regions => [:si]},
            {:mday => 2, :name => "praznik dela", :regions => [:si]},
            {:mday => 1, :name => "Labour Day", :regions => [:bg_en]},
            {:mday => 1, :name => "Ден на труда", :regions => [:bg_bg]},
            {:mday => 6, :name => "St. George's Day", :regions => [:bg_en]},
            {:mday => 6, :name => "Гергьовден. Ден на храбростта", :regions => [:bg_bg]},
            {:mday => 24, :name => "Slavic Literacy Day", :regions => [:bg_en]},
            {:mday => 24, :name => "Ден на славянската писменост", :regions => [:bg_bg]},
            {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День праці", :regions => [:ua]},
            {:mday => 2, :year_ranges => { :until => 2017 },:name => "День міжнародної солідарності трудящих", :regions => [:ua]},
            {:mday => 9, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День перемоги над нацизмом у Другій світовій війні", :regions => [:ua]}],
      8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at]},
            {:mday => 15, :name => "Assomption", :regions => [:be_fr]},
            {:mday => 15, :name => "O.L.V. Hemelvaart", :regions => [:be_nl]},
            {:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
            {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ju]},
            {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by_cath, :de_by_augsburg, :de_sl]},
            {:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]},
            {:mday => 15, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Asunción", :regions => [:es]},
            {:mday => 15, :name => "Assomption", :regions => [:fr]},
            {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
            {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
            {:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:gr]},
            {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
            {:mday => 15, :name => "Velika Gospa", :regions => [:hr]},
            {:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]},
            {:wday => 1, :week => 1, :name => "August Bank Holiday", :regions => [:ie]},
            {:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]},
            {:mday => 15, :name => "Assunzione", :regions => [:it]},
            {:mday => 15, :name => "Staatsfeiertag", :regions => [:li]},
            {:mday => 15, :name => "Žolinė", :regions => [:lt]},
            {:mday => 15, :name => "Wniebowzięcie Najświętszej Maryi Panny", :regions => [:pl]},
            {:mday => 15, :name => "Święto Wojska Polskiego", :regions => [:pl]},
            {:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]},
            {:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]},
            {:mday => 29, :name => "Výročie Slovenského národného povstania", :regions => [:sk]},
            {:mday => 15, :name => "Marijino vnebovzetje", :regions => [:si]},
            {:mday => 24, :year_ranges => { :from => 1992 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Незалежності", :regions => [:ua]}],
      10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]},
            {:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]},
            {:mday => 3, :year_ranges => { :from => 1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
            {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
            {:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
            {:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
            {:mday => 31, :year_ranges => { :from => 2018 },:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]},
            {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
            {:mday => 12, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Hispanidad", :regions => [:es]},
            {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:gr]},
            {:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]},
            {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
            {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
            {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
            {:mday => 5, :name => "Dia da República", :regions => [:pt]},
            {:mday => 31, :name => "dan reformacije", :regions => [:si]},
            {:mday => 14, :year_ranges => { :from => 2015 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День захисника України", :regions => [:ua]}],
      11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]},
            {:mday => 1, :name => "Toussaint", :regions => [:be_fr]},
            {:mday => 11, :name => "Armistice 1918", :regions => [:be_fr]},
            {:mday => 1, :name => "Allerheiligen", :regions => [:be_nl]},
            {:mday => 11, :name => "Wapenstilstand 1918", :regions => [:be_nl]},
            {:function => "ch_be_zibelemaerit(year)", :function_arguments => [:year], :name => "Zibelemärit", :regions => [:ch_be]},
            {:mday => 1, :name => "Allerheiligen", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_sg, :ch_ag, :ch_ti, :ch_vs, :ch_ju]},
            {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
            {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
            {:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
            {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :name => "Buß- und Bettag", :regions => [:de_sn]},
            {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Todos los Santos", :regions => [:es]},
            {:mday => 1, :name => "Toussaint", :regions => [:fr]},
            {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
            {:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
            {:mday => 30, :year_ranges => { :until => 2006 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
            {:mday => 30, :year_ranges => { :from => 2007 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]},
            {:mday => 1, :name => "Svi sveti", :regions => [:hr]},
            {:mday => 18, :year_ranges => { :from => 2020 },:name => "Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje", :regions => [:hr]},
            {:mday => 1, :name => "Mindenszentek", :regions => [:hu]},
            {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]},
            {:mday => 1, :name => "Ognissanti", :regions => [:it]},
            {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
            {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]},
            {:mday => 1, :name => "Allerheiligen", :regions => [:li]},
            {:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]},
            {:mday => 2, :name => "Mirusiųjų atminimo (Vėlinių) diena", :regions => [:lt]},
            {:mday => 18, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Proklamēšanas diena", :regions => [:lv]},
            {:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
            {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
            {:mday => 11, :name => "Narodowe Święto Niepodległości", :regions => [:pl]},
            {:mday => 29, :type => :informal, :name => "Andrzejki", :regions => [:pl]},
            {:mday => 1, :name => "Dia de Todos-os-Santos", :regions => [:pt]},
            {:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]},
            {:mday => 1, :name => "Sviatok všetkých svätých", :regions => [:sk]},
            {:mday => 17, :name => "Deň boja za slobodu a demokraciu", :regions => [:sk]},
            {:mday => 1, :name => "dan spomina na mrtve", :regions => [:si]},
            {:mday => 1, :name => "Revival Leader's Day", :regions => [:bg_en]},
            {:mday => 1, :name => "Ден на Народните будители", :regions => [:bg_bg]}],
      12 => [{:mday => 8, :name => "Mariä Empfängnis", :regions => [:at]},
            {:mday => 25, :name => "1. Weihnachtstag", :regions => [:at]},
            {:mday => 26, :name => "2. Weihnachtstag", :regions => [:at]},
            {:mday => 25, :name => "Noël", :regions => [:be_fr]},
            {:mday => 25, :name => "Kerstmis", :regions => [:be_nl]},
            {:mday => 8, :name => "Maria Empfängnis", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_ai, :ch_ag, :ch_ti, :ch_vs]},
            {:mday => 25, :name => "Weihnachten", :regions => [:ch]},
            {:mday => 26, :name => "Stefanstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vs, :ch_ne]},
            {:mday => 31, :name => "Restauration de la République", :regions => [:ch_ge]},
            {:mday => 24, :name => "Štědrý den", :regions => [:cz]},
            {:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]},
            {:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]},
            {:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
            {:mday => 24, :type => :informal, :name => "Juleaftensdag", :regions => [:dk]},
            {:mday => 25, :name => "1. juledag", :regions => [:dk]},
            {:mday => 26, :name => "2. juledag", :regions => [:dk]},
            {:mday => 24, :type => :informal, :name => "Heilig Abend", :regions => [:de]},
            {:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
            {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]},
            {:mday => 31, :type => :informal, :name => "Silvester", :regions => [:de]},
            {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Constitución", :regions => [:es]},
            {:mday => 8, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Inmaculada Concepción", :regions => [:es]},
            {:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Navidad del Señor", :regions => [:es]},
            {:mday => 26, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San Esteban", :regions => [:es_ib, :es_ct]},
            {:mday => 25, :name => "Noël", :regions => [:fr]},
            {:mday => 26, :name => "Saint-Étienne", :regions => [:fr_a, :fr_m]},
            {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:gb]},
            {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:gb]},
            {:mday => 25, :name => "Χριστούγεννα", :regions => [:gr]},
            {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:gr]},
            {:mday => 25, :name => "Božić", :regions => [:hr]},
            {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]},
            {:mday => 25, :name => "Karácsony", :regions => [:hu]},
            {:mday => 26, :name => "Karácsony", :regions => [:hu]},
            {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ie]},
            {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "St. Stephen's Day", :regions => [:ie]},
            {:mday => 24, :name => "Jól", :regions => [:is]},
            {:mday => 25, :name => "Jól", :regions => [:is]},
            {:mday => 26, :name => "Jól", :regions => [:is]},
            {:mday => 31, :name => "Gamlárskvöld", :regions => [:is]},
            {:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
            {:mday => 25, :name => "Natale", :regions => [:it]},
            {:mday => 26, :name => "Santo Stefano", :regions => [:it]},
            {:mday => 8, :name => "Maria Empfängnis", :regions => [:li]},
            {:mday => 24, :name => "Heilig Abend", :regions => [:li]},
            {:mday => 25, :name => "Weihnachten", :regions => [:li]},
            {:mday => 26, :name => "Stefanstag", :regions => [:li]},
            {:mday => 31, :name => "Silvester", :regions => [:li]},
            {:mday => 24, :name => "Šv. Kūčios", :regions => [:lt]},
            {:mday => 25, :name => "Šv. Kalėdos", :regions => [:lt]},
            {:mday => 26, :name => "Antroji Kalėdų diena", :regions => [:lt]},
            {:mday => 24, :name => "Ziemassvētku vakars", :regions => [:lv]},
            {:mday => 25, :name => "Pirmie Ziemassvētki", :regions => [:lv]},
            {:mday => 26, :name => "Otrie Ziemassvētki", :regions => [:lv]},
            {:mday => 31, :name => "Vecgada diena", :regions => [:lv]},
            {:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
            {:mday => 25, :name => "Eerste Kerstdag", :regions => [:nl]},
            {:mday => 26, :name => "Tweede Kerstdag", :regions => [:nl]},
            {:mday => 24, :type => :informal, :name => "Julaften", :regions => [:no]},
            {:mday => 25, :name => "1. juledag", :regions => [:no]},
            {:mday => 26, :name => "2. juledag", :regions => [:no]},
            {:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]},
            {:mday => 4, :type => :informal, :name => "Barbórka (Dzień Górnika, Naftowca i Gazownika)", :regions => [:pl]},
            {:mday => 6, :type => :informal, :name => "Mikołajki", :regions => [:pl]},
            {:mday => 24, :type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
            {:mday => 25, :name => "pierwszy dzień Bożego Narodzenia", :regions => [:pl]},
            {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
            {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]},
            {:mday => 1, :name => "Restauração da Independência", :regions => [:pt]},
            {:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
            {:mday => 25, :name => "Natal", :regions => [:pt]},
            {:mday => 1, :name => "Ziua Națională", :regions => [:ro]},
            {:mday => 25, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
            {:mday => 26, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
            {:mday => 24, :name => "Štedrý deň", :regions => [:sk]},
            {:mday => 25, :name => "1. sviatok vianočný", :regions => [:sk]},
            {:mday => 26, :name => "2. sviatok vianočný", :regions => [:sk]},
            {:mday => 25, :name => "božič", :regions => [:si]},
            {:mday => 26, :name => "dan samostojnosti in enotnosti", :regions => [:si]},
            {:mday => 24, :name => "Christmas Eve", :regions => [:bg_en]},
            {:mday => 24, :name => "Бъдни вечер", :regions => [:bg_bg]},
            {:mday => 25, :name => "Christmas", :regions => [:bg_en]},
            {:mday => 25, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
            {:mday => 26, :name => "Christmas", :regions => [:bg_en]},
            {:mday => 26, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
            {:mday => 25, :year_ranges => { :from => 2017 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
      7 => [{:mday => 21, :name => "Fête nationale", :regions => [:be_fr]},
            {:mday => 21, :name => "Nationale Feestdag", :regions => [:be_nl]},
            {:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
            {:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]},
            {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Santiago Apostol", :regions => [:es_ga]},
            {:mday => 14, :name => "Fête nationale", :regions => [:fr]},
            {:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
            {:mday => 12, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Battle of the Boyne", :regions => [:gb_nir]},
            {:mday => 6, :name => "Valstybės diena", :regions => [:lt]},
            {:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]},
            {:mday => 16, :year_ranges => { :limited => [1991] },:name => "День Незалежності України", :regions => [:ua]}],
      3 => [{:mday => 1, :name => "Instauration de la République", :regions => [:ch_ne]},
            {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]},
            {:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
            {:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]},
            {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Islas Baleares", :regions => [:es_ib]},
            {:mday => 19, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San José", :regions => [:es_v, :es_vc, :es_cm, :es_mu, :es_m]},
            {:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
            {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:gb_nir]},
            {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:gr]},
            {:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]},
            {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:ie]},
            {:mday => 19, :name => "St. Josef", :regions => [:li]},
            {:mday => 11, :name => "Nepriklausomybės atkūrimo diena", :regions => [:lt]},
            {:mday => 8, :type => :informal, :name => "Dzień Kobiet", :regions => [:pl]},
            {:mday => 10, :type => :informal, :name => "Dzień Mężczyzn", :regions => [:pl]},
            {:mday => 3, :name => "Liberation Day", :regions => [:bg_en]},
            {:mday => 3, :name => "Освобожението на България", :regions => [:bg_bg]},
            {:mday => 8, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Міжнародний жіночий день", :regions => [:ua]}],
      4 => [{:function => "ch_gl_naefelser_fahrt(year)", :function_arguments => [:year], :name => "Näfelser Fahrt", :regions => [:ch_gl]},
            {:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
            {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
            {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
            {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Castilla y León", :regions => [:es_cl]},
            {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San Jorge, Día de Aragón", :regions => [:es_ar]},
            {:function => "is_sumardagurinn_fyrsti(year)", :function_arguments => [:year], :name => "Sumardagurinn fyrsti", :regions => [:is]},
            {:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
            {:mday => 25, :name => "Festa di San Marco Evangelista", :regions => [:it_ve]},
            {:mday => 27, :name => "Festa di San Liberale", :regions => [:it_tv]},
            {:mday => 27, :name => "Koningsdag", :regions => [:nl]},
            {:mday => 1, :type => :informal, :name => "Prima Aprilis", :regions => [:pl]},
            {:mday => 22, :type => :informal, :name => "Międzynarodowy Dzień Ziemi", :regions => [:pl]},
            {:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]},
            {:mday => 27, :name => "dan upora proti okupatorju", :regions => [:si]}],
      6 => [{:mday => 23, :name => "Commémoration du plébiscite jurassien", :regions => [:ch_ju]},
            {:mday => 29, :name => "San Pietro e Paolo", :regions => [:ch_ti]},
            {:mday => 5, :type => :informal, :name => "Grundlovsdag", :regions => [:dk]},
            {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
            {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
            {:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
            {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región de Murcia", :regions => [:es_mu]},
            {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de La Rioja", :regions => [:es_lo]},
            {:mday => 24, :name => "San Juan", :regions => [:es_ct, :es_vc]},
            {:mday => 2, :year_ranges => { :limited => [2022] },:name => "Bank Holiday", :regions => [:gb]},
            {:mday => 3, :year_ranges => { :limited => [2022] },:name => "Platinum Jubilee", :regions => [:gb]},
            {:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
            {:mday => 25, :year_ranges => { :until => 2019 },:name => "Dan državnosti", :regions => [:hr]},
            {:wday => 1, :week => 1, :name => "June Bank Holiday", :regions => [:ie]},
            {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
            {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
            {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
            {:mday => 13, :name => "Festa di Sant'Antonio di Padova", :regions => [:it_pd]},
            {:mday => 24, :name => "Festa di San Giovanni Battista", :regions => [:it_fi, :it_ge, :it_to]},
            {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]},
            {:mday => 24, :name => "Joninės", :regions => [:lt]},
            {:mday => 23, :name => "Līgo diena", :regions => [:lv]},
            {:mday => 24, :name => "Jāņu diena", :regions => [:lv]},
            {:mday => 23, :type => :informal, :name => "Dzień Ojca", :regions => [:pl]},
            {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]},
            {:mday => 13, :name => "Dia de Santo António", :regions => [:pt_li]},
            {:mday => 24, :name => "Dia de São João", :regions => [:pt_po]},
            {:mday => 1, :year_ranges => { :from => 2017 },:name => "Ziua Copilului", :regions => [:ro]},
            {:mday => 25, :name => "dan državnosti", :regions => [:si]},
            {:mday => 28, :year_ranges => { :from => 1997 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Конституції", :regions => [:ua]}],
      9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
            {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]},
            {:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
            {:mday => 20, :year_ranges => { :from => 2019 },:name => "Weltkindertag", :regions => [:de_th]},
            {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Ceuta", :regions => [:es_ce]},
            {:mday => 8, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Asturias", :regions => [:es_o]},
            {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
            {:mday => 11, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]},
            {:mday => 24, :name => "La Mercè", :regions => [:es_ct]},
            {:mday => 19, :year_ranges => { :limited => [2022] },:name => "Bank Holiday for the State Funeral of Queen Elizabeth II", :regions => [:gb]},
            {:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]},
            {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
            {:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]},
            {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
            {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
            {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]},
            {:mday => 6, :name => "Unification Day", :regions => [:bg_en]},
            {:mday => 6, :name => "Ден на Съединението", :regions => [:bg_bg]},
            {:mday => 22, :name => "The Independence Day", :regions => [:bg_en]},
            {:mday => 22, :name => "Ден на Независимостта", :regions => [:bg_bg]}],
      2 => [{:mday => 28, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Andalucía", :regions => [:es_an]},
            {:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]},
            {:mday => 2, :name => "Maria Lichtmess", :regions => [:li]},
            {:mday => 16, :name => "Valstybės atkūrimo diena", :regions => [:lt]},
            {:mday => 2, :type => :informal, :name => "Ofiarowanie Pańskie (Matki Boskiej Gromnicznej)", :regions => [:pl]},
            {:mday => 14, :type => :informal, :name => "Dzień Zakochanych (Walentynki)", :regions => [:pl]},
            {:mday => 8, :name => "Prešernov dan, slovenski kulturni praznik", :regions => [:si]}]
      }
    end

    def self.custom_methods
      {
          "ch_vd_lundi_du_jeune_federal(year)" => Proc.new { |year|
date = Date.civil(year,9,1)
# Find the first Sunday of September
until date.wday.eql? 0 do
  date += 1
end
# There are 15 days between the first Sunday
# and the Monday after the third Sunday
date + 15
},

"ch_ge_jeune_genevois(year)" => Proc.new { |year|
date = Date.civil(year,9,1)
# Find the first Sunday of September
until date.wday.eql? 0 do
  date += 1
end
# Thursday is four days after Sunday
date + 4
},

"ch_gl_naefelser_fahrt(year)" => Proc.new { |year|
date = Date.civil(year,4,1)
# Find the first Thursday of April
until date.wday.eql? 4 do
  date += 1
end

if date.eql?(Holidays::Factory::DateCalculator::Easter::Gregorian.easter_calculator.calculate_easter_for(year)-3)
  date += 7
end
date
},

"ch_be_zibelemaerit(year)" => Proc.new { |year|
date = Date.civil(year,11,1)
# Find the first Monday of November
until date.wday.eql? 1 do
  date += 1
end
# There are 21 days between the first monday
# and the 4rth Monday after
date + 21
},

"de_buss_und_bettag(year)" => Proc.new { |year|
date = Date.civil(year,11,23)
if date.wday > 3
  date -= (date.wday - 3)
else
  date -= (date.wday + 4)
end
date
},

"is_sumardagurinn_fyrsti(year)" => Proc.new { |year|
date = Date.civil(year,4,18)
if date.wday < 4
  date += (4 - date.wday)
else
  date += (11 - date.wday)
end
date
},

"lv_song_and_dance_festival_end_date(year)" => Proc.new { |year|
case year
when 2018
  # https://likumi.lv/ta/id/281541 (Ministru kabineta rīkojums Nr. 252 "Par XXVI Vispārējo latviešu dziesmu un XVI Deju svētku norises laiku")
  Date.new(2018, 7, 8)
when 2023
  # https://likumi.lv/ta/id/330067 (Ministru kabineta rīkojums Nr. 92 "Par XXVII Vispārējo latviešu dziesmu un XVII Deju svētku norises laiku")
  Date.new(2023, 7, 9)
when 2028
  # Event's period/next year is known, but precise dates aren't.
  # Previously, dates were announced 2 years ahead, so on ~2026-05 this method would need to be revisited.
end
},

"pl_trzech_kroli(year)" => Proc.new { |year|
year >= 2011 ? 6 : nil
},

"pl_trzech_kroli_informal(year)" => Proc.new { |year|
year < 2011 ? 6 : nil
},


      }
    end
  end
end
