Ë
    lQêj¤Ð  ã                   ó^  — U d dl Zd dlZd dlmZ d dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZmZ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%c m&c mZ d d
l m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m%c m&c m4Z4 d dl5m6Z6m7Z7m8Z8 d dl9Z:d dl;Z;d dl<m=Z=m>Z>  e2d„ «      a?ee@eAf   eBd<   dZCde@ddfd„ZDdMd„ZE ejŒ                   ejŽ                  ej�                  «      d¬«      ZIej”                  ee:j–                  e:j˜                  e:jš                  f      eBd<    ejŒ                   ejœ                  dd¬«      d¬«      ZOej”                  eA   eBd<   e G d„ d«      «       ZP ejŒ                   ejb                  d¬ «      d!¬«      ZQ G d"„ d#e(«      ZR G d$„ d%eR«      ZSd&ej¨                  d'e!ddfd(„ZUej¬                  j¯                  e7d)¬*«      d&ej¨                  d'e!ddfd+„«       ZXd'e!ddfd,„ZYd'e!ddfd-„ZZd&ej¨                  d'e!ddfd.„Z[d'e!ddfd/„Z\d'e!ddfd0„Z]d'e!ddfd1„Z^d'e!ddfd2„Z_d'e!ddfd3„Z`ej¬                  jÃ                  d4¬*«      d'e!ddfd5„«       Zbd'e!ddfd6„Zcej¬                  jÉ                  d7d8d9gid:d9d;iid<d=d;iid9gd9d;id>œd9gd=d;id?œd9gd9d;id=d;id@œg«      d'e!d7eddfdA„«       Ze e ejŽ                  e:j˜                  e:jÌ                  e:jÎ                  eAehg«      ¬B«      dCee   ddfdD„«       Zi e ejŽ                  e:j˜                  e:jÌ                  e:jÎ                  eAehg«      ¬B«      dCee   ddfdE„«       Zj e ejŽ                  e@ekg«      ¬F«      dGee   ddfdH„«       ZldMdI„Zmd'e!ddfdJ„Znd'e!ddfdK„Zod'e!ddfdL„Zpy)Né    N)Ú	overrides)ÚgivenÚsettingsÚHealthCheck)ÚDictÚSetÚcastÚUnionÚDefaultDictÚAnyÚList)Ú	dataclass)ÚIDÚ
EmbeddingsÚIncludeÚIDsÚvalidate_embeddingsÚnormalize_embeddings)ÚSystem)Ú	ClientAPI)Ú
Collection)
ÚBundleÚRuleBasedStateMachineÚMultipleResultsÚruleÚ
initializeÚpreconditionÚconsumesÚrun_state_machine_as_testÚmultipleÚ	invariant)Údefaultdict)Úis_client_in_processÚNOT_CLUSTER_ONLYÚcreate_isolated_database)Úwait_for_version_increaseÚget_collection_versionc                   ó   — y©Nr   © r*   ó    úk/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/chromadb/test/property/test_embeddings.pyú<lambda>r-   3   s   � r+   Útracesi,  ÚkeyÚreturnc                 ó&   — t         | xx   dz  cc<   y )Né   )r.   ©r/   s    r,   Útracer4   9   s   € ä
ˆ3ƒK�1Ñ„Kr+   c                  ó\   — t         j                  «       D ]  \  } }t        | › d|› �«       Œ y )Nz: )r.   ÚitemsÚprint)r/   Úvalues     r,   Úprint_tracesr9   >   s.   € ä—l‘l“nò !‰
ˆˆUÜ���R˜�wÐÕ ñ!r+   Údtyper3   Údtype_shared_sté   i   )Ú	min_valueÚ	max_valueÚ	dimensionÚdimension_shared_stc                   ó    — e Zd ZdZdZdZdZdZy)ÚEmbeddingStateMachineStatesr   Úadd_embeddingsÚdelete_by_idsÚupdate_embeddingsÚupsert_embeddingsN)Ú__name__Ú
__module__Ú__qualname__r   rC   rD   rE   rF   r*   r+   r,   rB   rB   M   s   „ à€JØ%€NØ#€MØ+ÐØ+Ñr+   rB   T)Úwith_hnsw_paramsÚcollc            
       óˆ  ‡ — e Zd ZU eed<    ed«      Zee   ed<   dZd'de	de
fˆ fd„Z ee¬«      dej                  fd„«       Zed(d„«       Z ee ej$                  e«      ¬«      dej&                  d	ee   fd„«       Z e ej.                   ee«      d¬«      ¬«      ded	d
fd„«       Z ed„ «       e ej$                  eedd¬«      ¬«      dej&                  d	d
fd„«       «       Z ed„ «       e ej$                  e ej:                  eej<                  «      dd¬«      ¬«      dej&                  d	d
fd„«       «       Z e «       d(d„«       Z! e «       d(d„«       Z" e «       d(d„«       Z# e «       d(d„«       Z$ ed„ «       e «       d(d „«       «       Z%d	e
fd!„Z&dej&                  d	d
fd"„Z'd#e(e)   d	d
fd$„Z*d%e+d	d
fd&„Z,ˆ xZ-S ))ÚEmbeddingStateMachineBaseÚ
collectionÚembedding_idsFÚclientÚ
use_searchc                 ó†   •— t         ‰| �  «        || _        || _        t        j
                  j                  | «      | _        y ©N)ÚsuperÚ__init__rP   rQ   Ú
hypothesisÚstatefulÚRuleStrategyÚ_rules_strategy©ÚselfrP   rQ   Ú	__class__s      €r,   rU   z"EmbeddingStateMachineBase.__init__^   s5   ø€ Ü‰ÑÔØˆŒØ$ˆŒÜ)×2Ñ2×?Ñ?ÀÓEˆÕr+   ©rN   c                 ó8  — | j                   j                  |j                  |j                  |j                  ¬«      | _        |j                  | _        t        d«       | j                  t        j                  «       t        j                  g g g g ¬«      | _        y )N)ÚnameÚmetadataÚembedding_functionÚinit©ÚidsÚ	metadatasÚ	documentsÚ
embeddings)rP   Úcreate_collectionr_   r`   ra   rN   r4   Úon_state_changerB   r   Ú
strategiesÚStateMachineRecordSetÚrecord_set_state)r[   rN   s     r,   r   z$EmbeddingStateMachineBase.initialized   s~   € àŸ+™+×7Ñ7Ø—‘Ø×(Ñ(Ø)×<Ñ<ð 8ó 
ˆŒð
 #-×"?Ñ"?ˆÔÜˆfŒØ×ÑÔ8×CÑCÔDä *× @Ñ @Ø˜b¨B¸2ô!
ˆÕr+   r0   Nc                 ób   — | j                   j                  | j                  j                  «       y rS   )rP   Údelete_collectionrN   r_   ©r[   s    r,   Úteardownz"EmbeddingStateMachineBase.teardowns   s   € à�‰×%Ñ% d§o¡o×&:Ñ&:Õ;r+   ©ÚtargetÚ
record_setrs   c           
      ó&  — t        d«       | j                  t        j                  «       t	        j
                  |«      }t        |d   «      dkD  rt        d«       t        |d   «      j                  | j                  d   «      }t        |«      dkD  �rt        t        |d   «      j                  |«      «      }|D �cg c]  }|d   j                  |«      ‘Œ }}t        j                  |D �cg c]
  }|d   |   ‘Œ c}|d   r|D �cg c]
  }|d   |   ‘Œ c}nd |d   r|D �cg c]
  }|d   |   ‘Œ c}nd |d   r|D �cg c]
  }|d   |   ‘Œ c}nd ¬«      } | j                  j                   d	i |¤Ž | j#                  t%        t        j&                  |«      «       t)        |d   Ž S  | j                  j                   d	i |¤Ž | j#                  t%        t        j&                  |«      «       t)        |d   Ž S c c}w c c}w c c}w c c}w c c}w )
NrC   rd   r   Úadd_more_embeddingsre   rf   rg   rc   r*   )r4   ri   rB   rC   Ú
invariantsÚwrap_allÚlenÚsetÚintersectionrl   ÚlistÚ
differenceÚindexrj   ÚNormalizedRecordSetrN   ÚaddÚ_upsert_embeddingsr	   Ú	RecordSetr    )	r[   rs   Únormalized_record_setrz   Únew_idsÚidÚindicesÚiÚfiltered_record_sets	            r,   rC   z(EmbeddingStateMachineBase.add_embeddingsw   s  € ô
 	ÐÔØ×ÑÔ8×GÑGÔHä@J×@SÑ@SØóA
Ðô Ð$ UÑ+Ó,¨qÒ0ÜÐ'Ô(äÐ0°Ñ7Ó8×EÑEØ×!Ñ! %Ñ(ó
ˆô ˆ|Ó˜qÓ äœ3Ð4°UÑ;Ó<×GÑGÈÓUÓVˆGØHOÖPÀ"Ð,¨UÑ3×9Ñ9¸"Õ=ÐPˆGÐPä×.Ñ.ØBIÖJ¸QÐ.¨uÑ5°aÓ8ÒJà,¨[Ò9ð OVÖVÈÐ4°[ÑAÀ!ÓDÓVàà,¨[Ò9ð OVÖVÈÐ4°[ÑAÀ!ÓDÓVàà,¨\Ò:ð QXÖXÈ1Ð 5°lÑ CÀAÓ FÓXàôð  ð  ˆD�O‰O×ÑÑ8Ð"7Ò8Ø×#Ñ#¤D¬×)=Ñ)=Ð?RÓ$SÔTÜÐ0°Ñ7Ð8Ð8ð  ˆD�O‰O×ÑÑ8Ð"7Ò8Ø×#Ñ#¤D¬×)=Ñ)=Ð?TÓ$UÔVÜÐ2°5Ñ9Ð:Ð:ùò- Qùò KùÚVùò Wùò  Ys   Â?G:Ã/G?Ä	H
Ä%H	ÅHr2   ©Úmin_size©rd   rd   c                 ó$  — t        d«       | j                  t        j                  «       |D �cg c]   }| j                  d   j                  |«      ‘Œ" }}| j                  j                  |¬«       | j                  t        |«      «       y c c}w )Nzremove embeddingsrd   rŠ   )
r4   ri   rB   rD   rl   r}   rN   ÚdeleteÚ_remove_embeddingsry   )r[   rd   r„   Úindices_to_removes       r,   rD   z'EmbeddingStateMachineBase.delete_by_ids¤   sy   € äÐ!Ô"Ø×ÑÔ8×FÑFÔGØNQÖRÈ˜T×2Ñ2°5Ñ9×?Ñ?ÀÕCÐRÐÐRà�‰×Ñ 3ÐÔ'Ø×Ñ¤Ð$5Ó 6Õ7ùò Ss   ¯%Bc                 ó8   — t        | j                  d   «      dk\  S ©Nrd   é   ©rx   rl   ro   s    r,   r-   z"EmbeddingStateMachineBase.<lambda>¯   ó   € œs 4×#8Ñ#8¸Ñ#?Ó@ÀAÑE€ r+   r‘   ©Úcollection_strategyÚid_strategyr‰   Úmax_size©rs   c                 ó²   — t        d«       | j                  t        j                  «        | j                  j
                  di |¤Ž | j                  |«       y )Nzupdate embeddingsr*   )r4   ri   rB   rE   rN   Úupdater€   ©r[   rs   s     r,   rE   z+EmbeddingStateMachineBase.update_embeddings¯   óG   € ô 	Ð!Ô"Ø×ÑÔ8×JÑJÔKàˆ�‰×ÑÑ, Ò,Ø×Ñ 
Õ+r+   c                 ó8   — t        | j                  d   «      dk\  S ©Nrd   é   r’   ro   s    r,   r-   z"EmbeddingStateMachineBase.<lambda>À   r“   r+   c                 ó²   — t        d«       | j                  t        j                  «        | j                  j
                  di |¤Ž | j                  |«       y )Nzupsert embeddingsr*   )r4   ri   rB   rF   rN   Úupsertr€   r›   s     r,   rF   z+EmbeddingStateMachineBase.upsert_embeddingsÀ   rœ   r+   c                 óˆ   — t        j                  | j                  t        t        j
                  | j                  «      «       y rS   )rv   ÚcountrN   r	   rj   r�   rl   ro   s    r,   r£   zEmbeddingStateMachineBase.countÐ   s,   € ä×ÑØ�O‰OœT¤*×"6Ñ"6¸×8MÑ8MÓNõ	
r+   c                 óB   — t        j                  | j                  «       y rS   )rv   Úno_duplicatesrN   ro   s    r,   r¥   z'EmbeddingStateMachineBase.no_duplicatesÖ   s   € ä× Ñ  §¡Õ1r+   c                 ó¸   — t        j                  | j                  t        t        j
                  | j                  «      d| j                  | j                  ¬«       y )Ngffffffî?)rN   rs   Ú
min_recallra   rQ   )	rv   Úann_accuracyrN   r	   rj   r�   rl   ra   rQ   ro   s    r,   r¨   z&EmbeddingStateMachineBase.ann_accuracyÚ   s@   € ä×ÑØ—‘ÜœJ×0Ñ0°$×2GÑ2GÓHØØ#×6Ñ6Ø—‘ö	
r+   c                 ól  — | j                  «       r | j                  j                  «       dk(  sJ ‚y t        t        j
                  | j                  «      }t        j                  | j                  |«       t        j                  | j                  |«       t        j                  | j                  |«       y r)   )Ú_is_state_emptyrN   r£   r	   rj   r�   rl   rv   Úembeddings_matchÚmetadatas_matchÚdocuments_match)r[   rl   s     r,   Úfields_matchz&EmbeddingStateMachineBase.fields_matchä   sƒ   € à×ÑÔ!à—?‘?×(Ñ(Ó*¨aÒ/Ð/Ñ/ô  $¤J×$8Ñ$8¸$×:OÑ:OÓPÐä×'Ñ'¨¯©Ð9IÔJÜ×&Ñ& t§¡Ð8HÔIÜ×&Ñ& t§¡Ð8HÕIr+   c                 ó,   — t        | j                  «      S rS   )r#   rP   ro   s    r,   r-   z"EmbeddingStateMachineBase.<lambda>ò   s   € Ô)¨$¯+©+Ó6€ r+   c                 óˆ   — | j                   j                  }t        j                  || j                  g| j
                  «       y rS   )rP   Ú_systemrv   Úlog_size_below_maxrN   Úhas_collection_mutated)r[   Úsystems     r,   r²   z,EmbeddingStateMachineBase.log_size_below_maxñ   s5   € ð
 Ÿ™×,Ñ,ˆÜ×%Ñ%Ø�T—_‘_Ð% t×'BÑ'Bõ	
r+   c                 óJ   — | j                   j                  «       D ]  }|sŒ y y)NFT)rl   Úvalues)r[   Úfields     r,   rª   z)EmbeddingStateMachineBase._is_state_emptyû   s+   € Ø×*Ñ*×1Ñ1Ó3ò 	ˆEÚÙð	ð r+   c           	      ó  — t        j                  |«      }t        |d   «      D �][  \  }}|| j                  d   v �r| j                  d   j	                  |«      }|d   �|d   |   | j                  d   |<   n@|d   €J ‚| j
                  €J ‚| j                  |d   |   g«      d   | j                  d   |<   |d   �|| j                  d   |   }|�Pt        t        t        t        t        t        t        f   f   |«      }|d   |   �|j                  |d   |   «       nn|d   |   | j                  d   |<   |d   €�Œ|d   |   | j                  d   |<   �Œ7| j                  d   j                  |«       |d   �%| j                  d   j                  |d   |   «       nL| j
                  €J ‚|d   €J ‚| j                  d   j                  | j                  |d   |   g«      d   «       |d   �%| j                  d   j                  |d   |   «       n| j                  d   j                  d «       |d   �&| j                  d   j                  |d   |   «       �Œ>| j                  d   j                  d «       �Œ^ y )Nrd   rg   rf   r   re   )rv   rw   Ú	enumeraterl   r}   ra   r	   r   Ústrr
   ÚintÚfloatrš   Úappend)r[   rs   r‚   Úidxr„   Ú
target_idxrl   s          r,   r€   z,EmbeddingStateMachineBase._upsert_embeddings  s  € Ü@J×@SÑ@SØóA
Ðô !Ð!6°uÑ!=Ó>ó A	D‰GˆC�à�T×*Ñ*¨5Ñ1Ò1Ø!×2Ñ2°5Ñ9×?Ñ?ÀÓC�
Ø(¨Ñ6ÐBà-¨lÑ;¸CÑ@ð ×)Ñ)¨,Ñ7¸
ÒCð 1°Ñ=ÐIÐIÐIØ×2Ñ2Ð>Ð>Ð>à×/Ñ/Ø2°;Ñ?ÀÑDÐEóàñð ×)Ñ)¨,Ñ7¸
ÑCð
 )¨Ñ5ÐAð (,×'<Ñ'<¸[Ñ'IÈ*Ñ'UÐ$Ø'Ð3Ü+/Ü ¤¤e¬C´´e¨OÑ&<Ð!<Ñ=Ð?Oó,Ð(ð 1°Ñ=¸cÑBÐNØ,×3Ñ3Ø 5°kÑ BÀ3Ñ Gõð
 !ð 2°+Ñ>¸sÑCð ×-Ñ-¨kÑ:¸:ÑFð )¨Ñ5ÒAà-¨kÑ:¸3Ñ?ð ×)Ñ)¨+Ñ6°zÓBð
 ×%Ñ% eÑ,×3Ñ3°BÔ7Ø(¨Ñ6ÐBØ×)Ñ)¨,Ñ7×>Ñ>Ø-¨lÑ;¸CÑ@õð  ×2Ñ2Ð>Ð>Ð>Ø0°Ñ=ÐIÐIÐIØ×)Ñ)¨,Ñ7×>Ñ>Ø×/Ñ/Ø2°;Ñ?ÀÑDÐEóàñôð
 )¨Ñ5ÐAØ×)Ñ)¨+Ñ6×=Ñ=Ø-¨kÑ:¸3Ñ?õð ×)Ñ)¨+Ñ6×=Ñ=¸dÔCØ(¨Ñ5ÐAØ×)Ñ)¨+Ñ6×=Ñ=Ø-¨kÑ:¸3Ñ?öð ×)Ñ)¨+Ñ6×=Ñ=¸dÖCñCA	Dr+   rŽ   c                 óÌ   — t        |«      }|j                  d¬«       |D ]B  }| j                  d   |= | j                  d   |= | j                  d   |= | j                  d   |= ŒD y )NT)Úreverserd   rg   re   rf   )r{   Úsortrl   )r[   rŽ   Úindices_listr†   s       r,   r�   z,EmbeddingStateMachineBase._remove_embeddingsH  sy   € ÜÐ-Ó.ˆØ×Ñ $ÐÔ'àò 	6ˆAØ×%Ñ% eÑ,¨QÐ/Ø×%Ñ% lÑ3°AÐ6Ø×%Ñ% kÑ2°1Ð5Ø×%Ñ% kÑ2°1Ñ5ñ		6r+   Ú	new_statec                 ó:   — |t         j                  k7  rd| _        y y )NT)rB   r   r³   )r[   rÄ   s     r,   ri   z)EmbeddingStateMachineBase.on_state_changeR  s   € ØÔ3×>Ñ>Ò>Ø*.ˆDÕ'ð ?r+   ©F©r0   N).rG   rH   rI   r   Ú__annotations__r   rO   r   r³   r   ÚboolrU   r   Úcollection_strj   r   rp   r   Ú
recordsetsr�   r   rC   ÚstÚlistsr   r   rD   r   rE   Úone_ofÚ	safe_textrF   r!   r£   r¥   r¨   r®   r²   rª   r€   r   r»   r�   rº   ri   Ú__classcell__©r\   s   @r,   rM   rM   Y   s�  ø… ØÓÙ & Ó 7€M�6˜"‘:Ó7Ø"ÐñF˜yð F°dõ Fñ ˜=Ô)ð
 Z×%:Ñ%:ò 
ó *ð
ð ò<ó ð<ñ 
ØØ(�:×(Ñ(¨Ó7ôð';¨×)=Ñ)=ð ';À/ÐRTÑBUò ';ó	ð';ñR 
ˆhˆb�h‰h‘x Ó.¸Ô;Ô<ð8 ð 8¨ò 8ó =ð8ñ ÑEÓFÙ	Ø(�:×(Ñ(Ø -Ø%ØØô	
ôð,¨J×,@Ñ,@ð ,ÀTò ,óó Gð,ñ ÑEÓFÙ	Ø(�:×(Ñ(Ø -Ø!˜Ÿ	™	 -°×1EÑ1EÓFØØô	
ôð,¨J×,@Ñ,@ð ,ÀTò ,óó Gð,ñ ƒ[ò
ó ð
ñ
 ƒ[ò2ó ð2ñ ƒ[ò
ó ð
ñ ƒ[ò
Jó ð
Jñ Ù6óñ ƒ[ò
ó óð
ð ó ðED¨Z×-AÑ-Að EDÀdó EDðN6°C¸±Hð 6Àó 6ð/¨ð /°÷ /r+   rM   c            
       ó¶  ‡ — e Zd ZU  ed«      Zee   ed<   ddedefˆ fd„Z	 e
e¬«      dej                  fˆ fd„«       Z
 ed„ «       e«       dd„«       «       Z ee ej"                  e«      ¬«      dej$                  d	ee   fˆ fd„«       Z e ej,                   ee«      d¬«      ¬«      ded	d
fˆ fd„«       Z ed„ «       e ej"                  eedd¬«      ¬«      dej$                  d	d
fˆ fd„«       «       Z ed„ «       e ej"                  e ej6                  eej8                  «      dd¬«      ¬«      dej$                  d	d
fˆ fd„«       «       Zˆ xZS )ÚEmbeddingStateMachinerO   rP   rQ   c                 ó&   •— t         ‰| �  ||«       y rS   )rT   rU   rZ   s      €r,   rU   zEmbeddingStateMachine.__init__Z  s   ø€ Ü‰Ñ˜ Õ,r+   r]   rN   c                 óò   •— t         ‰| �  |«       t        d| j                  j                  d   d|j
                  «       d| _        t        «       | _        | j                  j                  «       d   | _
        y )Nz7[test_embeddings][initialize] Initialize collection id r„   z$ hypothesis generated collection id r   Úversion)rT   r   r7   rN   Ú_modelr„   Úlog_operation_country   Úunique_ids_in_logÚ	get_modelÚcollection_version)r[   rN   r\   s     €r,   r   z EmbeddingStateMachine.initialize]  se   ø€ ä‰Ñ˜:Ô&ÜØEØ�O‰O×"Ñ" 4Ñ(Ø2Ø�M‰Mô		
ð $%ˆÔ Ü*-«%ˆÔØ"&§/¡/×";Ñ";Ó"=¸iÑ"HˆÕr+   c                 óf   — t          xr) | j                  dkD  xr t        | j                  «      dkD  S )Né
   rŸ   )r$   rØ   rx   rÙ   ro   s    r,   r-   zEmbeddingStateMachine.<lambda>k  s8   € Ü Ð ò 0Ø×(Ñ(¨2Ñ-ò0ä�D×*Ñ*Ó+¨aÑ/ð r+   r0   Nc                 óž  — t        | j                  | j                  j                  «      }|| j                  k\  sJ ‚|| j                  kD  r)t        d«       || _        d| _        t        «       | _        y t        d|«       t        | j                  | j                  j                  |t        ¬«      }d| _        t        «       | _        || _        y )NzT[test_embeddings][wait_for_compaction] collection version has changed, so reset to 0r   zY[test_embeddings][wait_for_compaction] wait for version to increase from current version )Úadditional_time)r'   rP   rN   r_   rÛ   r7   rØ   ry   rÙ   r&   ÚVERSION_INCREASE_WAIT_TIME)r[   Úcurrent_versionÚnew_versions      r,   Úwait_for_compactionz)EmbeddingStateMachine.wait_for_compactionj  s¹   € ô 1°·±¸d¿o¹o×>RÑ>RÓSˆØ $×"9Ñ"9Ò9Ð9Ð9ð ˜T×4Ñ4Ò4ÜØfôð '6ˆDÔ#à'(ˆDÔ$Ü%(£UˆDÕ"äØkØôô 4Ø—‘Ø—‘×$Ñ$ØÜ :ô	ˆKð ()ˆDÔ$Ü%(£UˆDÔ"Ø&1ˆDÕ#r+   rq   rs   c           	      ó4  •— t         ‰| �  |«      }t        j                  |«      }t	        d|d   dt        |d   «      «       | xj                  t        |d   «      z  c_        |d   D ],  }|| j                  vsŒ| j                  j                  |«       Œ. |S )Nz,[test_embeddings][add] Non Intersection ids rd   ú len )	rT   rC   rv   rw   r7   rx   rØ   rÙ   r   )r[   rs   Úresr‚   r„   r\   s        €r,   rC   z$EmbeddingStateMachine.add_embeddings�  sª   ø€ ô
 ‰gÑ$ ZÓ0ˆÜ@J×@SÑ@SØóA
Ðô 	Ø:Ø! %Ñ(ØÜÐ% eÑ,Ó-ô		
ð 	× Ò ¤CÐ(=¸eÑ(DÓ$EÑEÕ Ø'¨Ñ.ò 	/ˆBØ˜×/Ñ/Ò/Ø×&Ñ&×*Ñ*¨2Õ.ð	/ð ˆ
r+   r2   rˆ   rŠ   rd   c                 óð   •— t         ‰| �  |«       t        d|dt        |«      «       | xj                  t        |«      z  c_        |D ],  }|| j
                  v sŒ| j
                  j                  |«       Œ. y )Nz[test_embeddings][delete] ids rå   )rT   rD   r7   rx   rØ   rÙ   Úremove)r[   rd   r„   r\   s      €r,   rD   z#EmbeddingStateMachine.delete_by_ids¤  si   ø€ ä‰Ñ˜cÔ"ÜÐ.°°W¼cÀ#»hÔGØ× Ò ¤C¨£HÑ,Õ Øò 	2ˆBØ�T×+Ñ+Ò+Ø×&Ñ&×-Ñ-¨bÕ1ñ	2r+   c                 ó8   — t        | j                  d   «      dk\  S r�   r’   ro   s    r,   r-   zEmbeddingStateMachine.<lambda>¯  r“   r+   r‘   r”   r˜   c                 óì   •— t         ‰| �  |«       t        d|d   dt        t	        j
                  |d   «      «      «       | xj                  t        t	        j
                  |d   «      «      z  c_        y )Nz[test_embeddings][update] ids rd   rå   )rT   rE   r7   rx   rv   ÚwraprØ   )r[   rs   r\   s     €r,   rE   z'EmbeddingStateMachine.update_embeddings¯  sd   ø€ ô 	‰Ñ! *Ô-ÜØ,Ø�uÑØÜ”
—‘ 
¨5Ñ 1Ó2Ó3ô		
ð 	× Ò ¤C¬
¯©¸
À5Ñ8IÓ(JÓ$KÑKÖ r+   c                 ó8   — t        | j                  d   «      dk\  S rž   r’   ro   s    r,   r-   zEmbeddingStateMachine.<lambda>Ã  r“   r+   c                 óz  •— t         ‰| �  |«       t        d|d   dt        t	        j
                  |d   «      «      «       | xj                  t        t	        j
                  |d   «      «      z  c_        t	        j
                  |d   «      D ],  }|| j                  vsŒ| j                  j                  |«       Œ. y )Nz[test_embeddings][upsert] ids rd   rå   )	rT   rF   r7   rx   rv   rë   rØ   rÙ   r   )r[   rs   r„   r\   s      €r,   rF   z'EmbeddingStateMachine.upsert_embeddingsÃ  s£   ø€ ô 	‰Ñ! *Ô-ÜØ,Ø�uÑØÜ”
—‘ 
¨5Ñ 1Ó2Ó3ô		
ð 	× Ò ¤C¬
¯©¸
À5Ñ8IÓ(JÓ$KÑKÕ Ü—/‘/ *¨UÑ"3Ó4ò 	/ˆBØ˜×/Ñ/Ò/Ø×&Ñ&×*Ñ*¨2Õ.ñ	/r+   rÆ   rÇ   )rG   rH   rI   r   rO   r   rÈ   r   rÉ   rU   r   rÊ   rj   r   r   r   rã   rË   r�   r   rC   rÌ   rÍ   r   r   rD   rE   rÎ   rÏ   rF   rÐ   rÑ   s   @r,   rÓ   rÓ   W  sÂ  ø… Ù & Ó 7€M�6˜"‘:Ó7ñ-˜yð -°dõ -ñ ˜=Ô)ð
I Z×%:Ñ%:ô 
Ió *ð
Iñ ñ	
óñ 
ƒVò2ó óð2ñ: 
ØØ(�:×(Ñ(¨Ó7ôð¨×)=Ñ)=ð À/ÐRTÑBUô ó	ðñ" 
ˆhˆb�h‰h‘x Ó.¸Ô;Ô<ð2 ð 2¨ô 2ó =ð2ñ ÑEÓFÙ	Ø(�:×(Ñ(Ø -Ø%ØØô	
ôðL¨J×,@Ñ,@ð LÀTô Lóó GðLñ ÑEÓFÙ	Ø(�:×(Ñ(Ø -Ø!˜Ÿ	™	 -°×1EÑ1EÓFØØô	
ôð/¨J×,@Ñ,@ð /ÀTô /óó Gô/r+   rÓ   ÚcaplogrP   c                 óÂ   ‡— t        ‰«       | j                  t        j                  «       t	        ˆfd„t        dt        j                  g¬«      ¬«       t        «        y )Nc                  ó   •— t        ‰ «      S rS   ©rÓ   ©rP   s   €r,   r-   z'test_embeddings_state.<locals>.<lambda>Þ  s   ø€ Ô% fÓ-€ r+   é�_ ©ÚdeadlineÚsuppress_health_check©r   ©	r%   Ú	set_levelÚloggingÚERRORr   r   r   Úfilter_too_muchr9   ©rî   rP   s    `r,   Útest_embeddings_staterþ   Ú  sE   ø€ Ü˜VÔ$Ø
×Ñ”W—]‘]Ô#ÜÛ-ÜØ´;×3NÑ3NÐ2Oô
õô …Nr+   z-Search API only available in distributed mode)Úreasonc                 óÂ   ‡— t        ‰«       | j                  t        j                  «       t	        ˆfd„t        dt        j                  g¬«      ¬«       t        «        y)z@Test embeddings state machine using search API instead of query.c                  ó   •— t        ‰ d¬«      S )NT)rQ   rñ   rò   s   €r,   r-   z3test_embeddings_state_with_search.<locals>.<lambda>ð  s   ø€ Ô% f¸Ô>€ r+   ró   rô   r÷   Nrø   rý   s    `r,   Ú!test_embeddings_state_with_searchr  æ  sG   ø€ ô ˜VÔ$Ø
×Ñ”W—]‘]Ô#ÜÛ>ÜØ´;×3NÑ3NÐ2Oô
õô …Nr+   c                 ó8  — t        | «       t        | «      }|j                  t        j                  dddddœd t        j                  «       dt        j                  i g dd¬«
      ¬«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  g d	¢d
dgddgddgddgddgddggg d¢d dœ¬«      \  }}}}}}|j                  «        |j                  «        |j                  «        |j                  «        |j                  |||||g¬«       t        s|j!                  «        |j                  «        |j                  «        |j                  «        |j                  «        |j#                  «        y )NÚA00é€   ©úhnsw:construction_efúhnsw:search_efúhnsw:Mr<   FT©
r_   r`   ra   r„   r?   r:   Úknown_metadata_keysÚknown_document_keywordsÚhas_documentsÚhas_embeddingsr]   )Ú0Ú1Ú2Ú3Ú4Ú5ç      ¹?ç     ŒÛ?ç     PÊ?ç     ü¶?ç     ŒÃ¿ç     ¬Ò?ç     ô¿¿ç     é?ç     ¬í?ç     ØÍ¿)NNNNNN©rd   rg   re   rf   r˜   rŠ   )r%   rÓ   r   rj   r   ÚuuidÚuuid4ÚnpÚfloat16r¨   r£   r®   r¥   rC   rD   r$   rã   rp   )rP   ÚstateÚv1Úv2Úv3Úv4Úv5Úv6s           r,   Útest_add_then_delete_n_minus_1r+  ø  s’  € Ü˜VÔ$Ü! &Ó)€EØ	×ÑÜ×(Ñ(Øà(+Ø"%Øñð
  $Ü�z‰z‹|ØÜ—*‘*Ø "Ø$&ØØô
ð ô ð$ 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ"×1Ñ1â1à˜^Ð,ØÐ 0Ð1Ø! >Ð2Ø" MÐ2Ø Ð0Ø Ð0ðò >Øñ
ð 2ó Ñ€BˆˆB��B˜ð 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñ˜R  R¨¨RÐ0ÐÔ1ÝØ×!Ñ!Ô#Ø	×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ	‡N�NÕr+   c                 óh  — t        | «       t        | «      }|j                  t        j                  ddddddddddœd t        j                  d	«      d
t        j                  i g dd¬«
      ¬«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  g d¢dgd
z  dgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gddddddddœd ddddœdddœddddddd dd!d"d#œ
d$d%d&d'd(d)d*dd+dd,œ
gd d-œ¬.«      \  }}}}}}|j                  «        |j                  «        |j                  «        |j                  «        |j                  d/dgd
z  gd d d-œ¬.«      \  }|j                  «        |j                  «        |j                  «        |j                  «        |j                  d0d1gdgd
z  dgd
z  gd d2dd3dd4œgd d-œ¬.«      \  }	}
|j                  «        |j                  «        |j                  «        |j                  «        |j                  g d5¢dgd
z  dgd
z  dgd
z  gd6d7d8d9d:d;d<dd=œd>d?id@ddAdBdddCdDdddEdFœgd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  dGdHdI||	gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gdJdKddLdMdNdOdPdQœdNdRdSdTœdUddVdWdXœdYdZddd[d\œd gd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  |||
||gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gi d]d“d^d_“d`d“dad“dbdc“ddde“dfd“dgdh“did“djd“dedk“dldm“dnd“dodp“dqd“drds“dtdu“ddvdwdxdyœ¥d dzd{dd|d}œdNd~ddœd€ddd�d‚d*d7ddƒœgd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  |||
|gdgd
z  dgd
z  dgd
z  dgd
z  gd„d…d†œd‡d|ddˆd‰dŠd‹idŒd�idNdŽd�ddddSdd�œgd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  |gdgd
z  gd‘dld’ddd“d”d•œd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  g d–¢dgd
z  dgd
z  dgd
z  dgd
z  gd—d˜d™ddšœd›diddhdœœd�džigd d-œ¬.«      \  }}}}|j                  «        |j                  «        |j                  «        |j                  «        |j                  dŸd d¡|gdgd
z  dgd
z  dgd
z  dgd
z  gd¢did(dpd£d¤dd¥d¦œd7d§d¨dkd©ddªd¤ddd«œ
djd¬igd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  ||gdgd
z  dgd
z  gi d­d€“d®d¯“d°d±“d²d³“d´dµ“d¶d·“d¸d‹“d¹dN“dºd“d»dh“d¼d“d½d¾“d|dµ“d¿d“dCdÀ“dÁdÂ“dÃdÄ“dÅddÆdÇdÈddddÉdÊœ	¥ddËddÌddkdÍœgd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  |gdgd
z  gd d d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  |||||gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gdÎdÏidÐddÑœd d€dÒdÓdÔdÕdÖd×dØœdÙddÚdÛdÜdÝddÞœgd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  ||	dßdà|gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gd ddáddâddãdädåœdædçd¤dkddèœddédddêdëœdìdíddÇdîdïdðœgd d-œ¬.«       |j                  «        |j                  «        |j                  «        |j                  «        |j!                  «        y )ñNÚfOIByFÚHtmYÚRTipiUÿÿÿÚ5KdoaYsUQ_EWStV4r  )z-7nÚ92WhVE_zJ-sWÚ
wPGA8hY7uXÚ4rAr  r  r	  z$ff006990-82c3-494b-97d5-cbb05092c861i˜  Tr
  r]   )ÚkgaT4dzC2h2YoNSgUqRyE-Tmxf3MTzODI-yOÚtÚbÚvCr   iÒÑ{‡Ú5DkqA9o6ç        éû   g   `UUÕ¿ÚVT)Úszd1wQJV-9ÚhWf7gwQÚrbyHgÚPeÚ0r6qQ5XYxeqÚPzXpiqBi|Ž³ØÚE)ÚhqTZ6Ok767eCSwyvGEuig8aÚTRGxNÚ1h8Ii¾¥ÿÿ)ÚATRsÚKF0Pi§ÈÿÿiÄÌÿÿg      ø¿ÚvReDi�÷ÿÿiêÿÿÿg      °<)
ÚPcFwuÚPSÚWCgxÚEQtÚupcOfhuÚeÚUÚzI4tOÚMfHM7uU58tW_muctZfÚSvOyiåÿÿÚuDCÚOcywKhsii;[ÿÿg      p>ú-g    €„.ÁiäÖÕí)
ÚiuTAKznMg6IdUKxaPiÚoyzc0Zb3VTUktBu-uWÚ6iÚnnÚbsÚomÚMXnpsEEEÚFul8JRjÚHi7lrYr  r˜   ÚuaÚK_ÚyFsHièO5Úg      °¼)Ú
RiaaN9MNpqÚg9WxÚuexOHÚh2)ÚSCeelWyLAWG_oHaÚlYr  iObµg   €µøä>éž   iœÿÿÿi¤ü  éã   g    >†A)Ú0ZbYq40PÚOT9sTxkMz-jÚrqsBEfrELJctJoVeLqtsPZpÚ5M4ÚXFtÚiiÚlyÚDy6Úq7LZUWzKuQG8m-Ti  €ÚxGwÚki�äÿÿg   €;ó*A)ÚfPÚAPtmtÚxKb6ÚCÚG18Vr<  zc-ÚG92nÚYTTBWs31rbM_L_PQDSCuÚxOGzFeGÚgh7cuT_ruA3mnzO3m3-X1ÚZNt2PF6M5_qÚIj0Yh6iÅKÿÿiÖM  Ú34oWsr93EUlç    ~„.Ag   €µøä¾ÚXc80eze-QXuDdnxYMd)Ú2fDAuv7Ú4Etz5hqGH60G-yZ6PWyM1BÚOkMjjGÚyTkÚwZvpmS5HbTAIÚbvqÚzPhLÚgg   `ffþ?)ÚWKÚyÚGNZphPCKay88gsh3x_iØÿÿÿÚJDcigÿÿÿ)z_zVO2i-NÚtWHxoÚltu_E_fgÚ9yGpikÚZnQ3ALwAé2   i�º”L)ÚotM8ÚEGeKmÚ
skf71O0UKTzS8Kc8-l95RpcÚ4bGz1QmzbKVySN1yrXFl56CmDS08FÚhBFXAIAÚWx4dcB5iÝÿÿÿÚ8wÚ8ÚmwQ5Úc7ÚG9g2ÚJÚVYzVQGb_r-hzoAg    ëÿï¿ÚM0lMigÚFg    ™™ñ?ÚdÚRÚDugrcoZvÚ45Bg   @  ÀzUG-sSVÚcri4cT1Gi›dÀÚIiÅîÿÿiéÿÿÿÚ
xM0jUV4U2rÚmsuFYMwj_SXc)ÚFqFWR__r  Úvwo4WERBljY3aWjWnqLÚWFib@ÿÿiåHr  )ÚmÚf4ÚUtÚV_NVCwé   )ÚVWuPÚ7uF8r  g      ¿iù¾¸LéÈ   )Úa1ÚML_Zl2Ir85KolESaXÚiJvAÚO8oÚrMSr  Ú5AeEÚ2qÚ	6T9tEEC84iî  )ÚYxÚlGe5GMXÚUvsAljL5V5ELRvÚ	yeLTrhAIqç      ø?ÚiPç      à¿rx  ÚRii&  ip à)ÚpzHn2ÚYfdftMEd0C5ekByb7mhdbÚLJCViuÚLTÚ5YÚOoVwEÚvqÚ8Wf6iºÅ­ÚebEKOxi	ÿÿg   àuA)ÚC1KbOOlKkzzLo9CGU2ÚNHÚMÚfpu77F70Iclz	dz6fI-GppÚqVVWÚQrcq645F)ÚF7ÚRig1ÚRXiz_nC8-iëœÿÿiã  g   @Ì¼+A)ÚFBtaPcQWV24vÚddLq1My3mbUL9IÚfIÚHLxuosTÚATUP1)ÚAhCÚwm9AwPÚKim}ÿÿÚ4GJÚrÚAunf5Ú
J8O0R8VGaYÚnK67gg    €„.Ag   `õ\A)ÚK2cCgÚoObAcpÚaxÚafzpÚxnRCSPJUF4JZ2sKOIRDcznBaQ6F1O38etVMhss2angu-g   €º˜Ág    ƒ#
AÚiSNcMrTé°   )
ÚUwbDWM2_r  ÚnfoovtÚ
elaMLbhEvWr  ÚUOr¨  Ú3ssGS4rSKXsKqRPFTBGrRPPsuÚGwÚVÚtTwÚeiÚ_ÚqscyRBC_ÚTPÚIXdÚ	N0FG7Nta1g   À>¾&ÁÚwoDéB   ÚIVÚ0L3xImGgz9N--JBl0uH_au_ÚKVmhtcAÚqrÚNfL6ÚtaIVpCÚXJXÚlÚ
8YaEynJznBiOÿÿÿÚNg   Àº$AÚebBi÷Ï  g   €Ñ
ð@Ú	cRl59jW_Og    ~„.Ág      8g   @wÁ)	ÚfJz
QK8l3l4yP-r  z	-XP899RRnÚA9ÚUlxNwmcÚGÚ1NoCdÚWRn5cDÚ	HExeVM0iMiSàh)ÚzAbCKkEvE4sÚhnFNÚUc9ÚvÚXÚWÚYz-iRt8Ú8MxYq)Ú55m28ÚkrQsTFdqMhYjhFiHÿÿÿg      ?ÚVG7E7xmio#  Ú1xXUHLklmIVSVgQd7EHUCu5waÚkl6)Ú9SnviLfÚ
Y0Jw4pLTwrÚv3EÚ
Fx3jsbcdqyÚHz-UÚSiôÿÿÿÚsBiŽÿÿÚ
xtLNrNyRo2g    Ÿ),Á)rO  ÚQfm_6duLÚSh0LkduZt5qsRJrFÚ8DMÚMZrg  Ú7ÚOiaÚiDÚ4eKiÙ¨ÿÿi·Éÿÿié]Ì)ÚtVsÚBÚzTRzbq6VslBBo2_12hgyKNPddxify34-np-ÚF7FcZpODwCTHg91o4mKTjBLÚ1ZjfysÚlg3z_TG-YhAQÚQ)Ú1qrÚTKVÚ8tLuÚQHsxar¢  ÚUepiV6K_g    YRÁ)ÚpÚrRÚUDZ_uRÚfFG6cZvICaGczunTbxz0qd2-AV1iÿÿÿÚC9OePgÚaBYi%Dÿÿ)ÚEXXVBZUÚtJMOÚ4oÚF8g8nr  Úhv3i)r%   rÓ   r   rj   r   r   ÚUUIDr"  r#  r¨   r£   r®   r¥   rC   rF   rE   rp   )rP   r$  Úembedding_ids_0Úembedding_ids_1Úembedding_ids_2Úembedding_ids_3Úembedding_ids_4Úembedding_ids_5Úembedding_ids_6Úembedding_ids_7Úembedding_ids_8Úembedding_ids_9Úembedding_ids_10Úembedding_ids_11Úembedding_ids_12s                  r,   Útest_embeddings_flake1rQ  .  s•  € Ü˜VÔ$Ü! &Ó)€EØ	×ÑÜ×(Ñ(ØàØ!ØØ"Ø)Ø(+Ø"%Øñ	ð  $Ü�y‰yÐ?Ó@ØÜ—*‘*Ø "Ø$&ØØô'
ð ô ð. 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔð 	×ÑâQà��c‘	Ø��c‘	Ø��c‘	Ø��c‘	Ø��c‘	Ø��c‘	ðð Ø .Ø)Ø ØØ#6Ø#ñð à/9Ø0Øñð
 -°fÑ=à#ØØ"Ø Ø#ØØØ!Ø*-Ø1ñð +1ØØ'1Ø Ø/ØØ$Ø $Ø)Ø"ñð;)ðT ñi5
ð 	ó 7	ñØØØØØØðr 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ×-Ñ-àØ˜3 ™9˜+ØØñ	
ð .ó Ñ€_ð 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ',×';Ñ';à˜&�>Ø˜3 ™9 q c¨C¡iÐ0àà",Ø Ø3Øñ	ðð ñ
ð (<ó (Ñ$€O�_ð  
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñâ1Ø˜3 ™9 q c¨C¡i°!°°s±Ð;ð !*Ø 5ØØ/3Ø ØØ#Øñ	ð ˜Ð!à$Ø"Ø*ØØ!ØØØ!Ø,1Ø#Ø%.ñðð4 ñ;
ð ô  ðB 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñð ØØØØðð ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQð  &Ø Ø*/Ø+Ø#Ø$:Ø"Ø*ñ	ð 1ØØ*;ñð
 !¨5¸eÈtÑTà&ØØ"&Ø$(Ø5Bñð ð1ð4 ñG$
ð ô &ðN 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñð  ØØØØðð ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQðØ˜uðà˜sðð ˜%ðð ˜ð	ð
 ˜Dðð ˜Cðð ˜$ðð "Ð#6ðð ˜dðð ˜ðð Ð*ðð ˜ðð  ðð Ð.ðð ˜eðð   ð!ð" ˜ð#ð$  %ØØ+7Ø(ò+ð. Ø I°UÀcÑJØ/¸À5ÑIà*Ø).Ø Ø(ØØ#Ø1Øñ	ð7%ðL ñ_0
ð ô 2ðf 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà# _°oÀÐWØ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÐFà"¨tÑ4à$ dØ# UØ Ø˜$ð	ð �d�à3Ø-1Ø'ØØØ"Ø+Ø!ñ	ðð( ñ/
ð ô ð6 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà#Ð$Ø˜3 ™9˜+à&4ØØØ#Ø!ØØ(ñð ñ
ð ô ð  
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔð 	×Ñâ1Ø˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÐFð %+Ø&*Ø$Ø$ñ	ð ˜$�ØÐ(;Ñ<Ø�f�ð
ð ñ
ð 	ó 	ñØØØØð& 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà˜3 ¨Ð9Ø˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÐFà˜tÐ$à2Ø1Ø!Ø%Ø,0Ø/<ñð !6Ø$Ø(Ø"3Ø"ØØØ1:ØØñð �e�ð-ð0 ñ7
ð ô ð> 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà# _Ð5Ø˜3 ™9 q c¨C¡iÐ0ðØÐ*ðà˜ðð ˜%ðð   ð	ð
 ˜2ðð ˜*ðð % dðð Ð5ðð ˜%ðð Ð/ðð ˜dðð ˜3ðð ˜ðð ! $ðð ˜ðð  ˜ð!ð" ˜5ð#ð$ &Ø"'Ø$Ø!*Ø0Ø#ØØ"Ø+ò5ð: $(Ø'Ø Ø&ØØ*ñð;%ðL ñS*
ð ô ,ðZ 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà#Ð$Ø˜3 ™9˜+ØØñ	
ð ô ð 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñð !ØØØ Øðð ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQà�g�Ø!°UÑ;Øà/Ø"&Ø*Ø"+ØØ5Øñð Ø %Ø(,Ø!Ø&Ø#Øñðð. ñA!
ð ô #ðH 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà# _°e¸TÀ?ÐSØ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQààØØØ7=Ø/4Ø$Ø%ñð &ØØ%Ø.Øñð Ø$Ø"Ø$(Ø&0ñð  -Ø$ØØ&ØØ"ñð3!ðD ñK&
ð ô (ðR 
×ÑÔà	‡K�K„MØ	×ÑÔØ	×ÑÔØ	‡N�NÕr+   c                 ó´  — t        |«       t        |«      }|j                  t        j                  dddddœd t        j                  d«      dt        j                  i g dd¬«
      ¬	«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  g d
¢ddgddgddgddgddggg d¢d dœ¬«      \  }}}}}|j                  «        |j                  «        |j                  «        |j                  «        |j                  |gddgg||igd dœ¬«       |j                  «        |j                  «        y )Nr  r  r  z$2fb0c945-b877-42ab-9417-bfe0f6b172afr<   FTr
  r]   )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )NNNNNr  r˜   g     ¬â?g     ˜­?)r%   rÓ   r   rj   r   r   rC  r"  r#  r¨   r£   r®   r¥   rC   rE   rp   )rî   rP   r$  r%  r&  r'  r(  r)  s           r,   Útest_update_nonerS  J  sw  € Ü˜VÔ$Ü! &Ó)€EØ	×ÑÜ×(Ñ(Øà(+Ø"%Øñð
  $Ü�y‰yÐ?Ó@ØÜ—*‘*Ø "Ø$&ØØô
ð ô ð$ 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ×-Ñ-â,à˜^Ð,ØÐ 0Ð1Ø! >Ð2Ø" MÐ2Ø Ð0ðò 8Øñ
ð .ó Ñ€BˆˆB��Bð 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà�4Ø)Ð+;Ð<Ð=Ø˜r˜(˜Øñ	
ð ô ð 
×ÑÔØ	‡N�NÕr+   c                 óò  — t        | «       t        | «      }|j                  t        j                  di dd“dd“dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d t        j                  d«      dt        j                  i g dd¬«
      ¬ «       |j                  «        |j                  «        |j                  «        |j                  «        |j                  g d!¢g d"¢g d#¢g d$¢g d%¢g d&¢g d'¢gd d d(œ¬)«      }d*}i }|D ]  }|||<   |d+z  }Œ |j                  «        |j                  «        |j                  «        |j                  «        |j                  |d*   |d,   d-|d.   d/gg d0¢g d1¢g d2¢g d3¢g d4¢gd d d5œ¬)«       |j                  «        |j                  «        |j                  «        |j                  «        t        s|j!                  «        |j                  «        |j                  «        |j                  «        |j                  «        |j                  d6|d*   |d,   gg d7¢g d8¢g d9¢gd d d(œ¬)«       |j                  «        |j                  «        |j                  «        |j                  «        |j#                  |d:   |d+   |d.   |d,   |d   g¬;«       |j                  «        |j                  «        |j                  «        |j                  «        |j                  d<d=d>d?|d+   gg d@¢g dA¢g dB¢g dC¢g dD¢gd d d5œ¬)«      }dE}|D ]  }|||<   |d+z  }Œ |j                  «        |j                  «        |j                  «        t        s|j!                  «        y y )FNÚKR3cfÚUfmxsi3r�  ÚbMMvvrqM4MKmp5CJB8AiÉõ  rU  TÚ37PNiÚVknÚ5KZfkpod3ND5soL_ÚKA4zcZL9lRN9éŽ   ÚOc8G7ysXmE8lp4Hos_ÚPOQe8Unz1uJÚBI930Ué   ÚteFÚtyMrÄ  ÚR0ZiZr®  ÚIOwiƒ›ÿÿr  r  r  r	  z$284b6e99-b19e-49b2-96a4-a2a93a95447drŸ   r
  r]   )Ú255r  z3-r†   ÚNkÚ9yPvT)g333333ó?gffffff@rÂ  )ç      @ç      @r<   )r2   r<   rŸ   )é   r‘   é   )gÍÌÌÌÌÌ!@g      "@é   )rh  ri  çffffff@r  r˜   r   r2   rj  ÚKWcDaHUVD6MxEiJr‘   ÚPdlP1d6w)r2   é   rj  )rŸ   r‘   é	   )rq  rŸ   r‘   )rŸ   rq  é   )r2   r‘   rj  )rd   rg   rf   re   ÚTpjiboLSuYWBJDbRW1zeNmC)rj  rk  rl  )rl  rq  rŸ   )r2   rŸ   rk  r<   rŠ   ÚoÚD3V84ÚRtÚTDwlc9C8_evn)rq  gš™™™™™@gÃõ(\�Â	@)gHáz®Gõ?g…ëQ¸…@g¤p=
×£@)gÍÌÌÌÌÌ#@gš™™™™™#@gÍÌÌÌÌÌô?)gffffff#@rm  rh  )g333333@rm  gÍÌÌÌÌL#@rk  )r%   rÓ   r   rj   r   r   rC  r"  Úfloat32r¨   r£   r®   r¥   rC   rF   r$   rã   rD   )rP   r$  rg   r†   Úemb_listÚ	embeddings         r,   Útest_add_delete_addr{  �  s  € Ü˜VÔ$Ü! &Ó)€EØ	×ÑÜ×(Ñ(ØðØ˜8ðà% uðð �Tðð ˜ð	ð
 # Dðð  ðð % mðð ˜"ðð �eðð �tðð ˜ðð �Tðð �vðð '¨ðð ! #ðð  ˜#ð!ð$  $Ü�y‰yÐ?Ó@ØÜ—*‘*Ø "Ø$&ØØô7
ð ô ð> 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ×%Ñ%â9âÚÚÚÚÚðð Øñ
ð &ó €Jð 	
€AØ€HØò ˆ	Øˆ�‰Ø	ˆQ‰‰ðð 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñð ˜‘Ø˜‘Ø!Ø˜‘Øðò &¢y²)ºYÊ	ÐRØØñ
ð ô ð 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔÝØ×!Ñ!Ô#Ø	×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×Ñà-¨x¸©{¸HÀQ¹KÐHÚ$¢i²Ð;ØØñ	
ð ô ð 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ	×ÑØ�a‰[˜( 1™+ x°¡{°H¸Q±KÀÈ!ÁÐMð ô ð 
×ÑÔØ	‡K�K„MØ	×ÑÔØ	×ÑÔØ×%Ñ%à˜ $¨¸À¹ÐDâÚ"Ú ÚÚ ðð Øñ
ð &ó €Jð 	
€AØò ˆ	Øˆ�‰Ø	ˆQ‰‰ðð 
×ÑÔØ	‡K�K„MØ	×ÑÔÝØ×!Ñ!Õ#ð r+   c                 óp  — t        | «       | j                  d¬«      }|j                  dgdgg¬«       |j                  «       dk(  sJ ‚|j                  dgdgg¬«       |j                  «       dk(  sJ ‚|j	                  «       }|d   dgk(  sJ ‚|j                  dg¬«       |j                  «       d	k(  sJ ‚y )
NÚfoo©r_   Úar9  ©rd   rg   r2   rd   rŠ   r   )r%   rh   r   r£   ÚgetrŒ   )rP   rK   Úresultss      r,   Útest_multi_addrƒ    s¶   € Ü˜VÔ$Ø×#Ñ#¨Ð#Ó/€DØ‡H�H�#� S E 7€HÔ+Ø�:‰:‹<˜1ÒÐÐð 	‡H�H�#� S E 7€HÔ+à�:‰:‹<˜1ÒÐÐà�h‰h‹j€GØ�5‰>˜c˜UÒ"Ð"Ð"à‡K�K�S�E€KÔØ�:‰:‹<˜1ÒÐÑr+   c                 ó‚  — t        | «       | j                  d¬«      }t        j                  t        j
                  «      5  |j                  ddgdgdgg¬«       d d d «       t        j                  t        j
                  «      5  |j                  ddgdgdgg¬«       d d d «       y # 1 sw Y   ŒOxY w# 1 sw Y   y xY w)Nr}  r~  r  r9  gš™™™™™ñ?r€  )r%   rh   ÚpytestÚraisesÚerrorsÚDuplicateIDErrorr   r¡   ©rP   rK   s     r,   Útest_dup_addrŠ    s¨   € Ü˜VÔ$Ø×#Ñ#¨Ð#Ó/€DÜ	�‰”v×.Ñ.Ó	/ñ <Ø�‰�c˜3�Z¨c¨U°S°E¨NˆÔ;÷<ä	�‰”v×.Ñ.Ó	/ñ ?Ø�‰˜˜c˜
°°¸°u¨~ˆÔ>÷?ð ?÷<ð <ú÷?ð ?ús   ÁB)ÂB5Â)B2Â5B>c           	      óÞ  — t        | «       | j                  d¬«      }g d¢}t        j                  j	                  dd«      }t        j                  j	                  dd«      }t        j                  j                  ||f«      j                  «       }|j                  t        t        |«      |¬«      }|D ]2  }||   }|€J ‚t        |D �	cg c]  }	t        |	«      dk(  ‘Œ c}	«      rŒ2J ‚ y c c}	w )	Nr}  r~  )rf   re   rg   Ú	distancesr2   iÐ  éd   )Úquery_embeddingsÚincluder   )r%   rh   r"  ÚrandomÚrandintÚtolistÚqueryr	   r   Úallrx   )
rP   rK   Úfieldsr  rß  rŽ  r‚  r·   Úfield_resultsÚresults
             r,   Útest_query_without_addr˜    sà   € Ü˜VÔ$Ø×#Ñ#¨Ð#Ó/€DÚK€FÜ
�	‰	×Ñ˜!˜TÓ"€AÜ
�	‰	×Ñ˜!˜SÓ!€AÜ—y‘y×'Ñ'¨¨A¨Ó/×6Ñ6Ó8ÐØ�j‰jÜœjÐ*:Ó;ÀVð ó €Gð ò CˆØ ™ˆØÐ(Ð(Ð(Ü°=ÖA¨”C˜“K 1Ó$ÒAÕBÐBÐBñCùò Bs   Ã	C*
c                 ó  — t        | «       | j                  d¬«      }|j                  dgg d¢¬«      }t        |d   «      dk(  sJ ‚t        |d   «      dk(  sJ ‚t        |d	   «      dk(  sJ ‚t        |d
   «      dk(  sJ ‚y )Nr}  r~  r  )rf   re   rg   )rd   r�  rd   r   re   rf   rg   )r%   rh   r�  rx   )rP   rK   r—  s      r,   Útest_get_non_existentrš  /  s‘   € Ü˜VÔ$Ø×#Ñ#¨Ð#Ó/€DØ�X‰X˜3˜%Ò)QˆXÓR€FÜˆv�e‰}Ó Ò"Ð"Ð"Üˆv�kÑ"Ó# qÒ(Ð(Ð(Üˆv�kÑ"Ó# qÒ(Ð(Ð(Üˆv�lÑ#Ó$¨Ò)Ð)Ñ)r+   z9We don't properly escape SQL internally, causing problemsc                 óè   — t        | «       d}| j                  d¬«      }|j                  |gdgg¬«       |j                  «       dk(  sJ ‚|j	                  |g¬«       |j                  «       dk(  sJ ‚y )	Núr}  r~  r9  r€  r2   rŠ   r   )r%   rh   r   r£   rŒ   )rP   r„   rK   s      r,   Útest_escape_chars_in_idsr�  :  sp   € ä˜VÔ$Ø	€BØ×#Ñ#¨Ð#Ó/€DØ‡H�H�"� C 5 '€HÔ*Ø�:‰:‹<˜1ÒÐÐØ‡K�K�R�D€KÔØ�:‰:‹<˜1ÒÐÑr+   c                 óº   — t        | «       | j                  d¬«      }t        j                  t        «      5  |j                  «        d d d «       y # 1 sw Y   y xY w)Nr}  r~  )r%   rh   r…  r†  Ú
ValueErrorrŒ   r‰  s     r,   Útest_delete_empty_failsr   E  sG   € Ü˜VÔ$Ø×#Ñ#¨Ð#Ó/€DÜ	�‰”zÓ	"ñ Ø�‰Œ÷÷ ñ ús   ·AÁAÚkwargsrd   r}  ÚwhereÚbarÚwhere_documentz	$contains)rd   r¢  )rd   r¤  )rd   r¢  r¤  c                 ó¦   — t        | «       | j                  d¬«      } |j                  di |¤Ž}t        |t        «      sJ ‚d|v sJ ‚|d   dk\  sJ ‚y )Nr}  r~  Údeletedr   r*   )r%   rh   rŒ   Ú
isinstanceÚdict)rP   r¡  rK   r—  s       r,   Útest_delete_successr©  L  sc   € ô  ˜VÔ$Ø×#Ñ#¨Ð#Ó/€DàˆT�[‰[Ñ"˜6Ñ"€FÜ�fœdÔ#Ð#Ð#Ø˜ÑÐÐØ�)Ñ Ò!Ð!Ñ!r+   )Úsupported_typesrª  c           	      óÞ  — t        j                  dd| «      }t        t        t        t        |«      «      «      }t        |D �cg c]˜  }t        |t        j                  «      xrz |j                  t        j                  k(  xs[ |j                  t        j                  k(  xs< |j                  t        j                  k(  xs |j                  t        j                  k(  ‘Œš c}«      sJ ‚y c c}w ©NrÝ   )rj   Úcreate_embeddingsr   r	   r   r   r”  r§  r"  Úndarrayr:   rx  Úfloat64Úint32Úint64©rª  ÚembdsÚvalidated_embeddingsr8   s       r,   Ú9test_autocasting_validate_embeddings_for_compatible_typesrµ  e  sÏ   € ô ×(Ñ(¨¨R°ÓA€EÜ.ÜÜÜ  Ó'ó	
óÐô ð .ö		
ð ô �uœbŸj™jÓ)ò à—‘œrŸz™zÑ)ò +Ø—;‘;¤"§*¡*Ñ,ò+à—;‘;¤"§(¡(Ñ*ò+ð —;‘;¤"§(¡(Ñ*ñò		
ôð ñ ùò		
ó   ÁBC*c           	      óÞ  — t        j                  dd| «      }t        t        t        t        |«      «      «      }t        |D �cg c]˜  }t        |t        j                  «      xrz |j                  t        j                  k(  xs[ |j                  t        j                  k(  xs< |j                  t        j                  k(  xs |j                  t        j                  k(  ‘Œš c}«      sJ ‚y c c}w r¬  )rj   Úcreate_embeddings_ndarrayr   r	   r   r   r”  r§  r"  r®  r:   rx  r¯  r°  r±  r²  s       r,   Ú1test_autocasting_validate_embeddings_with_ndarrayr¹  ~  sÌ   € ô ×0Ñ0°°R¸ÓI€EÜ.ÜŒZÔ-¨eÓ4Ó5óÐô ð .ö		
ð ô �uœbŸj™jÓ)ò à—‘œrŸz™zÑ)ò +Ø—;‘;¤"§*¡*Ñ,ò+à—;‘;¤"§(¡(Ñ*ò+ð —;‘;¤"§(¡(Ñ*ñò		
ôð ñ ùò		
r¶  )Úunsupported_typesrº  c           	      ó  — t        j                  dd| «      }t        j                  t        «      5 }t        t        t        t        |«      «      «       d d d «       dt        j                  «      v sJ ‚y # 1 sw Y   Œ#xY w)NrÝ   zsExpected embeddings to be a list of floats or ints, a list of lists, a numpy array, or a list of numpy arrays, got )rj   r­  r…  r†  rŸ  r   r	   r   r   rº   r8   )rº  r³  rN  s      r,   Ú7test_autocasting_validate_embeddings_incompatible_typesr¼  ”  su   € ô ×(Ñ(¨¨RÐ1BÓC€EÜ	�‰”zÓ	"ð K aÜœD¤Ô-AÀ%Ó-HÓIÔJ÷Kð 	~Üˆq�w‰w‹<ñ	ðñ	÷	Kð Kús   ±#A6Á6A?c                  óÀ   — t        j                  g «      g} t        j                  t        «      5 }t        | «       d d d «       dt        «      v sJ ‚y # 1 sw Y   ŒxY w)Nz¢Expected each embedding in the embeddings to be a 1-dimensional numpy array with at least 1 int/float value. Got a 1-dimensional numpy array with no values at pos)r"  Úarrayr…  r†  rŸ  r   rº   )r³  rN  s     r,   Útest_0dim_embedding_validationr¿  ¢  sX   € ÜŸ™ "›˜€EÜ	�‰”zÓ	"ð # aÜ˜EÔ"÷#ð 	mÜˆq‹6ñ	ðñ	÷#ð #ús   °AÁAc           	      óJ  — t        | «       | j                  d¬«      }t        | |j                  «      }t	        ddd«      D ]8  }|j                  t	        ||dz   «      D �cg c]  }t        |«      ‘Œ c}¬«       Œ: t        st        | |j                  |t        «       y y c c}w )NÚnoopr~  r   éˆ  r�  rŠ   )
r%   rh   r'   r_   ÚrangerŒ   rº   r$   r&   rà   )rP   rK   Úinitial_versionÚbatchr†   s        r,   Útest_no_op_compactionrÆ  ¬  s“   € Ü˜VÔ$Ø×#Ñ#¨Ð#Ó0€DÜ,¨V°T·Y±YÓ?€OÜ�q˜$ Ó$ò EˆØ�‰¬¨u°e¸c±kÓ)BÖC Aœ˜Q�ÒCˆÕDðEåÜ!Ø�D—I‘I˜Ô0Jõ	
ð ùò Ds   Á B 
c           
      ó.  — t        | «       d}d}| j                  d¬«      }t        | |j                  «      }t	        d||«      D ]b  }t	        |||z   «      D �cg c]  }|‘Œ }}|D �cg c]  }t        |«      ‘Œ }}|j                  ||D �cg c]  }d|z  d|z  dz   g‘Œ c}¬«       Œd t        st        | |j                  |t        «       t        | |j                  «      }t	        d||«      D ]H  }t	        |||z   «      D �cg c]  }|‘Œ }}|D �cg c]  }t        |«      ‘Œ }}|j                  |¬	«       ŒJ t        st        | |j                  |t        «       t        |j                  «       d
   «      dk(  sJ ‚y c c}w c c}w c c}w c c}w c c}w )NrÂ  r�  Úadd_then_purger~  r   r<   r2   r€  rŠ   rd   )r%   rh   r'   r_   rÃ  rº   r   r$   r&   rà   rŒ   rx   r�  )	rP   Úrecord_countÚbatch_countrK   Úwitness_versionrÅ  r†   Úrecord_id_valsÚ
record_idss	            r,   Útest_add_then_purgerÎ  ¸  s“  € Ü˜VÔ$Ø€LØ€KØ×#Ñ#Ð)9Ð#Ó:€DÜ,¨V°T·Y±YÓ?€Oô �q˜,¨Ó4ò 
ˆÜ%*¨5°%¸+Ñ2EÓ%FÖG š!ÐGˆÐGØ&4Ö5 ”c˜!•fÐ5ˆ
Ð5Ø�‰ØÀNÖ'S¸q¨¨Q©°°A±¸±	Ò(:Ò'Sð 	õ 	
ð
õ Ü!Ø�D—I‘I˜Ô0Jô	
ô
 -¨V°T·Y±YÓ?€OÜ�q˜,¨Ó4ò $ˆÜ%*¨5°%¸+Ñ2EÓ%FÖG š!ÐGˆÐGØ&4Ö5 ”c˜!•fÐ5ˆ
Ð5Ø�‰˜
ˆÕ#ð$õ Ü!Ø�D—I‘I˜Ô0Jô	
ô
 ˆt�x‰x‹z˜%Ñ Ó! QÒ&Ð&Ñ&ùò- HùÚ5ùâ'Sùò HùÚ5s   Á	E>Á(FÂFÄ	FÄFc                 óš  — t        | «       | j                  d«      }t        | |j                  «      }d}t	        ||dz   «      D �cg c]  }t        |«      ‘Œ }}t	        ||dz   «      D �cg c]  }|dz  |dz  g‘Œ }}|dz   }|j                  ||¬«       |j                  |¬«       t        st        | |j                  |t        «       t        | |j                  «      }d}t	        |||z   «      D �cg c]  }t        |«      ‘Œ }}t	        |||z   «      D �cg c]  }|dz  |dz  g‘Œ }}|j                  ||¬«       |j                  |¬«       |j                  ||¬«       t        st        | |j                  |t        «       |j                  «       }t        |d   «      |k(  sJ ‚|D ]  }	|	|d   v rŒJ ‚ y c c}w c c}w c c}w c c}w )	NÚencompassing_deleter   rk  g      ð?r€  rŠ   é   rd   )r%   rh   r'   r_   rÃ  rº   r   rŒ   r$   r&   rà   r�  rx   )
rP   ÚcolrÄ  Úid_startr†   rd   rg   Ú
len_to_addÚget_resultsr„   s
             r,   Útest_encompassing_deleterÖ  Ú  sÄ  € Ü˜VÔ$Ø
×
"Ñ
"Ð#8Ó
9€CÜ,¨V°S·X±XÓ>€Oà€Hä  ¨8°a©<Ó8Ö
9�aŒ3ˆq�6Ð
9€CÐ
9Ü.3°H¸hÈ¹lÓ.KÖL¨�1�s‘7˜A ™GÒ$ÐL€JÐLØ˜!‰|€Hà‡G�G� 
€GÔ+Ø‡J�J�3€JÔåÜ!Ø�C—H‘H˜oÔ/Iô	
ô -¨V°S·X±XÓ>€Oð €JÜ  ¨8°jÑ+@ÓAÖ
B�aŒ3ˆq�6Ð
B€CÐ
BÜ.3°H¸hÈÑ>SÓ.TÖU¨�1�s‘7˜A ™GÒ$ÐU€JÐUà‡G�G� 
€GÔ+Ø‡J�J�3€JÔØ‡G�G� 
€GÔ+åÜ!Ø�C—H‘H˜oÔ/Iô	
ð
 —'‘'“)€KÜˆ{˜5Ñ!Ó" jÒ0Ð0Ð0Øò (ˆØ�[ Ñ'Ò'Ð'Ð'ñ(ùò= :ùÚLùò CùÚUs   ÁF9Á+F>Ã3GÄGrÇ   )qÚhypothesis.statefulrV   Úhypothesis.strategiesr   r…  rú   rj   rÌ   r   r   r   Útypingr   r   r	   r
   r   r   r   Údataclassesr   Úchromadb.api.typesr   r   r   r   r   r   Úchromadb.configr   Úchromadb.errorsr‡  Úchromadb.apir   Úchromadb.api.models.Collectionr   Ú!chromadb.test.property.strategiesÚtestÚpropertyr   r   r   r   r   r   r   r   r    r!   Úcollectionsr"   Ú!chromadb.test.property.invariantsrv   Úchromadb.test.conftestr#   r$   r%   Únumpyr"  r   Ú-chromadb.test.utils.wait_for_version_increaser&   r'   r.   rº   r»   rÈ   rà   r4   r9   ÚsharedÚsampled_fromÚfloat_typesr;   ÚSearchStrategyr#  rx  r¯  Úintegersr@   rB   rÊ   rM   rÓ   ÚLogCaptureFixturerþ   ÚmarkÚskipifr  r+  rQ  rS  r{  rƒ  rŠ  r˜  rš  Úxfailr�  r   Úparametrizer©  r°  r±  r¼   rµ  r¹  rÉ   r¼  r¿  rÆ  rÎ  rÖ  r*   r+   r,   ú<module>rò     sµ  ðÜ Û Ý Û Û Û Ý "ß 3Ñ 3ß A× AÑ AÝ !÷÷ õ #Ý  Ý "Ý 5ß 6Ó 6÷÷ ÷ õ $ß 6Ó 6÷ñ ó
 Û ÷ñ !,©IÓ 6€ˆ�C˜�HÑÓ 6ð !Ð ðˆsð �tó ó
!ð €B‡I�Iˆoˆb�o‰o˜j×4Ñ4Ó5¸7ÔCð �×"Ñ" 5¨¯©°R·Z±ZÀÇÁÐ)KÑ#LÑMó ð /8¨b¯i©iØ€B‡K�K˜! tÔ,°+ô/Ð �R×&Ñ& sÑ+ó ð
 ÷,ð ,ó ð,ð �—	‘	Ð0˜*×0Ñ0À$ÔGÈVÔT€ô{/Ð 5ô {/ô|@/Ð5ô @/ðF	 &×":Ñ":ð 	ÀIð 	ÐRVó 	ð ‡�×ÑØÐLð ó ðØ×$Ñ$ðØ.7ðà	òóðð3¨9ð 3¸ó 3ðlY 9ð Y°ó Yðx4˜V×5Ñ5ð 4¸yð 4ÈTó 4ðn$ 	ð $¨dó $ðD˜9ð ¨ó ð&?˜ð ? tó ?ðC 9ð C°ó Cð * )ð *°ó *ð ‡�×ÑÐUÐÓVð Yð °4ò ó Wðð Ið °$ó ð ‡�×ÑØà	��ÐØ	�5˜%�.Ð!Ø	˜K¨Ð/Ð0Ø� 5¨% .Ñ1Ø�¨K¸Ð+?Ñ@à�7Ø˜U�^Ø*¨EÐ2ñ	
ðóð" 	ð "°3ð "¸4ò "óð"ñ ��r—‘¨¯
©
°B·H±H¸b¿h¹hÈÈUÐ'SÓTÔUðØ˜#‘Yðà	òó Vðñ0 ��r—‘¨¯
©
°B·H±H¸b¿h¹hÈÈUÐ'SÓTÔUðØ˜#‘Yðà	òó Vðñ* ˜˜Ÿ™¨#¨t¨Ó5Ô6ð
Ø˜C‘yð
à	ò
ó 7ð
óð	
 )ð 	
°ó 	
ð' 	ð '¨dó 'ðD&( Yð &(°4ô &(r+   