A;\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]The Schedule datatype ^_The  InitialMoment datatype The Moment/ class is for representing a instance in time.  Instances of Moment% can be derived for any user-defined A datatype for which can satisfy the minimal complete definition. Minimal complete definition: , ,  ,   ,  ,  ,  ,   Provide a default moment.  Convert a Moment into a DateTime  Convert a DateTime into a Moment Produce a new Moment& offset by a given number of seconds. Produce a new Moment% offset by a given number of months. Produce a new Moment$ offset by a given number of years. Possibly produce a new Moment* shifted to a different week of the year. Possibly produce a new Moment) shifted to a different day of the year. The 'alter*'0 methods can potentially produce invalid dates. For each user-defined Moment instance the definitions of  ,  ,   and   will determine if an altered Moment that lands on an invalid date * in the given calendar will be reduced to Nothing Possibly produce a new Moment+ shifted to a different second of the day. Possibly produce a new Moment+ shifted to a different minute of the day. Possibly produce a new Moment) shifted to a different hour of the day. Possibly produce a new Moment* shifted to a different day of the month. Possibly produce a new Moment+ shifted to a different month of the year. Possibly produce a new Moment shifted to a different year. Produce a new Moment in the future ocurring at (interval * freq) Produce a new Moment in the past ocurring at (-interval * freq) `abcde Frequency data type fghijklDateTime data type 3 This is a componentized version of a time value  simmilar to a ' struct tm'  !"Symbolic months. *TODO: Move this to a more general library #$%&'()*+,-./Symbolic week days. +Note: The first Day of the Week is Monday + TODO: Move this to a more general library 012345678mnopqr9Default initial moments :;<=>?s)Produce an infinite list from an initial Moment and a step function. tuu is a Schedule of all future moments derived  from the  InitialMoment vv# goes in the opposite direction of u ww produces a period from beg to end xx generalizes w by allowing an explicit  starting moment @@- produces all days in the year starting with m AA6 produces all days in the current month starting with m BB5 produces all days in the current week starting with m yNormalize an bounded index  Pass an upper-bound ub and an index idx  Converts idx   0 into valid 'idx'  0 or  Nothing zCC, applied to a predicate and a Schedule , returns a Schedule / of those moments that statisfy the predicate. {|DEFGHIJ}KK$, takes an expansion function and a Schedule, and maps the & expansion function over the moments. 3 Each moment is then replaced with its expansions. ~LMNOPQRSS runs a schedule with a given init and rule r TT is like S but it takes no rules U InitialMoment defaults for UTCTime VWXYZ[Instance of the Moment class defined for the UTCTime datatype. \  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\/6543210".-,+*)('&%$#  !789:;<=>?UVWXYZ[@ABCDEFGHIJKROPQNMLST\    ! !" .-,+*)('&%$##$%&'()*+,-./65432100123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^__`aabcdefghijklmnopqrstuvwxyz{|}~time-recurrence-0.4.2Data.Time.Recurrence InitialMoment frequencyinterval startOfWeekmomentMomentepoch toDateTime fromDateTime scaleTime scaleMonth scaleYearalterWeekNumber alterYearDay alterSecond alterMinute alterHouralterDay alterMonth alterYearnextprevDateTimedtSeconddtMinutedtHourdtDaydtMonthdtYear dtWeekDay dtYearDay dtTimeZoneMonthDecemberNovemberOctober SeptemberAugustJulyJuneMayAprilMarchFebruaryJanuaryWeekDaySundaySaturdayFridayThursday WednesdayTuesdayMonday toInterval toStartOfWeeksecondlyminutelyhourlydailyweeklymonthlyyearlyenumYear enumMonthenumWeekrestrict bySeconds byMinutesbyHours byWeekDays byMonthDaysbyMonths byYearDaysexpand onEachYear onEachMonth onEachWeekonMonths onMonthDays onYearDays onWeekNumbersrepeatSchedulerepeatSchedule' secondlyUTC minutelyUTC hourlyUTCdailyUTC weeklyUTC monthlyUTC yearlyUTCRecurringScheduleSchedule fromSchedule StartOfWeekfromStartOfWeekInterval FrequencyYearsMonthsWeeksDaysHoursMinutesSeconds oneSecond oneMinuteoneHouroneDayoneWeekmkIMiterateMoments enumMomentsenumFutureMomentsenumPastMoments enumPeriodenumPeriodFrom normIndex mapNormIndexbyby' concatMapMonon'onEach$fMomentUTCTime