h&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ)Brandon Chinn  experimentalportable Safe-Inferred"R github-rest!The ID of your GitHub application  github-rest-The token to use to authenticate with GitHub.  github-rest /https://developer.github.com/v3/#authentication  github-rest https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app github-rest.Create a JWT token that expires in 10 minutes. github-rest experimentalportable Safe-Inferred)* github-rest%A type representing a key-value pair.S github-rest Convert a  into a T. github-rest/Convert the given KeyValues into a JSON Object. github-rest0Represent the given KeyValue as a pair of Texts.1)Brandon Chinn  experimentalportable Safe-Inferred"%& github-rest A call to a GitHub API endpoint. github-restThe GitHub API endpoint, with colon-prefixed components that will be replaced; e.g. "/users/:username/repos" github-rest8Key-value pairs to replace colon-prefixed components in ; e.g. #[ "username" := ("alice" :: Text) ] github-rest3Key-value pairs to send in the request body; e.g. [ "sort" := ("created" :: Text), "direction" := ("asc" :: Text) ] github-rest5Return the endpoint path, populated by the values in .  github-rest"Render the method of the endpoint.    Safe-Inferred" ! github-rest"Helper type for GitHub pagination. https://developer.github.com/v3/guides/traversing-with-pagination/U github-restParse a single page link, like: https://api.github.com/search/code?q=addClass+user%3Amozilla&page=2 ; rel="next"Returns ("next", "search'code?q=addClass+user%3Amozilla&page=2")V github-restSplit the given text by the given delimiter, stripping any surrounding whitespace.W github-restDrop the given strings at the beginning and end of the given text.!"#$%&'!"#$%&')Brandon Chinn  experimentalportable Safe-Inferred, github-rest;A type class for monads that can query the GitHub REST API.Example: -- create the "foo" branch queryGitHub GHEndpoint { method = POST , endpoint = "/repos/:owner/:repo/git/refs" , endpointVals = [ "owner" := "alice" , "repo" := "my-project" ] , ghData = [ "ref" := "refs/heads/foo" , "sha" := "1234567890abcdef" ] }It's recommended that you create functions for the API endpoints you're using: deleteBranch branch = queryGitHub GHEndpoint { method = DELETE , endpoint = "/repos/:owner/:repo/git/refs/:ref" , endpointVals = [ "owner" := "alice" , "repo" := "my-project" , "ref" := "heads/" <> branch ] , ghData = [] }- github-restQuery GitHub, returning (payload, links) if successful, where payload, is the response that GitHub sent back and links containing any pagination links GitHub may have sent back. If the response could not be decoded as JSON, returns *Left (error message, response from server).Errors on network connection failures, if GitHub sent back an error message, or if the response could not be decoded as JSON. Use  githubTry% if you wish to handle GitHub errors.. github-rest-#, except ignoring pagination links./ github-restRepeatedly calls - for each page returned by GitHub and concatenates the results.0 github-rest., except ignores the result.,-./0,-./0)Brandon Chinn  experimentalportable Safe-Inferred"%&; github-rest'A simple monad that can run REST calls.? github-rest.The token to use to authenticate with the API.@ github-rest5The user agent to use when interacting with the API: 4https://developer.github.com/v3/#user-agent-requiredA github-restThe  5https://docs.github.com/en/rest/overview/api-versionsversion of the GitHub REST API being used. If left empty, GitHub will assume a default version.B github-rest Initialize a <.C github-restSame as -, except explicitly taking in < and running in IO.Useful for implementing , outside of ;.D github-restRun the given ;, action with the given token and user agent.4The token will be sent with each API request -- see  . The user agent is also required for each API request -- see  4https://developer.github.com/v3/#user-agent-required.,-./0;<=>?@ABCD,-./0C?@A;D)Brandon Chinn  experimentalportable Safe-InferredO github-rest4Handle 422 exceptions thrown by the GitHub REST API.Most client errors are 422, since we should always be sending valid JSON. If an endpoint throws different error codes, use githubTry'. .https://developer.github.com/v3/#client-errorsP github-rest9Handle the given exception thrown by the GitHub REST API.Q github-rest?Get the given key from the Value, erroring if it doesn't exist.&  ,-./0;=>?@ADOPQ&,-./0;=>?@AD OPQ  Safe-InferredXYZ[\]^_           !""#$%&'()*++,-./0123456789:;<=>?@ABCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi(github-rest-1.1.3-JswYJAiRWy3CrVp7sHyiWU GitHub.RESTGitHub.REST.AuthGitHub.REST.KeyValueGitHub.REST.EndpointGitHub.REST.PageLinksGitHub.REST.Monad.ClassGitHub.REST.MonadPaths_github_rest(http-types-0.12.3-L3rcKlUfVN0BViQ440kXJlNetwork.HTTP.Types.MethodPATCHOPTIONSCONNECTTRACEDELETEPUTHEADPOSTGET StdMethodToken AccessToken BearerToken fromToken getJWTToken loadSigner $fShowTokenKeyValue:= kvToValuekvToText $fToJSON[]$fShowKeyValue GHEndpointmethodendpoint endpointValsghData GitHubData EndpointVals endpointPath renderMethod PageLinks pageFirstpagePrevpageNextpageLastparsePageLinks$fMonoidPageLinks$fSemigroupPageLinks $fEqPageLinks$fShowPageLinksMonadGitHubRESTqueryGitHubPage queryGitHubqueryGitHubAll queryGitHub_$fMonadGitHubRESTWriterT$fMonadGitHubRESTWriterT0$fMonadGitHubRESTStateT$fMonadGitHubRESTStateT0$fMonadGitHubRESTRWST$fMonadGitHubRESTRWST0$fMonadGitHubRESTMaybeT$fMonadGitHubRESTIdentityT$fMonadGitHubRESTExceptT$fMonadGitHubRESTReaderTGitHubT GitHubManagerGitHubSettings$sel:token:GitHubSettings$sel:userAgent:GitHubSettings$sel:apiVersion:GitHubSettingsinitGitHubManagerqueryGitHubPageIO runGitHubT$fExceptionDecodeError$fMonadGitHubRESTGitHubT$fMonadUnliftIOGitHubT$fFunctorGitHubT$fApplicativeGitHubT$fMonadGitHubT$fMonadFailGitHubT$fMonadIOGitHubT$fMonadTransGitHubT$fShowDecodeError githubTry githubTry'.:AppIdtoPair$aeson-2.1.2.1-4QFSJ9mRhdxDvTHHXtJzK8Data.Aeson.Types.InternalPair parsePageLinksplit dropAroundversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir