# SPDX-License-Identifier: MIT
# Holiday file for Canada
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Canada.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/ca/

OMIT 1 January MSG %"New Year's Day%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Good Friday%" %! %b.
REM Monday 18 May ADDOMIT SCANFROM -28 MSG %"Victoria Day%" %! %b.
OMIT 1 July MSG %"Canada Day%" %! %b.
REM 2 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Canada Day (observed)%" %! %b.
REM 3 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Canada Day (observed)%" %! %b.
REM First Monday in September ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
OMIT 30 September MSG %"National Day for Truth and Reconciliation%" %! %b.
REM 1 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"National Day for Truth and Reconciliation (observed)%" %! %b.
REM 2 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"National Day for Truth and Reconciliation (observed)%" %! %b.
REM Second Monday in October ADDOMIT SCANFROM -28 MSG %"Thanksgiving Day%" %! %b.
OMIT 11 November MSG %"Remembrance Day%" %! %b.
REM 12 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Remembrance Day (observed)%" %! %b.
REM 13 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Remembrance Day (observed)%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
OMIT 26 December MSG %"Boxing Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 1] MSG %"Boxing Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.
