# QUARTZ patterns, one feature per section. Each is run from every start in
# `generate_fixtures.py` (CATALOGUE_STARTS), twelve runs chained, and must give exactly the
# times Java db-scheduler gives - or be refused exactly where Java refuses or would throw.
# Lines starting with # are comments; everything else is a pattern, verbatim.

# --- the day-of-week numbers: 1 is Sunday ------------------------------------------------------
0 0 12 ? * 1
0 0 12 ? * 2
0 0 12 ? * 3
0 0 12 ? * 4
0 0 12 ? * 5
0 0 12 ? * 6
0 0 12 ? * 7
0 0 12 ? * 0
0 0 12 ? * 8
0 0 12 ? * SUN
0 0 12 ? * MON
0 0 12 ? * TUE
0 0 12 ? * WED
0 0 12 ? * THU
0 0 12 ? * FRI
0 0 12 ? * SAT
0 0 12 ? * mon
0 0 12 ? * Fri
0 0 12 ? * MONDAY
0 0 12 ? * SUN,SAT
0 0 12 ? * 1,7
0 0 12 ? * 2,4,6
0 0 12 ? * MON,WED,FRI
0 0 12 ? * MON,3,FRI
0 0 12 ? * *
0 0 12 ? * */1

# --- day-of-week ranges, wrapping or not -------------------------------------------------------
0 0 12 ? * 2-6
0 0 12 ? * MON-FRI
0 0 12 ? * 1-7
0 0 12 ? * SUN-SAT
0 0 12 ? * 3-3
0 0 12 ? * 6-2
0 0 12 ? * FRI-MON
0 0 12 ? * 7-1
0 0 12 ? * SAT-SUN
0 0 12 ? * 7-2
0 0 12 ? * 2-6,1
0 0 12 ? * 6-2,4

# --- day-of-week steps ------------------------------------------------------------------------
0 0 12 ? * 1/2
0 0 12 ? * 2/2
0 0 12 ? * 2/3
0 0 12 ? * 7/2
0 0 12 ? * 1/7
0 0 12 ? * 1/8
0 0 12 ? * 1/0
0 0 12 ? * */2
0 0 12 ? * */3
0 0 12 ? * */7
0 0 12 ? * MON/2
0 0 12 ? * 2-6/2
0 0 12 ? * MON-FRI/2
0 0 12 ? * MON-FRI/3
0 0 12 ? * 1-7/3
0 0 12 ? * 6-2/2
0 0 12 ? * FRI-MON/2
0 0 12 ? * 1-5/MON
0 0 12 ? * /2

# --- day-of-week #: the k-th such day of the month --------------------------------------------
0 0 12 ? * 2#1
0 0 12 ? * 2#2
0 0 12 ? * 2#3
0 0 12 ? * 2#4
0 0 12 ? * 2#5
0 0 12 ? * 6#3
0 0 12 ? * 1#5
0 0 12 ? * 7#5
0 0 12 ? * FRI#3
0 0 12 ? * MON#1
0 0 12 ? * 6#6
0 0 12 ? * 6#7
0 0 12 ? * 6#8
0 0 12 ? * 6#0
0 0 12 ? * 8#1
0 0 12 ? * #3
0 0 12 ? * 6#
0 0 12 ? * 6#3#2
0 0 12 ? * 6#3,2
0 0 12 ? * 6#3,2#1
0 0 12 ? * 2#1,2#3,2#5
0 0 12 ? * 6#3,6L
0 0 12 ? * 2-3,6#2

# --- day-of-week L ----------------------------------------------------------------------------
0 0 12 ? * L
0 0 12 ? * 1L
0 0 12 ? * 2L
0 0 12 ? * 6L
0 0 12 ? * 7L
0 0 12 ? * FRIL
0 0 12 ? * SUNL
0 0 12 ? * SATL
0 0 12 ? * monL
0 0 12 ? * 0L
0 0 12 ? * 8L
0 0 12 ? * L-1
0 0 12 ? * L-2
0 0 12 ? * L-7
0 0 12 ? * L-8
0 0 12 ? * 6L,2
0 0 12 ? * L,2
0 0 12 ? * 2L,6L
0 0 12 ? * 5LL
0 0 12 ? * LFRI
0 0 12 ? * 5-L
0 0 12 ? * L-5
0 0 12 ? * 6W
0 0 12 ? * LW

# --- day-of-month plain ------------------------------------------------------------------------
0 0 12 1 * ?
0 0 12 15 * ?
0 0 12 28 * ?
0 0 12 29 * ?
0 0 12 30 * ?
0 0 12 31 * ?
0 0 12 0 * ?
0 0 12 32 * ?
0 0 12 * * ?
0 0 12 1,15 * ?
0 0 12 1-5 * ?
0 0 12 25-31 * ?
0 0 12 29-31 * ?
0 0 12 28-3 * ?
0 0 12 31-1 * ?
0 0 12 28-3,10 * ?
0 0 12 1/10 * ?
0 0 12 5/7 * ?
0 0 12 31/2 * ?
0 0 12 */10 * ?
0 0 12 1-15/3 * ?
0 0 12 20-10/3 * ?
0 0 12 30 2 ?
0 0 12 31 4,6,9,11 ?
0 0 12 29 2 ?

# --- day-of-month L, L-n, nL ------------------------------------------------------------------
0 0 12 L * ?
0 0 12 L-1 * ?
0 0 12 L-2 * ?
0 0 12 L-3 * ?
0 0 12 L-15 * ?
0 0 12 L-27 * ?
0 0 12 L-28 * ?
0 0 12 L-29 * ?
0 0 12 L-30 * ?
0 0 12 L-31 * ?
0 0 12 L-0 * ?
0 0 12 L-32 * ?
0 0 12 15L * ?
0 0 12 1L * ?
0 0 12 L 2 ?
0 0 12 L-1 2 ?
0 0 12 L 2 ? 2028
0 0 12 L-MON * ?

# --- day-of-month W and LW ---------------------------------------------------------------------
0 0 12 1W * ?
0 0 12 2W * ?
0 0 12 15W * ?
0 0 12 27W * ?
0 0 12 28W * ?
0 0 12 29W * ?
0 0 12 30W * ?
0 0 12 31W * ?
0 0 12 29W 1,3,5,7,8,10,12 ?
0 0 12 30W 4,6,9,11 ?
0 0 12 31W 1,3,5,7,8,10,12 ?
0 0 12 29W 2 ? 2028
0 0 12 0W * ?
0 0 12 32W * ?
0 0 12 W * ?
0 0 12 LW * ?
0 0 12 LW 2 ?
0 0 12 5LW * ?
0 0 12 LW5 * ?
0 0 12 LWLW * ?
0 0 12 15WW * ?
0 0 12 W15 * ?

# --- day-of-month lists with specials: L dropped, W read as plain ------------------------------
0 0 12 L,15 * ?
0 0 12 15,L * ?
0 0 12 L-3,15 * ?
0 0 12 LW,15 * ?
0 0 12 15W,L * ?
0 0 12 15W,1 * ?
0 0 12 15W,16W * ?
0 0 12 L,LW * ?
0 0 12 15L,1 * ?
0 0 12 1-5,L * ?
0 0 12 ?,5 * ?
0 0 12 5-L * ?
0 0 12 L-3/2 * ?

# --- exactly one of the day fields is ? -------------------------------------------------------
0 0 12 * * *
0 0 12 ? * ?
0 0 12 1 * MON
0 0 12 L * 6L
0 0 12 ? ? *
0 0 12 * ? ?
0 0 12 ?,1 * ?
0 0 12 ? * ?,2
0 0 12 ? * 2,?

# --- seconds, minutes, hours -------------------------------------------------------------------
* * * * * ?
0 * * * * ?
30 * * * * ?
0-5 * * * * ?
55-5 * * * * ?
*/7 * * * * ?
5/15 * * * * ?
59/2 * * * * ?
0/60 * * * * ?
0/59 * * * * ?
1,2,3 * * * * ?
1-5/2/3 * * * * ?
0 0/5 14,18 * * ?
0 15 10 * * ?
0 0 * * * ?
0 0 22-2 * * ?
0 50-10 * * * ?
0 0 22-2,5 * * ?
0 0 22-2,23-1 * * ?
0 0 23-1/2 * * ?
0 0 */5 * * ?
0 0 0/24 * * ?
0 0 12/0 * * ?
60 * * * * ?
0 60 * * * ?
0 0 24 * * ?
-1 * * * * ?
0 0 9-17 * * ?
0 */20 9-17 * * ?

# --- months ------------------------------------------------------------------------------------
0 0 12 1 1 ?
0 0 12 1 12 ?
0 0 12 1 JAN ?
0 0 12 1 dec ?
0 0 12 1 JAN-MAR ?
0 0 12 1 JAN-MAR/2 ?
0 0 12 1 NOV-FEB ?
0 0 12 1 12-2 ?
0 0 12 1 */5 ?
0 0 12 1 2/3 ?
0 0 12 1 FEB,AUG ?
0 0 12 1 13 ?
0 0 12 1 0 ?
0 0 12 1 JANUARY ?
0 0 12 ? JAN-JUN MON

# --- years -------------------------------------------------------------------------------------
0 0 12 1 * ? 2027
0 0 12 1 * ? 2026-2027
0 0 12 1 * ? 2027/2
0 0 12 1 * ? 2026,2028
0 0 12 1 * ? 2030-2027
0 0 12 1 * ? 1969
0 0 12 1 * ? 2100
0 0 12 1 * ? 1970
0 0 12 1 * ? 2099
0 0 12 1 * ? *
0 0 12 1 * ? */10
0 0 12 1 1 ? 2005
0 0 12 ? * MON 2027
0 0 12 L * ? 2028-2030

# --- the start's fraction, and runs every second -----------------------------------------------
0 0 12 * * ?
0-1 0 12 * * ?
0-2 0 12 * * ?
* 0 12 * * ?
*/2 * * * * ?
0,1 0 12 * * ?

# --- far away: 2099, and the 100-year limit ----------------------------------------------------
0 0 12 1 1 ? 2099
0 0 12 31 12 ? 2099
0 0 12 1 1 ? 2075
0 0 12 1 1 ? 2086
0 0 12 29 2 ? 2096
0 0 12 ? * 2#5 2099

# --- several patterns: || and | ---------------------------------------------------------------
0 0 12 ? * MON || 0 30 18 ? * FRI
0 0 12 ? * MON||0 0 12 ? * MON
0 0 12 * * ? || 0 0 12 * * ? || 0 0 13 * * ?
0 0 12 * * ? ||
|| 0 0 12 * * ?
0 0 12 * * ? |||| 0 0 13 * * ?
0 0 12 * * ? || garbage
0|30 0 12 * * ?
0 0 12|18 ? * MON|FRI
0 0 12 1|15 * ?
0 0 12 1|15|20 * ?
0 0 12 1|15 * ?|?
0 0 12 * * ?|*
0 0 12| * * ?
0 0 |12 * * ?
0 0 12 * * ? | 0 0 13 * * ?
* * * * * ? || 0 0 12 * * ?
* * * * * ? || 1 0 12 * * ?
1 0 12 * * ? || * * * * * ?

# --- the shape of the text --------------------------------------------------------------------
  0 0 12 * * ?
0 0 12 * * ?
0  0  12  *  *  ?
0	0	12	*	*	?
0 0 12 * * ? 2027 1
0 0 12 * *
0 0 12 * * ?,
0 0 12 1, * ?
0 0 12 ,1 * ?
0 0 12 1,,2 * ?
@daily
@hourly
 @daily

# --- leftovers Java ignores, and pieces it refuses ---------------------------------------------
0 0 12 ? * 2-3-4
0 0 12 1-5-7 * ?
0 0 12 1--5 * ?
0 0 12 -5 * ?
0 0 12 5- * ?
0 0 12 5/ * ?
0 0 12 /5 * ?
0 0 12 */ * ?
0 0 12 ** * ?
0 0 12 +5 * ?
0 0 12 05 * ?
0 0 12 007 * ?
0 0 12 99999999999 * ?
0 0 12 1-5/ * ?
0 0 12 1-5/2/3 * ?
0 0 12 1/2/3 * ?
0 0 12 X * ?
0 0 12 1-? * ?
0 0 12 ?5 * ?
0 0 12 5? * ?
0 0 12 L/2 * ?
0 0 12 L- * ?
0 0 12 5-W * ?
0 0 12 5-LW * ?
0 0 12 5-HASH * ?
0 0 12 5-QUESTION_MARK * ?
0 0 12 ? * 5-HASH
0 0 12 1 JAN-L ?
5L * * * * ?
5W * * * * ?
L * * * * ?
LW * * * * ?
0 0 12 1 * ? L
? * * * * ?
1,? * * * * ?
0 ?,5 * * * ?
0 0 12 1 ? ?
0 0 12 1 1,? ?
0 0 12 1 * ? ?
0 0 12 1 * ? 2027,?
0 0 12 6#3 * ?
