Ë
    V¼SfUT  ã                  ó  — d Z ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ dd	l	mZ dd
lmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z! e!rddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) dZ* G d„ dee   «      Z+dd„Z,dd„Z-y)zHClasses for representing collections for the Google Cloud Firestore API.é    )ÚannotationsN)Úretry)Ú_helpers)ÚDistanceMeasure)ÚDocumentReference)ÚBaseAggregationQuery)ÚBaseVectorQuery)Ú	QueryType)ÚVector)ÚOptionalÚAnyÚAsyncGeneratorÚ	CoroutineÚ	GeneratorÚGenericÚAsyncIteratorÚIteratorÚIterableÚNoReturnÚTupleÚUnionÚTYPE_CHECKING)ÚDocumentSnapshot)ÚTransaction)Ú	FieldPath)ÚVectorQueryÚ>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789c                  ó  — e Zd ZdZd$d„Zd„ Zed„ «       Zed„ «       Zd%d„Z	d&d„Z
d'd„Zd(d)d
„Zd*d„Z	 	 	 d+	 	 	 	 	 	 	 	 	 d,d„Z	 	 	 d+	 	 	 	 	 	 	 	 	 d-d„Z	 	 	 d+	 	 	 	 	 	 	 d.d„Z	 	 	 d+	 	 	 	 	 	 	 d/d„Zd%d„Zd0d„Z	 	 	 d+d	dœ	 	 	 	 	 d1d„Zd2d„Zd3d„Zd4d„Zd5d„Z	 	 	 	 d6d„Z	 	 	 	 d6d„Z	 	 	 	 d6d„Z	 	 	 	 d6d„Z	 	 d7	 	 	 	 	 d8d„Z	 	 	 d+	 	 	 	 	 	 	 d9d„Z	 	 	 d+	 	 	 	 	 	 	 d:d„Zd;d„Z d(d „Z!d(d<d!„Z"d(d<d"„Z#	 	 	 	 	 	 	 	 	 	 d=d#„Z$y	)>ÚBaseCollectionReferencea  A reference to a collection in a Firestore database.

    The collection may already exist or this class can facilitate creation
    of documents within the collection.

    Args:
        path (Tuple[str, ...]): The components in the collection path.
            This is a series of strings representing each collection and
            sub-collection ID, as well as the document IDs for any documents
            that contain a sub-collection.
        kwargs (dict): The keyword arguments for the constructor. The only
            supported keyword is ``client`` and it must be a
            :class:`~google.cloud.firestore_v1.client.Client` if provided. It
            represents the client that created this collection reference.

    Raises:
        ValueError: if

            * the ``path`` is empty
            * there are an even number of elements
            * a collection ID in ``path`` is not a string
            * a document ID in ``path`` is not a string
        TypeError: If a keyword other than ``client`` is used.
    c                óŒ   — t        j                  |d¬«       || _        |j                  dd «      | _        |rt        d|d«      ‚y )NT)Úis_collectionÚclientzReceived unexpected argumentszOnly `client` is supported)r   Úverify_pathÚ_pathÚpopÚ_clientÚ	TypeError)ÚselfÚpathÚkwargss      úhC:\Users\user\Documents\project_loop\venv\Lib\site-packages\google/cloud/firestore_v1/base_collection.pyÚ__init__z BaseCollectionReference.__init__S   sH   € Ü×Ñ˜T°Õ6ØˆŒ
Ø—z‘z (¨DÓ1ˆŒÙÜØ/°Ð9Uóð ð ó    c                ó¢   — t        || j                  «      st        S | j                  |j                  k(  xr | j                  |j                  k(  S ©N)Ú
isinstanceÚ	__class__ÚNotImplementedr$   r&   )r(   Úothers     r+   Ú__eq__zBaseCollectionReference.__eq__\   s;   € Ü˜% §¡Ô0Ü!Ð!Ø�z‰z˜UŸ[™[Ñ(ÒJ¨T¯\©\¸U¿]¹]Ñ-JÐJr-   c                ó    — | j                   d   S )zfThe collection identifier.

        Returns:
            str: The last component of the path.
        éÿÿÿÿ)r$   ©r(   s    r+   ÚidzBaseCollectionReference.ida   s   € ð �z‰z˜"‰~Ðr-   c                ó„   — t        | j                  «      dk(  ry| j                  dd } | j                  j                  |Ž S )a  Document that owns the current collection.

        Returns:
            Optional[:class:`~google.cloud.firestore_v1.document.DocumentReference`]:
            The parent document, if the current collection is not a
            top-level collection.
        é   Nr6   )Úlenr$   r&   Údocument)r(   Úparent_paths     r+   ÚparentzBaseCollectionReference.parentj   s=   € ô ˆt�z‰z‹?˜aÒØàŸ*™* S b˜/ˆKØ$ˆt�|‰|×$Ñ$ kÐ2Ð2r-   c                ó   — t         ‚r/   ©ÚNotImplementedErrorr7   s    r+   Ú_queryzBaseCollectionReference._queryy   ó   € Ü!Ð!r-   c                ó   — t         ‚r/   r@   r7   s    r+   Ú_aggregation_queryz*BaseCollectionReference._aggregation_query|   rC   r-   c                ó   — t         ‚r/   r@   r7   s    r+   Ú_vector_queryz%BaseCollectionReference._vector_query   rC   r-   Nc                ó�   — |€
t        «       }| j                  d   r| j                  |fz   n|f} | j                  j                  |Ž S )aÕ  Create a sub-document underneath the current collection.

        Args:
            document_id (Optional[str]): The document identifier
                within the current collection. If not provided, will default
                to a random 20 character string composed of digits,
                uppercase and lowercase and letters.

        Returns:
            :class:`~google.cloud.firestore_v1.document.DocumentReference`:
            The child document.
        r   )Ú_auto_idr$   r&   r<   )r(   Údocument_idÚ
child_paths      r+   r<   z BaseCollectionReference.document‚   sH   € ð ÐÜ"›*ˆKð
 59·J±J¸q²M�T—Z‘Z ; .Ò0ÈÀ~ˆ
Ø$ˆt�|‰|×$Ñ$ jÐ1Ð1r-   c                ó   — | j                   }|€6t        j                  j                  | j                  j
                  df«      }n|j                  }t        j                  j                  || j                  f«      }||fS )ar  Get fully-qualified parent path and prefix for this collection.

        Returns:
            Tuple[str, str]: Pair of

            * the fully-qualified (with database and project) path to the
              parent of this collection (will either be the database path
              or a document path).
            * the prefix to a document in this collection.
        Ú	documents)r>   r   ÚDOCUMENT_PATH_DELIMITERÚjoinr&   Ú_database_stringÚ_document_pathr8   )r(   Ú
parent_docr=   Úexpected_prefixs       r+   Ú_parent_infoz$BaseCollectionReference._parent_info˜   sr   € ð —[‘[ˆ
ØÐÜ"×:Ñ:×?Ñ?Ø—‘×.Ñ.°Ð<ó‰Kð %×3Ñ3ˆKä"×:Ñ:×?Ñ?ÀÈdÏgÉgÐ@VÓWˆØ˜OÐ+Ð+r-   c                óp   — |€
t        «       }| j                  |«      }t        j                  ||«      }||fS )z+Shared setup for async / sync :method:`add`)rI   r<   r   Úmake_retry_timeout_kwargs)r(   Údocument_datarJ   r   ÚtimeoutÚdocument_refr*   s          r+   Ú	_prep_addz!BaseCollectionReference._prep_add®   s<   € ð ÐÜ"›*ˆKà—}‘} [Ó1ˆÜ×3Ñ3°E¸7ÓCˆà˜VÐ#Ð#r-   c                ó   — t         ‚r/   r@   )r(   rW   rJ   r   rX   s        r+   ÚaddzBaseCollectionReference.add¾   s
   € ô "Ð!r-   c                ó„   — | j                  «       \  }}|| j                  |dddidœ}t        j                  ||«      }||fS )z6Shared setup for async / sync :method:`list_documents`TÚfield_pathsN)r>   Úcollection_idÚ	page_sizeÚshow_missingÚmask)rT   r8   r   rV   )r(   r`   r   rX   r>   Ú_Úrequestr*   s           r+   Ú_prep_list_documentsz,BaseCollectionReference._prep_list_documentsÇ   sU   € ð ×%Ñ%Ó'‰	ˆ�àØ!ŸW™WØ"Ø ð # DÐ)ñ	
ˆô ×3Ñ3°E¸7ÓCˆà˜ˆÐr-   c                ó   — t         ‚r/   r@   )r(   r`   r   rX   s       r+   Úlist_documentsz&BaseCollectionReference.list_documentsÝ   ó
   € ô "Ð!r-   c                ó>   — | j                  «       j                  «       S r/   )rB   Ú	recursiver7   s    r+   rj   z!BaseCollectionReference.recursiveç   s   € Ø�{‰{‹}×&Ñ&Ó(Ð(r-   c                óD   — | j                  «       }|j                  |«      S )a  Create a "select" query with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.select` for
        more information on this method.

        Args:
            field_paths (Iterable[str, ...]): An iterable of field paths
                (``.``-delimited list of field names) to use as a projection
                of document fields in the query results.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A "projected" query.
        )rB   Úselect)r(   r^   Úquerys      r+   rl   zBaseCollectionReference.selectê   s   € ð  —‘“ˆØ�|‰|˜KÓ(Ð(r-   ©Úfilterc               ó  — | j                  «       }|ri|rg|�t        d«      ‚|dk(  rB|dk(  r=g }|D ]4  }t        |t        «      r| j	                  |«      }|j                  |«       Œ6 |}|j                  |||«      S |j                  |¬«      S )aï  Create a "where" query with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.where` for
        more information on this method.

        Args:
            field_path (str): A field path (``.``-delimited list of
                field names) for the field to filter on. Optional.
            op_string (str): A comparison operation in the form of a string.
                Acceptable values are ``<``, ``<=``, ``==``, ``>=``, ``>``,
                and ``in``. Optional.
            value (Any): The value to compare the field against in the filter.
                If ``value`` is :data:`None` or a NaN, then ``==`` is the only
                allowed operation.  If ``op_string`` is ``in``, ``value``
                must be a sequence of values. Optional.
            filter (class:`~google.cloud.firestore_v1.base_query.BaseFilter`): an instance of a Filter.
                Either a FieldFilter or a CompositeFilter.
        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A filtered query.
        Raises:
            ValueError, if both the positional arguments (field_path, op_string, value)
                and the filter keyword argument are passed at the same time.
        zICan't pass in both the positional arguments and 'filter' at the same timeÚ__name__Úinrn   )rB   Ú
ValueErrorr0   Ústrr<   ÚappendÚwhere)r(   Ú
field_pathÚ	op_stringÚvaluero   rm   Úwrapped_namesÚnames           r+   rv   zBaseCollectionReference.whereý   s¡   € ðB —‘“ˆÙ™)ØÐ!Ü Ø_óð ð ˜ZÒ'¨I¸Ò,=Ø "�à!ò /�DÜ! $¬Ô,Ø#Ÿ}™}¨TÓ2˜à!×(Ñ(¨Õ.ð	/ð &�Ø—;‘;˜z¨9°eÓ<Ð<à—;‘; f�;Ó-Ð-r-   c                óH   — | j                  «       } |j                  |fi |¤ŽS )aÈ  Create an "order by" query with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.order_by` for
        more information on this method.

        Args:
            field_path (str): A field path (``.``-delimited list of
                field names) on which to order the query results.
            kwargs (Dict[str, Any]): The keyword arguments to pass along
                to the query. The only supported keyword is ``direction``,
                see :meth:`~google.cloud.firestore_v1.query.Query.order_by`
                for more information.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            An "order by" query.
        )rB   Úorder_by)r(   rw   r*   rm   s       r+   r}   z BaseCollectionReference.order_by2  s%   € ð& —‘“ˆØˆu�~‰~˜jÑ3¨FÑ3Ð3r-   c                óD   — | j                  «       }|j                  |«      S )a-  Create a limited query with this collection as parent.

        .. note::
           `limit` and `limit_to_last` are mutually exclusive.
           Setting `limit` will drop previously set `limit_to_last`.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.limit` for
        more information on this method.

        Args:
            count (int): Maximum number of documents to return that match
                the query.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A limited query.
        )rB   Úlimit©r(   Úcountrm   s      r+   r   zBaseCollectionReference.limitH  s   € ð& —‘“ˆØ�{‰{˜5Ó!Ð!r-   c                óD   — | j                  «       }|j                  |«      S )aD  Create a limited to last query with this collection as parent.

        .. note::
           `limit` and `limit_to_last` are mutually exclusive.
           Setting `limit_to_last` will drop previously set `limit`.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.limit_to_last`
        for more information on this method.

        Args:
            count (int): Maximum number of documents to return that
                match the query.
        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A limited to last query.
        )rB   Úlimit_to_lastr€   s      r+   rƒ   z%BaseCollectionReference.limit_to_last^  s    € ð$ —‘“ˆØ×"Ñ" 5Ó)Ð)r-   c                óD   — | j                  «       }|j                  |«      S )aÀ  Skip to an offset in a query with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.offset` for
        more information on this method.

        Args:
            num_to_skip (int): The number of results to skip at the beginning
                of query results. (Must be non-negative.)

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            An offset query.
        )rB   Úoffset)r(   Únum_to_skiprm   s      r+   r…   zBaseCollectionReference.offsets  s   € ð —‘“ˆØ�|‰|˜KÓ(Ð(r-   c                óD   — | j                  «       }|j                  |«      S )a¢  Start query at a cursor with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.start_at` for
        more information on this method.

        Args:
            document_fields (Union[:class:`~google.cloud.firestore_v1.                document.DocumentSnapshot`, dict, list, tuple]):
                A document snapshot or a dictionary/list/tuple of fields
                representing a query results cursor. A cursor is a collection
                of values that represent a position in a query result set.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A query with cursor.
        )rB   Ústart_at©r(   Údocument_fieldsrm   s      r+   rˆ   z BaseCollectionReference.start_at…  s   € ð( —‘“ˆØ�~‰~˜oÓ.Ð.r-   c                óD   — | j                  «       }|j                  |«      S )a¨  Start query after a cursor with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.start_after` for
        more information on this method.

        Args:
            document_fields (Union[:class:`~google.cloud.firestore_v1.                document.DocumentSnapshot`, dict, list, tuple]):
                A document snapshot or a dictionary/list/tuple of fields
                representing a query results cursor. A cursor is a collection
                of values that represent a position in a query result set.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A query with cursor.
        )rB   Ústart_afterr‰   s      r+   rŒ   z#BaseCollectionReference.start_afterœ  s    € ð( —‘“ˆØ× Ñ  Ó1Ð1r-   c                óD   — | j                  «       }|j                  |«      S )a¦  End query before a cursor with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.end_before` for
        more information on this method.

        Args:
            document_fields (Union[:class:`~google.cloud.firestore_v1.                document.DocumentSnapshot`, dict, list, tuple]):
                A document snapshot or a dictionary/list/tuple of fields
                representing a query results cursor. A cursor is a collection
                of values that represent a position in a query result set.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A query with cursor.
        )rB   Ú
end_beforer‰   s      r+   rŽ   z"BaseCollectionReference.end_before³  s    € ð( —‘“ˆØ×Ñ Ó0Ð0r-   c                óD   — | j                  «       }|j                  |«      S )až  End query at a cursor with this collection as parent.

        See
        :meth:`~google.cloud.firestore_v1.query.Query.end_at` for
        more information on this method.

        Args:
            document_fields (Union[:class:`~google.cloud.firestore_v1.                document.DocumentSnapshot`, dict, list, tuple]):
                A document snapshot or a dictionary/list/tuple of fields
                representing a query results cursor. A cursor is a collection
                of values that represent a position in a query result set.

        Returns:
            :class:`~google.cloud.firestore_v1.query.Query`:
            A query with cursor.
        )rB   Úend_atr‰   s      r+   r�   zBaseCollectionReference.end_atÊ  s   € ð( —‘“ˆØ�|‰|˜OÓ,Ð,r-   c                óV   — | j                  «       }t        j                  ||«      }||fS )z:Shared setup for async / sync :meth:`get` / :meth:`stream`)rB   r   rV   )r(   r   rX   rm   r*   s        r+   Ú_prep_get_or_streamz+BaseCollectionReference._prep_get_or_streamá  s+   € ð —‘“ˆÜ×3Ñ3°E¸7ÓCˆà�fˆ}Ðr-   c                ó   — t         ‚r/   r@   ©r(   Útransactionr   rX   s       r+   ÚgetzBaseCollectionReference.getì  rh   r-   c                ó   — t         ‚r/   r@   r”   s       r+   ÚstreamzBaseCollectionReference.streamö  s
   € ô "Ð!r-   c                ó   — t         ‚r/   r@   )r(   Úcallbacks     r+   Úon_snapshotz#BaseCollectionReference.on_snapshotþ  rC   r-   c                óB   — | j                  «       j                  |¬«      S )zˆ
        Adds a count over the nested query.

        :type alias: str
        :param alias: (Optional) The alias for the count
        ©Úalias)rE   r�   )r(   rž   s     r+   r�   zBaseCollectionReference.count  s!   € ð ×&Ñ&Ó(×.Ñ.°UÐ.Ó;Ð;r-   c                óD   — | j                  «       j                  ||¬«      S )a³  
        Adds a sum over the nested query.

        :type field_ref: Union[str, google.cloud.firestore_v1.field_path.FieldPath]
        :param field_ref: The field to aggregate across.

        :type alias: Optional[str]
        :param alias: Optional name of the field to store the result of the aggregation into.
            If not provided, Firestore will pick a default name following the format field_<incremental_id++>.

        r�   )rE   Úsum©r(   Ú	field_refrž   s      r+   r    zBaseCollectionReference.sum
  s#   € ð ×&Ñ&Ó(×,Ñ,¨Y¸eÐ,ÓDÐDr-   c                óD   — | j                  «       j                  ||¬«      S )a³  
        Adds an avg over the nested query.

        :type field_ref: Union[str, google.cloud.firestore_v1.field_path.FieldPath]
        :param field_ref: The field to aggregate across.

        :type alias: Optional[str]
        :param alias: Optional name of the field to store the result of the aggregation into.
            If not provided, Firestore will pick a default name following the format field_<incremental_id++>.
        r�   )rE   Úavgr¡   s      r+   r¤   zBaseCollectionReference.avg  s#   € ð ×&Ñ&Ó(×,Ñ,¨Y¸eÐ,ÓDÐDr-   c                óF   — | j                  «       j                  ||||«      S )aÑ  
        Finds the closest vector embeddings to the given query vector.

        Args:
            vector_field(str): An indexed vector field to search upon. Only documents which contain
                vectors whose dimensionality match the query_vector can be returned.
            query_vector(Vector): The query vector that we are searching on. Must be a vector of no more
                than 2048 dimensions.
            limit (int): The number of nearest neighbors to return. Must be a positive integer of no more than 1000.
            distance_measure(:class:`DistanceMeasure`): The Distance Measure to use.

        Returns:
            :class`~firestore_v1.vector_query.VectorQuery`: the vector query.
        )rG   Úfind_nearest)r(   Úvector_fieldÚquery_vectorr   Údistance_measures        r+   r¦   z$BaseCollectionReference.find_nearest%  s*   € ð* ×!Ñ!Ó#×0Ñ0Ø˜,¨Ð/?ó
ð 	
r-   )ÚreturnÚNone)rª   r
   )rª   r   )rª   r	   r/   )rJ   úOptional[str]rª   r   )rª   zTuple[Any, str])NNN)
rW   ÚdictrJ   r¬   r   úOptional[retries.Retry]rX   úOptional[float]rª   zTuple[DocumentReference, dict])
rW   r­   rJ   r¬   r   r®   rX   r¯   rª   z<Union[Tuple[Any, Any], Coroutine[Any, Any, Tuple[Any, Any]]])r`   úOptional[int]r   r®   rX   r¯   rª   zTuple[dict, dict])r`   r°   r   r®   rX   r¯   rª   zUUnion[Generator[DocumentReference, Any, Any], AsyncGenerator[DocumentReference, Any]])r^   zIterable[str]rª   r
   )rw   r¬   rx   r¬   rª   r
   )rw   rt   rª   r
   )r�   Úintrª   r
   )r�   r±   )r†   r±   rª   r
   )rŠ   z*Union[DocumentSnapshot, dict, list, tuple]rª   r
   )NN)r   r®   rX   r¯   rª   zTuple[Any, dict])r•   úOptional[Transaction]r   r®   rX   r¯   rª   zSUnion[Generator[DocumentSnapshot, Any, Any], AsyncGenerator[DocumentSnapshot, Any]])r•   r²   r   r®   rX   r¯   rª   zBUnion[Iterator[DocumentSnapshot], AsyncIterator[DocumentSnapshot]])rª   r   )r¢   zstr | FieldPath)
r§   rt   r¨   r   r   r±   r©   r   rª   r   )%rq   Ú
__module__Ú__qualname__Ú__doc__r,   r4   Úpropertyr8   r>   rB   rE   rG   r<   rT   rZ   r\   re   rg   rj   rl   rv   r}   r   rƒ   r…   rˆ   rŒ   rŽ   r�   r’   r–   r˜   r›   r�   r    r¤   r¦   © r-   r+   r   r   9   sÊ  „ ñó2òKð
 ñó ðð ñ3ó ð3ó"ó"ó"ô2ó,,ð2 &*Ø)-Ø#'ð$àð$ð #ð$ð 'ð	$ð
 !ð$ð 
(ó$ð& &*Ø)-Ø#'ð"àð"ð #ð"ð 'ð	"ð
 !ð"ð 
Fó"ð $(Ø)-Ø#'ð	à ðð 'ðð !ð	ð
 
óð0 $(Ø)-Ø#'ð	"à ð"ð 'ð"ð !ð	"ð

ó"ó)ó)ð* %)Ø#'Øð	3.ð ñ3.à!ð3.ð !ð3.ð 
ó3.ój4ó,"ó,*ó*)ð$/ØIð/à	ó/ð.2ØIð2à	ó2ð.1ØIð1à	ó1ð.-ØIð-à	ó-ð2 *.Ø#'ð	à&ð	ð !ð	ð 
ó		ð .2Ø)-Ø#'ð	"à*ð"ð 'ð"ð !ð	"ð

ó"ð .2Ø)-Ø#'ð	"à*ð"ð 'ð"ð !ð	"ð
 
Ló"ó"ó<ôEôEð
àð
ð ð
ð ð	
ð
 *ð
ð 
ô
r-   r   c                 óD   — dj                  d„ t        d«      D «       «      S )z¦Generate a "random" automatically generated ID.

    Returns:
        str: A 20 character string composed of digits, uppercase and
        lowercase and letters.
    Ú c              3  óN   K  — | ]  }t        j                  t        «      –— Œ y ­wr/   )ÚrandomÚchoiceÚ_AUTO_ID_CHARS)Ú.0rc   s     r+   ú	<genexpr>z_auto_id.<locals>.<genexpr>G  s   è ø€ ÒD°Q”6—=‘=¤×0ÑDùs   ‚#%é   )rO   Úranger·   r-   r+   rI   rI   ?  s   € ð �7‰7ÑD¼%À»)ÔDÓDÐDr-   c                ó|   — |j                   j                  t        j                  «      d   }| j	                  |«      S )zÊConvert Document resource to document ref.

    Args:
        collection_reference (google.api_core.page_iterator.GRPCIterator):
            iterator response
        item (dict): document resource
    r6   )r{   Úsplitr   rN   r<   )Úcollection_referenceÚitemrJ   s      r+   Ú_item_to_document_refrÆ   J  s2   € ð —)‘)—/‘/¤(×"BÑ"BÓCÀBÑG€KØ×(Ñ(¨Ó5Ð5r-   )rª   rt   )rª   r   ).rµ   Ú
__future__r   r»   Úgoogle.api_corer   ÚretriesÚgoogle.cloud.firestore_v1r   Ú+google.cloud.firestore_v1.base_vector_queryr   Ú"google.cloud.firestore_v1.documentr   Ú*google.cloud.firestore_v1.base_aggregationr   r	   Ú$google.cloud.firestore_v1.base_queryr
   Ú google.cloud.firestore_v1.vectorr   Útypingr   r   r   r   r   r   r   r   r   r   r   r   r   Ú'google.cloud.firestore_v1.base_documentr   Ú%google.cloud.firestore_v1.transactionr   Ú$google.cloud.firestore_v1.field_pathr   Úfirestore_v1.vector_queryr   r½   r   rI   rÆ   r·   r-   r+   ú<module>rÕ      sr   ðñ OÝ "Û å ,å .Ý GÝ @Ý KÝ GÝ :Ý 3÷÷ ÷ õ ñ" åHÝAÝ>Ý5àQ€ôC
˜g iÑ0ô C
óLEô	6r-   