úÎ!WŸQ#s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrNone6 hoauth2)Authorization Code Grant Error Responses  3https://tools.ietf.org/html/rfc6749#section-4.1.2.1! Implicit Grant Error Responses 3https://tools.ietf.org/html/rfc6749#section-4.2.2.1None6KN÷ hoauth2!type synonym of post body contenthoauth2 Is either s containing an error or t containg a resulthoauth2The gained Access Token. Use Data.Aeson.decode to decode string to  AccessToken. The  refreshToken" is special in some cases, e.g. 2https://developers.google.com/accounts/docs/OAuth2(hoauth2Query Parameter Representation1hoauth2aPrepare the authorization URL. Redirect to this URL asking for user interactive authentication.2hoauth2HPrepare the URL and the request body query for fetching an access token.3hoauth2cPrepare the URL and the request body query for fetching an access token, with optional grant type.4hoauth2jUsing a Refresh Token. Obtain a new access token by sending a refresh token to the Authorization server.5hoauth2For GET method API.6hoauth2Create   with given access token value.=hoauth2Parse JSON data into 2hoauth2(access code gained via authorization URLhoauth2/access token request URL plus the request body.3hoauth2(access code gained via authorization URLhoauth2 Grant Typehoauth2/access token request URL plus the request body.4hoauth2*refresh token gained via authorization URLhoauth20refresh token request URL plus the request body.5hoauth2Base URIhoauth2Authorized Access Tokenhoauth2Combined Result/  !"#$%&'().-,+*/0123456789:;/().-,+*%&'"#$ !/0 123456789:;None6 ëShoauth2Token Error Responses /https://tools.ietf.org/html/rfc6749#section-5.2SXVUYWTSXVUYWTNone<VM†_hoauth2>Request OAuth2 Token method: POST authenticate in header`hoauth2LRequest OAuth2 Token method: POST authenticate in both header and bodyahoauth21Request a new AccessToken with the Refresh Token.choauth21Conduct post request and return response as JSON.dhoauth2AConduct post request and return response as JSON or Query String.ehoauth2Conduct post request.fhoauth2>Conduct an authorized GET request and return response as JSON.ghoauth2"Conduct an authorized GET request.hhoauth2same to g; but set access token to query parameter rather than headerihoauth21Conduct POST request and return response as JSON.jhoauth2Conduct POST request.khoauth2HConduct POST request with access token in the request body rather headerlhoauth2EConduct POST request with access token in the header and null in bodymhoauth2ZSend an HTTP request including the Authorization header with the specified access token.nhoauth2 Parses a Response to to  OAuth2Resultohoauth2 Parses a OAuth2Result BSL.ByteString into FromJSON a => auhoauth2 Parses a OAuth2Result BSL.ByteString* that contains not JSON but a Query Stringphoauth2Try o, if failed then parses the OAuth2Result BSL.ByteString+ that contains not JSON but a Query String.qhoauth20Set several header values: + userAgennt : hoauth2 + accept : `application/json` + authorization : Bearer xxxxx if % provided.rhoauth2Set the HTTP method to use._hoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Token`hoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Tokenahoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationbhoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationchoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as JSONdhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as ByteStringehoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2URLhoauth2 Request body.hoauth2Response as ByteStringfhoauth2HTTP connection manager.hoauth2Response as JSONghoauth2HTTP connection manager.hoauth2Response as ByteStringhhoauth2HTTP connection manager.hoauth2Response as ByteStringihoauth2HTTP connection manager.hoauth2Response as JSONjhoauth2HTTP connection manager.hoauth2Response as ByteStringkhoauth2HTTP connection manager.hoauth2Response as ByteStringlhoauth2HTTP connection manager.hoauth2Response as ByteStringmhoauth2Request to performhoauth2Modify request before sendinghoauth2HTTP connection manager._`abcdefghijklmnopqr_`bacdefghijklmnopqr OAuth2 client(c) 2012 Haisheng Wu BSD-style (see the file LICENSE)Haisheng Wu <freizl@gmail.com>alphaportableNonePC  !"#$%&'()*+,-./0123456789:;_`abcdefghijklmnopqrv       !""#$$%&&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST UVWXYZ[\]^_`abcdefghijkijlmn$hoauth2-1.8.0-BFaQkdj56iJ7TV3dzHAToM)Network.OAuth.OAuth2.AuthorizationRequestNetwork.OAuth.OAuth2.Internal!Network.OAuth.OAuth2.TokenRequestNetwork.OAuth.OAuth2.HttpClientNetwork.OAuth.OAuth2ErrorsInvalidRequestUnauthorizedClient AccessDeniedUnsupportedResponseType InvalidScope ServerErrorTemporarilyUnavailable$fToJSONErrors$fFromJSONErrors $fShowErrors $fEqErrors$fGenericErrors QueryParamsPostBody OAuth2Result OAuth2ErrorerrorerrorDescriptionerrorUri OAuth2Token accessToken refreshToken expiresIn tokenTypeidToken ExchangeTokenextokenIdTokenidtoken RefreshTokenrtoken AccessTokenatokenOAuth2 oauthClientIdoauthClientSecretoauthOAuthorizeEndpointoauthAccessTokenEndpoint oauthCallbackparseOAuth2ErrormkDecodeOAuth2ErrorauthorizationUrlaccessTokenUrlaccessTokenUrl'refreshAccessTokenUrlappendAccessTokenaccessTokenToParamappendQueryParams uriToRequest requestToUrihostLensportLens$fToJSONOAuth2Token$fFromJSONOAuth2Token$fToJSONOAuth2Error$fFromJSONOAuth2Error $fShowOAuth2 $fEqOAuth2$fShowAccessToken$fFromJSONAccessToken$fToJSONAccessToken$fShowRefreshToken$fFromJSONRefreshToken$fToJSONRefreshToken $fShowIdToken$fFromJSONIdToken$fToJSONIdToken$fShowExchangeToken$fFromJSONExchangeToken$fToJSONExchangeToken$fShowOAuth2Token$fGenericOAuth2Token$fShowOAuth2Error$fEqOAuth2Error$fGenericOAuth2Error InvalidClient InvalidGrantUnsupportedGrantTypefetchAccessTokenfetchAccessToken2refreshAccessTokenfetchRefreshTokendoJSONPostRequestdoFlexiblePostRequestdoSimplePostRequest authGetJSON authGetBS authGetBS2 authPostJSON authPostBS authPostBS2 authPostBS3 authRequesthandleResponseparseResponseJSONparseResponseFlexibleupdateRequestHeaders setMethodbase Data.EitherLeftRightparseResponseString