code: def _parse_region_query(region_query: dict) -> RegionQuery:
      region_q = FluentDict(region_query)
      assert len(region_q.get_list(Field.region_query_names)) in [
          0,
          1,
      ], "Multirequests are not supported"
  
      builder = RegionQueryBuilder()
  
      FluentDict(region_query).visit_str_list(
          Field.region_query_names,
          lambda names: builder.set_request(
              names[0] if len(names) == 1 else None
          ),
      ).visit_object_optional(
          Field.ambiguity_resolver,
          lambda resolver: resolver.visit_list_optional(
              Field.ambiguity_closest_coord,
              lambda coord: builder.set_closest_coord(
                  RequestParser._parse_coord(coord)
              ),
          )
          .visit_object_optional(
              Field.ambiguity_box,
              lambda jsonBox: builder.set_box(
                  RequestParser._parse_geo_rect(jsonBox)
              ),
          )
          .visit_enum_existing(
              Field.ambiguity_ignoring_strategy,
              IgnoringStrategyKind,
              builder.set_ignoring_strategy,
          ),
      ).visit_object_optional(
          Field.region_query_parent,
          lambda parent: builder.set_scope(
              RequestParser._parse_map_region(parent)
          ),
      )
  
      return builder.build()
  
imports: import enum
  from typing import Dict, List, Optional, Tuple
  from .fluent_dict import FluentDict, FluentList
  from .geometry import GeoPoint
  from .request import RegionQuery, MapRegion, MapRegionKind, PayloadKind, RegionQueryBuilder, IgnoringStrategyKind, MapRegionBuilder
  from .request import Request, GeocodingRequest, ExplicitRequest, RequestBuilder, RequestKind, ReverseGeocodingRequest
  from .response import LevelKind, GeoRect
label_desc: Use image node_id 2 for calling the RequestParser obj's underlying member method code with example usage: obj._parse_region_query(region_query) and returns: builder