úÎ!4 1N1      !"#$%&'()*+,-./0None "#2=>?@AM/Ú web-pluginsiNOTE: it is possible to set the URL type incorrectly here and not get a type error. How can we fix that ? web-plugins8plugins which much be initialized before this one can be web-pluginsThe P type is the handle to the plugins system. Generally you will have exactly one  value in your app. see also   web-pluginsThe  ò record holds all the record keeping information needed for loading, unloading, and invoking plugins. In theory you should not be modifying or inspecting this structure directly -- only calling the helper functions that modify or read it. web-pluginsper-plugin state web-pluginsThe W should uniquely identify a plugin -- though we currently have no way to enforce that. web-pluginsA  is an 1n action to run when the server shuts down. The server can either shutdown normally or due to a failure. The / parameter indicates when an action should run. web-plugins/ indicates when a clean up action should be run web-pluginsalways run this action when  is called web-pluginsonly run this action if ! is called with a failure present web-pluginsonly run this action when ! is called with a normal shutdown web-pluginsinitialize the plugins system see also  web-pluginsshutdown the plugins system see also  web-pluginsa bracketed combination of  and :. Takes care of passing the correct termination condition. web-pluginsget the current st value from  web-pluginsput the current st value from   web-plugins!modify the current st value from ! web-pluginsadd a new route handler" web-pluginsadd a new plugin-local state# web-plugins%Get the state for a particular plugin/per-plugin state is optional. This will return 21 if the plugin did not register any local state.$ web-plugins0add a new cleanup action to the top of the stack% web-plugins"add a new post initialization hook& web-plugins%get all the post initialization hooks' web-plugins%add the routing function for a plugin see also: (( web-plugins4get the plugin routing function for the named plugin see also: ') web-pluginsset the current theme* web-pluginsget the current theme+ web-pluginsget the config value from the  type, web-pluginsinitialize a plugin- web-pluginsserve requests using the  handle web-pluginsinitial value for the config field of   web-pluginsinitial value for the state field of the   web-plugins should be  or  web-pluginshandle to the plugins web-pluginsinitial config value web-pluginsinitial state value! web-pluginsprefix which this route handles( web-pluginsname of plugin, web-plugins handle web-plugins%base URI to prepend to generated URLs web-plugins to initialize web-pluginspossible error message- web-plugins handle web-plugins)name of the plugin to handle this request web-plugins*unconsume path segments to pass to handler.  !"#$%&'()*+,-.  "# !$%&'()*+,-3       !"#$%&'()*+,-./012345*web-plugins-0.2.9.1-K9jXYfPxe45FCVnDr8BkDhWeb.Plugins.CorePlugin pluginName pluginInit pluginDependspluginToPathInfopluginPostHookPluginsptv PluginsStatepluginsHandlerpluginsOnShutdownpluginsRouteFnpluginsPluginState pluginsThemepluginsPostHooks pluginsConfig pluginsState PluginNameCleanupWhenAlways OnFailureOnNormal initPluginsdestroyPlugins withPlugins getPluginsSt putPluginsStmodifyPluginsSt addHandleraddPluginStategetPluginState addCleanup addPostHook getPostHooksaddPluginRouteFngetPluginRouteFnsetThemegetTheme getConfig initPluginserve$fEqWhen $fOrdWhen $fShowWhenghc-prim GHC.TypesIObase GHC.MaybeNothing