class_docstr: Geocoder using the Google Maps v3 API.
  
  Documentation at:
      https://developers.google.com/maps/documentation/geocoding/
  
  Pricing details:
      https://developers.google.com/maps/documentation/geocoding/usage-and-billing
code: def _check_status(self, response):
      # https://developers.google.com/maps/documentation/geocoding/requests-geocoding#StatusCodes
      status = response.get("status")
      if status == "OK":
          return
      if status == "ZERO_RESULTS":
          return
  
      error_message = response.get("error_message")
      # https://developers.google.com/maps/documentation/geocoding/requests-geocoding#ErrorMessages
      #   When the geocoder returns a status code other than OK, there *may*
      #   be an additional error_message field within the Geocoding response
      #   object.
  
      if status in ("OVER_QUERY_LIMIT", "OVER_DAILY_LIMIT"):
          raise GeocoderQuotaExceeded(
              error_message
              or "The given key has gone over the requests limit in the 24"
              " hour period or has submitted too many requests in too"
              " short a period of time"
          )
      elif status == "REQUEST_DENIED":
          raise GeocoderQueryError(
              error_message or "Your request was denied"
          )
      elif status == "INVALID_REQUEST":
          raise GeocoderQueryError(
              error_message or "Probably missing address or latlng"
          )
      elif status == "UNKNOWN_ERROR":
          raise GeocoderUnavailable(error_message or "Server error")
      else:
          # Unknown (undocumented) status.
          raise GeocoderServiceError(error_message or "Unknown error")
  
imports: import base64
  import collections.abc
  import hashlib
  import hmac
  from calendar import timegm
  from datetime import datetime
  from functools import partial
  from urllib.parse import urlencode
  from geopy.exc import ConfigurationError, GeocoderQueryError, GeocoderQuotaExceeded, GeocoderServiceError, GeocoderUnavailable
  from geopy.geocoders.base import DEFAULT_SENTINEL, Geocoder
  from geopy.location import Location
  from geopy.timezone import ensure_pytz_is_installed, from_timezone_name
  from geopy.util import logger
label_desc: Use image node_id 10 for calling the GoogleV3 obj's underlying member method code with example usage: obj._check_status(response) without return types