Îõ³h&’¡†      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ „ …  Safe-Inferred Çconditional-restriction-parser AST representation of time span.conditional-restriction-parser&AST representation of a weekday range.conditional-restriction-parser0AST representation of a selector sequence (e.g. "24/7", "We-Su 18:00-20:00"). conditional-restriction-parser,AST representation of a time selector (e.g. "18:00-20:00, 21:00-03:00"). conditional-restriction-parser/AST representation of a weekday selector (e.g.  "Sa-Di, Th"). conditional-restriction-parser&AST representation of a rule sequence.conditional-restriction-parserType of opening hour rule.conditional-restriction-parser%First rule or rules separated by ";".conditional-restriction-parserRules separated by ",".conditional-restriction-parserÎOpening hour state. True/False if known to be open/closed, Nothing if unknown.conditional-restriction-parser2AST representation of opening hours. Not complete.conditional-restriction-parserA comparison operator.conditional-restriction-parser"AST representation of a condition.conditional-restriction-parserAn Ï condition. When evaluating, the given time must be within those opening hours.conditional-restriction-parser#A comparison. Looks something like "weight > 3.0"conditional-restriction-parserAn absolute condition, e.g. "wet",  "disabled".conditional-restriction-parserìAST representation of a conditional restriction expression, containing a value and conditions for that value!conditional-restriction-parser0AST representation of a conditional restriction.#conditional-restriction-parser×A single token. Is used to represent values of any kind that the parser does not touch. conditional-restriction-parser The valueconditional-restriction-parser;The conditions. All conditions must be met when evaluating.$   !"#$#!"      Safe-Inferred æ 8conditional-restriction-parser)Input data value, corresponding to input <s.9conditional-restriction-parserBoolean value, e.g. "true".:conditional-restriction-parserNumber value, e.g. "3.0".;conditional-restriction-parserTime value, e.g. "2022-05-10 18:00".<conditional-restriction-parserInput data type.=conditional-restriction-parserBoolean type, e.g. value "true".>conditional-restriction-parserNumber type, e.g. value "3.0".?conditional-restriction-parserTime type, e.g. value "2022-05-10 18:00".@conditional-restriction-parser)An identifier, identifying a value, e.g. "weight". 89:;<=>?@ @<=>?89:; Safe-Inferred ÕEconditional-restriction-parserThe E type consists of an error type e and a success type a.Hconditional-restriction-parserE equivalent to  .EFGHEFGH Safe-Inferredã}Oconditional-restriction-parser&A generic parser. Takes an input type i and returns an output type a.OQPRSTUVWXYZ[\OQPRSTUVWXYZ[\  Safe-Inferred¿OQOQ Safe-Inferred¤aconditional-restriction-parserParses 8s. See b, c and d for formats.bconditional-restriction-parser+Parses boolean values. Possible values are "true" and "false".cconditional-restriction-parserÃParses numbers. Values can be with or without decimal places, i.e. "5" or "5.34".dconditional-restriction-parser#Parses time and date in the format "YYYY-MM-DD hh:mm".abcdabcd Safe-Inferred,econditional-restriction-parserParse opening hours, e.g. "Di-Fr 08:00-20:00". efghijklmno efghijklmno  Safe-Inferredhee Safe-Inferredþpconditional-restriction-parser%Parse conditional restrictions, e.g. "90 @ 18:00-22:00; 50 @ wet".pqrstupqrstu Safe-Inferred0psps Safe-InferredZ!#89:;<=>?@OQaepsOQpsae!@89:;<=>?# Safe-InferredãÓvconditional-restriction-parserPlain text error message.wconditional-restriction-parserThe w+ function takes input data in the form of (@, 8) and a !! and returns the result of that !¼ when applied to the input data given. If data needed for the evaluation is missing or of the wrong type, it will return a list of error messages and a list of missing data types instead.Note that this function will accept incomplete data if it is enough to evaluate the expression, but will always return a complete list of needed data types.xconditional-restriction-parserThe x+ function takes input data in the form of (@, 8) and a ì and returns whether that condition is fulfilled. If some data is missing, it will return the missing data @ and <Î and if the given data is of the wrong type, it will return an error message.yconditional-restriction-parserThe y function returns wheter a † is within given 8. Unknown values count as not within the opening hours. vwxyz{|}~€‚ vwxyz{|}~€‚ Safe-Inferredvwxyvwxy  Safe-InferredÔ=ƒconditional-restriction-parser¿Takes a conditional restriction string and returns the data needed in order to evaluate this string. If the conditional restriction couldn't be parsed, an error message is returned instead.„conditional-restriction-parser†Takes a conditional restriction string and some input data. It returns the value as a token if any restriction condition was met, or ‡ otherwise. If there was a parsing error or a problem with the provided data, a list of error messages and a list of needed data is returned.…conditional-restriction-parserÞTakes a conditional restriction string and returns the corresponding AST. Take a look at the  ConditionalRestriction.Parse.AST module for AST manipulation.#89:;<=>?@EFGvƒ„…ƒ„…@89:;<=>?#EFGv Safe-InferredŒˆ‰Š‹ŒŽ !"#$$%&'()*+,-.//  0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxypz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ Ž  ‘’“”•–—˜™š›œžŸ=conditional-restriction-parser-0.1.0.4-HCV1IkMWOLxBY3mENjFGel ConditionalRestriction.Parse.AST&ConditionalRestriction.Parse.InputDataConditionalRestriction.Result/ConditionalRestriction.Internal.Parse.ParserLib,ConditionalRestriction.Parse.InputDataParser8ConditionalRestriction.Internal.Parse.OpeningHoursParser7ConditionalRestriction.Internal.Parse.RestrictionParser(ConditionalRestriction.Internal.EvaluateConditionalRestriction Data.Maybe fromMaybe&ConditionalRestriction.Parse.ParserLib/ConditionalRestriction.Parse.OpeningHoursParser.ConditionalRestriction.Parse.RestrictionParserConditionalRestriction.ParseConditionalRestriction.Evaluate$Paths_conditional_restriction_parserTimeSpanMomentSpan WeekdayRange SingleDay WdayRangeSelectorSequenceTwentyFourSeven WeekdaySelTimeSel WeekdayTime TimeSelectorWeekdaySelector RuleSequenceRuleTypeNormal AdditionalOHState OpeningHours ComparisonOpGtLtGtEqLtEqEq ConditionOH ComparisonAbsolute ExpressionToken$fEqConditionalRestriction$fShowConditionalRestriction$fEqExpression$fShowExpression $fEqCondition$fShowCondition$fEqOpeningHours$fShowOpeningHours$fEqRuleSequence$fShowRuleSequence$fEqSelectorSequence$fShowSelectorSequence $fEqTimeSpan$fShowTimeSpan$fEqWeekdayRange$fShowWeekdayRange $fEqRuleType$fShowRuleType$fEqComparisonOp$fShowComparisonOpValueVBoolVNumVTimeTypeTBoolTNumTTimeID $fEqValue $fShowValue$fEqType $fShowTypeResultErrOk fromResult $fMonadResult$fApplicativeResult$fBifunctorResult$fFunctorResult $fEqResult $fShowResultParserparsestranyOfnoneOfwswordtokdblbintendshortenstrip $fMonadParser$fAlternativeParser$fApplicativeParser$fFunctorParserpValuepBoolpNumpTime pOpeningHours pRuleSequence pRuleModifierpSelectorSequencepWeekdaySelector pTimeSelector pWeekdayRangepWday pTimeSpanpCommentpConditionalRestriction pExpressionpMultipleConditions pCondition pCompOperator pIdentifierErrorMsgresultfulfillstimeInohTimestimeInSelectortimeExtendedInSelector addTimespansubtractTimespanexplicitExtendedmapDayscombineWeekdaysrange needsDataevaluateparseRestriction'hourglass-0.2.12-1IUxe5VtIZ61CrXyij6qrJ Time.TypesDateTimebase GHC.MaybeNothingversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir