!g3-      !"#$%&'()*+,None =?@APX`j-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None =?@APX`None =?@AEMPX`webbyVVarious kinds of errors thrown by this library - these can be caught by handler code.webbyZInternal type used to terminate handler processing by throwing and catching an exception.webby8Captures are simply extracted path elements in a HashMap webby3A route is a pair of a route pattern and a handler. webbyAA route pattern represents logic to match a request to a handler. webby;The main monad transformer stack used in the web-framework.@The type of a handler for a request is `WebbyM appEnv ()`. The appEnv parameter is used by the web application to store an (read-only) environment. For e.g. it can be used to store a database connection pool. webbyrThe reader environment used by the web framework. It is parameterized by the application's environment data type.webbydA data type to represent parts of the response constructed in the handler when servicing a request.'    None =?@APX`1( webbyIRetrieve the app environment given to the application at initialization.webbyRetrieve all path captureswebby-Retrieve a particular capture (TODO: extend?)webbyReturns an action that returns successive chunks of the rquest body. It returns an empty bytestring after the request body is consumed.#webby0Return the raw request body as a lazy bytestring'webbyUUse this function, to create a WAI application. It takes a user/application defined appEnv data type and a list of routes. Routes are matched in the given order. If none of the requests match a request, a default 404 response is returned.(webbyVCreate a route for a user-provided HTTP request method, pattern and handler function.)webbyNCreate a route for a POST request method, given the path pattern and handler.*webbyMCreate a route for a GET request method, given the path pattern and handler.+webbyMCreate a route for a PUT request method, given the path pattern and handler.,webbyKCreate a route for a DELETE request method, given path pattern and handler.! !"#$%&'()*+,None =?@APX`2+-  !"#$%&'()*+,- ()*+,$#!%"&'         !"#$%&'()*+,-./0123456789:5;<5;=5>?5>@56A56B56C89D5EF5EG5HI5JK5JL5JM56N5OP5OQ5OR5OS5OT5OU5OV5OW5OX5OY5OZ5O[8\]8\^8\_5`a5`b5`c5`d5`e5`f5`g5`h5`i5`j5`k5`l5`m5`n5`o5`p5`q5`r5Es5Et5Eu5Ev5Ew5Ex5Ey5Ez5E{5E|5E}5E~56565656565656555555558\8\8\8\8\8\8\8\55E5E5E5E5E5E5E5E5555555656565656565555555555555555556565656565656568888888885555555588885E5E8855555558885855  56 56 56 55656565656565656565O5O 56!56"5#$5#$5#%5&'5&(5&)5*+5*,5*-5*.5*.5*/5J051251351451556756856956:56;5<=5<>5?@5?A5HB5HC5HD5HE5HF5HG5HH5HI5HJ5HK5HL5HM5N5O5P5QR5QS5QS5QT5UV5WX5WX5WY5Z[5\]5\^5_`5_a5bc5bd5be5bf5bg5\h5ij5kl5mn5mo5pq5pr5ps5pt5uv5uv5uw5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555E5E5E5E5E5E5E5E55;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;555555555>5>5>55556565656565656 56 56 56 5 555p5p8\8\8\ !"#$%#$%#$&#'(#'()*+)*,)*-)*.)/0)/1)/234536736836936:36;36;36<36=3>?3>@34A34B34C34D34E34F34G34H34I34J34K34L34M34N34O34P34Q34R34S34T34U34V34W34X34Y34Z34[34\34]34^3_`3_a3_b3_c3_d3_e3_f3_g3_h3_i3_j3_k3_l3_m3_n3_o3_p3_q3_r3_s3_t3_u3_v3_w3_x3_y3_z3_{3_|3_}3_~3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_33333333333333333333333333333333333333333333333333333333####     #'############ #!#"###$#%&'(&')&'*&'+&',&'-&'.&'/&'0&'0&12&13&14&15&16&17&18&19&1:&1;&1<&1=&1>&?@&?A&?B&?C&DE&DF&DG&DH&IJ&IK&IL&IL&MN&MO&MP&MQ&RS&RT&RU&RV&RW&RX&RY&RZ&R[&R\&R]&R^&_`&_a&_b&_c&_d&_e&_f&_g&_h&_i&_j&_k&_l&_m&_n&_o&_p&_q&_r&st&su&sv&sw&sx&sy&sz&s{&|}&|~&|&|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#$#$'       !"#$%&'("webby-0.4.0-F5gQzkWS0WnK70XAPf2WUoWebbyPrelude Paths_webby Webby.Types Webby.Server"wai-3.2.2.1-JzBDibJJ3faLI9wezOeqvE Network.Wai ApplicationWebbyServerConfig WebbyErrorWebbyJSONParseErrorWebbyParamParseErrorWebbyMissingCapture wppeParamName wppeErrMsgCapturesRoute RoutePatternWebbyMWEnvdefaultWebbyServerConfig setRoutessetExceptionHandler getAppEnv runAppEnvcaptures getCapture setStatus addHeader setHeaderparamsflagparamparam_headerrequestgetRequestBodyChunkActionheadersrequestBodyLengthfinishblobtextrequestBodyLBSjsonDatajsonstream mkWebbyAppmkRoutepostgetputdeletebaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwisemap$coerceGHC.Real fromIntegral realToFrac Control.MonadguardGHC.ExtsIsListfromList fromListNjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexpsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnFunctorfmap<$GHC.NumNum+*-negate fromIntegerabssignumOrd>=minmax><compare<=GHC.ReadReadReal toRationalRealFracproperFractiontruncateroundceilingfloorGHC.ShowShowData.Typeable.InternalTypeableControl.Monad.Fail MonadFailfail Data.StringIsString fromString Applicative<*>pure*><*liftA2 Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldl'foldData.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGeneric GHC.TypeNatsKnownNatGHC.OverloadedLabelsIsLabel fromLabel Semigroup<>sconcatstimesMonoidmconcatmemptymappend GHC.TypesBoolFalseTrueCharDoubleD#FloatF#IntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeInteger GHC.NaturalNatural GHC.MaybeMaybeNothingJustOrderingLTEQGTRatioRationalIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherLeftRightType ConstraintNatCmpNat CoercibleGHC.Stack.Types CallStackbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$>'hashable-1.3.0.0-1RsrIcitxVDKffGN1TuMlmData.Hashable.ClassHashable hashWithSalt text-1.2.3.1Data.Text.InternalTextconst.id3unordered-containers-0.2.10.0-b9YJCQLkMeLUf311RZkQDData.HashMap.BaseHashMapcontainers-0.6.0.1Data.Map.InternalMapGHC.IO.Handle.TypesHandleString Alternativeempty<|>manysome MonadPlusmzeromplusboundedEnumFromThenboundedEnumFrommaxIntminIntData.Functor.ComposeCompose getCompose Data.VoidvacuousabsurdVoidData.Semigroup mtimesDefaultcycle1 WrappedMonoidOption getOptionsortWithData.Bifunctor BifunctorfirstsecondbimapData.List.NonEmptyinitlasttailheadnonEmptyGHC.ExecutionStackshowStackTrace getStackTraceControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM mapAccumR mapAccumLforMControl.ApplicativeoptionalZipList getZipList Control.Arrow&&&Data.Functor.IdentityIdentity runIdentity System.IOwithFileGHC.IO.Handle.FDstderrstdin GHC.StackwithFrozenCallStack callStack GHC.Conc.Sync writeTVarreadTVarnewTVarSTMTVarstdout GHC.IORefIORefGHC.IOFilePath GHC.ExceptionprettyCallStack prettySrcLocGHC.Exception.Type Exception toException fromExceptiondisplayExceptionData.Functor.ConstConstgetConstfindallanyorand concatMapconcatasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlM Data.MonoidFirstgetFirstLastgetLastData.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAlt someNatValnatValSomeNat Data.OldListunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupgenericReplicategenericSplitAt genericDrop genericTake genericLength transpose intercalate intersperse isPrefixOf Text.Read readMaybereads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDown Data.ProxyProxy GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteMode byteSwap64 byteSwap32 byteSwap16 Data.Bitsxor Data.Boolbool Data.Function&onfixvoid$><&>lcmgcd^^^oddeven denominator numeratorGHC.Charchrunzip3unzipzipWithzip3reversebreaksplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanrscanl Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurryGHC.MVarMVarsubtract GHC.Stack.CCScurrentCallStackasTypeOf$!flipordwhen=<<liftA3<**>NonEmpty:| getCallStack HasCallStackstimesIdempotentMonoid SomeException&&||notData.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Sequence.InternalSeqData.Set.InternalSetdeepseq-1.4.4.0Control.DeepSeqforce$!!deepseqNFDatarnftransformers-0.5.5.0Control.Monad.Trans.MaybeMaybeT runMaybeTControl.Monad.Trans.ExceptExceptT'formatting-6.3.7-3nAJq4aGUsODXBCe9rTpAxFormatting.ShortFormattersshstdtFormatting.Internalsformatformat%(http-types-0.12.3-A2cx1Lg5j0cKG76Sfj8L06Network.HTTP.Types.URIencodePathSegmentsRelativeNetwork.HTTP.Types.Versionhttp20http11http10http09 HttpVersion httpMajor httpMinorNetwork.HTTP.Types.QueryLike QueryLiketoQueryrenderQueryBuilderPartialEscaperenderQueryPartialEscape decodePath encodePath extractPathdecodePathSegmentsencodePathSegments urlDecode urlEncodeurlEncodeBuilderparseSimpleQuery parseQueryrenderSimpleQuery renderQueryrenderQueryBuildersimpleQueryToQueryparseQueryTextqueryToQueryTextrenderQueryTextqueryTextToQuery QueryItemQuery QueryTextSimpleQueryItem SimpleQuery EscapeItemQEQNPartialEscapeQueryItemPartialEscapeQueryNetwork.HTTP.Types.StatusstatusIsServerErrorstatusIsClientErrorstatusIsRedirectionstatusIsSuccessfulstatusIsInformational networkAuthenticationRequired511 status511httpVersionNotSupported505 status505gatewayTimeout504 status504serviceUnavailable503 status503 badGateway502 status502notImplemented501 status501internalServerError500 status500requestHeaderFieldsTooLarge431 status431tooManyRequests429 status429preconditionRequired428 status428unprocessableEntity422 status422 imATeapot418 status418expectationFailed417 status417requestedRangeNotSatisfiable416 status416unsupportedMediaType415 status415requestURITooLong414 status414requestEntityTooLarge413 status413preconditionFailed412 status412lengthRequired411 status411gone410 status410 conflict409 status409requestTimeout408 status408proxyAuthenticationRequired407 status407notAcceptable406 status406methodNotAllowed405 status405 notFound404 status404 forbidden403 status403paymentRequired402 status402unauthorized401 status401 badRequest400 status400permanentRedirect308 status308temporaryRedirect307 status307 useProxy305 status305notModified304 status304 seeOther303 status303found302 status302movedPermanently301 status301multipleChoices300 status300partialContent206 status206resetContent205 status205 noContent204 status204nonAuthoritative203 status203 accepted202 status202 created201 status201ok200 status200switchingProtocols101 status101 continue100 status100mkStatusStatus statusCode statusMessageNetwork.HTTP.Types.MethodrenderStdMethod renderMethod parseMethod methodPatch methodOptions methodConnect methodTrace methodDelete methodPut methodHead methodPost methodGetMethod StdMethodGETPOSTHEADPUTDELETETRACECONNECTOPTIONSPATCHNetwork.HTTP.Types.HeaderparseByteRangesrenderByteRangesrenderByteRangesBuilderrenderByteRangerenderByteRangeBuilderhCookie hUserAgenthServerhRefererhRange hLocation hLastModifiedhIfRangehIfModifiedSincehDate hContentType hContentMD5hContentLengthhContentEncoding hConnection hCacheControlhAuthorizationhAcceptLanguagehAcceptHeader HeaderNameRequestHeadersResponseHeaders ByteRange ByteRangeFromByteRangeFromToByteRangeSuffix ByteRangesControl.Monad.Trans.Class MonadTransliftControl.Monad.Trans.Identity IdentityT runIdentityT mtl-2.2.2Control.Monad.State.Classgetsmodify'modify MonadStatestateControl.Monad.Reader.Classasks MonadReaderasklocalreader runExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReader withReader withReaderT Control.Monad.Trans.State.StrictStateT runStateTStaterunState evalState execState withState evalStateT execStateT#relude-0.2.0-KQrhFVe8oZVAlavsTXKQvB Relude.Debug undefinedtraceIdtraceM traceShowM traceShowId traceShowerrortrace UndefinedRelude.Foldable.FoldanyMallMorMandMnotElemelemproductsumfoldMapMfoldMapA flipfoldl' DisallowElemElemErrorMessageRelude.Bool.GuardguardMifMunlessMwhenMRelude.DeepSeq evaluateNF_ evaluateNF evaluateWHNF_ evaluateWHNFRelude.ExceptionbugExcBugRelude.List.NonEmpty whenNotNullM whenNotNulluncons viaNonEmptyRelude.Monad.Either whenRightM_ whenRightM whenRight_ whenRight whenLeftM_ whenLeftM whenLeft_whenLeft maybeToLeft maybeToRight rightToMaybe leftToMaybeRelude.String.Conversion fromStrictfromLazyshow readEitherLText LByteString ConvertUtf8 encodeUtf8 decodeUtf8decodeUtf8StrictToTexttoTextToLTexttoLTextToStringtoString LazyStricttoStricttoLazy Relude.Print putLTextLnputLText putTextLnputTextprintPrintputStrputStrLn Relude.Nub unstableNubsortNubhashNubordNub Relude.Monoid maybeToMonoidRelude.Monad.TransexecutingStateexecutingStateTevaluatingStateevaluatingStateT usingState usingStateT usingReader usingReaderTRelude.Monad.Maybe whenNothingM_ whenNothingM whenNothing_ whenNothing whenJustMwhenJust?:Relude.Lifted.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef writeIORef readIORefnewIORefRelude.Lifted.FileopenFile writeFilereadFilegetLine appendFileRelude.Lifted.Exitdie exitSuccess exitFailureexitWithRelude.Lifted.Concurrent readTVarIO newTVarIO atomically tryTakeMVar tryReadMVar tryPutMVartakeMVarswapMVarreadMVarputMVarnewMVar newEmptyMVarRelude.Functor.Fmap<<$>>Relude.FunctionidentityRelude.Container.OneOneOneItemoneRelude.ApplicativepassData.HashSet.BaseHashSetmaybeToExceptTexceptToMaybeTData.Text.Encoding.ErrorUnicodeException OnDecodeErrorOnError strictDecode lenientDecodeData.Text.EncodingdecodeUtf8With decodeUtf8' Data.Textwordslinesunlinesunwords stm-2.5.0.0Control.Concurrent.STM.TVar modifyTVar'&resourcet-1.2.2-9mQA4C1qNtbAMbQUuTwoFYControl.Monad.Trans.Resource runResourceT%Control.Monad.Trans.Resource.Internal liftResourceT ResourceT&unliftio-0.2.12-5DamjS12r4928CJMrZLZhtUnliftIO.ExceptionthrowIOlazyRequestBodystrictRequestBody ifRequestmodifyResponsedefaultRequestmapResponseStatusmapResponseHeadersresponseToStreamresponseHeadersresponseStatus responseRawresponseStream responseLBSresponseBuilder responseFile MiddlewareNetwork.Wai.InternalgetRequestBodyChunkRequestvault requestMethod httpVersion rawPathInforawQueryStringrequestHeadersisSecure remoteHostpathInfo queryString requestBodyrequestHeaderHostrequestHeaderRangerequestHeaderRefererrequestHeaderUserAgentResponse StreamingBodyRequestBodyLength ChunkedBody KnownLengthFilePartfilePartOffsetfilePartByteCountfilePartFileSizeResponseReceivedparseIntheadMayversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName FinishThrownWyRespwscExceptionHandler wscRoutesunWebbyMweExceptionHandlerweAppEnv weRequest weCapturesweRespWebbyExceptionHandler wrResponded wrRespData wrHeaderswrStatus defaultWyResp runWebbyMresp400 matchRequesterrorResponse404invalidRoutesErr