ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ""" Errors ====== """ from typing import Optional class GeoIP2Error(RuntimeError): """There was a generic error in GeoIP2. This class represents a generic error. It extends :py:exc:`RuntimeError` and does not add any additional attributes. """ class AddressNotFoundError(GeoIP2Error): """The address you were looking up was not found.""" class AuthenticationError(GeoIP2Error): """There was a problem authenticating the request.""" class HTTPError(GeoIP2Error): """There was an error when making your HTTP request. This class represents an HTTP transport error. It extends :py:exc:`GeoIP2Error` and adds attributes of its own. :ivar http_status: The HTTP status code returned :ivar uri: The URI queried :ivar decoded_content: The decoded response content """ def __init__( self, message: str, http_status: Optional[int] = None, uri: Optional[str] = None, decoded_content: Optional[str] = None, ) -> None: super().__init__(message) self.http_status = http_status self.uri = uri self.decoded_content = decoded_content class InvalidRequestError(GeoIP2Error): """The request was invalid.""" class OutOfQueriesError(GeoIP2Error): """Your account is out of funds for the service queried.""" class PermissionRequiredError(GeoIP2Error): """Your account does not have permission to access this service."""