3+=s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr NoneNone$stuv wxyz{|}~   stuv   wxyz{|}~None Safe-Inferred%The error type used as meta-data for Fail in all WAI predicates.HTTP status codeoptional status messageoptional reason for this erroroptional source of this errooptional free-text labels !"#$%&'()* !"#$%&'()*&'()* !"#$% !"#$%&'()*None(=+,-./012+,-./012+,-./012+,-./012 Safe-InferredJK3;A data-type for combining results of predicate evaluations.5flip ($)4 - useful in combination with indexed access, e.g. (x ::: True ::: False)#_2 yields True.3456789:;<=>?@ABCDEFGHI3456789:;<=>?@ABCDEFGHI3456789:;<=>?@ABCDEFGHI34  Safe-InferredJKMA -like type where each branch--Fail and Okay--carries some metadata.JKLMNOPQRSTUVWXJKLMNOPQRSTUVWXJKLMONPQRSTUVWX Safe-InferredJK Y0A predicate is a function of some value of type a to a M , i.e. a -like value with N as  and O as 0, which carries additional data in each branch.Z!A predicate which always returns Okay# with the given value as metadata.\!A predicate which always returns Fail# with the given value as metadata.^JA predicate corresponding to the logical AND connective of two predicate._mA predicate corresponding to the logical OR connective of two predicates. It requires the metadata of each Okay branch to be of the same type.If both arguments evaluate to Okay\ the one with the smaller "delta" will be preferred, or--if equal--the left-hand argument.`aA predicate corresponding to the logical OR connective of two predicates. The metadata of each Okay" branch can be of different types.If both arguments evaluate to Okay\ the one with the smaller "delta" will be preferred, or--if equal--the left-hand argument.a Alias of ^.b Alias of _.c Alias of `. YZ[\]^_`abcd23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd2YZ\[]^_`abcdMONPQRJKLSTUVWX3456789:;<=>?@ABCDEFGHI YZ[\]^_`abcdabc None(=e +,-./012ee None(=f +,-./012ffNoneghijklmnopqr] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrighjklmnopqefrghijklmnopqr   !"#$%&'()*+,-./01234567789:;<=>>?@ABCDEFGHIJKLMNOPQRS T T U V W X Y Z [ \ ] ^ _ ` abcdefghijklm n opqrstuvwxyz{|}~<"  wai-predicates-0.8Network.Wai.Predicate.UtilityNetwork.Wai.Predicate.RequestNetwork.Wai.Predicate.ErrorNetwork.Wai.Predicate.MediaTypeData.PredicateNetwork.Wai.Predicate&Network.Wai.Predicate.Parser.MediaTypeData.Predicate.ProductData.Predicate.ResultNetwork.Wai.Predicate.AcceptNetwork.Wai.Predicate.Content readValues&ReqHasVault requestVaultHasPathsegmentsHasQuery queryItems HasCookiescookies HasHeadersheaders HasMethodmethod HasRequest getRequest fromRequest lookupHeader lookupSegment lookupCookie lookupQueryErrorstatusmessagereasonsourcelabelsReason TypeError NotAvailableerr setStatus setMessage setReason setSourceaddLabel isReasonOfe400e405e406e415e500MediarawType rawSubTypes mediaQuality mediaParams mediaType mediaSubType:::#hdtl_1_2_3_4_5_6_7_8_9_1'_2'_3'_4'_5'_6'_7'_8'_9'ResultT runResultTResultOkayFailresult fromEithertoEitherresultTresultT' mapResultT hoistResultokaythrowF PredicateconstanttruefailurefalseandororElse.&..|.|||execaccept contentTypedefoptrequestqueryhasQueryheader hasHeadersegment hasSegmentcookie hasCookie fromVault_request_cookies _segments getHeaders splitSegments $fHasVaultReq $fHasPathReq$fHasCookiesReq$fHasQueryRequest $fHasQueryReq$fHasHeadersRequest$fHasHeadersReq$fHasMethodRequest$fHasMethodReq$fHasRequestReq MediaTypemedType medSubtype medQuality medParamsreadMediaTypesparseMediaTypes mediaTypesparamstypsubtypkeyvaltoDoublespacestrimoneofghc-prim GHC.TypesBool$fMonadIOResultT$fMonadTransResultT$fMonadResultT$fApplicativeResultT$fFunctorResultT $fMonadResult$fApplicativeResult$fFunctorResultTrueFalse findMediaTypefindContentType notAvailable typeError