ó
    Î’Œj-  ã                   óV  • S SK r S SKrS SKJr  S SKJrJr  S SKJr  \ R                  R                  S5      S 5       r\ R                  R                  S5      S 5       r\ R                  R                  S	5      S
 5       rS rS r\ R                  R!                  S/ SQ5      S 5       rg)é    N)ÚEnglish)ÚDocÚDocBin)Ú
Underscorei  c                  óB   • [        5         [        S/S9  [        / SQS9  g)zTest that docbin init goes wellÚLEMMA©Úattrs)r   ÚENT_IOBÚENT_TYPEN)r   © ó    Ú¹C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\spacy/tests/serialize/test_serialize_docbin.pyÚtest_issue4367r   	   s   € ô „HÜ
�'�ÒÜ
Ò1Ó2r   i°  c                 ój  • [        U SS/S9nSUR                  S'   SUR                  S'   [        SS9nUR                  U5        UR	                  5       n[        SS9R                  U5      n[        UR                  U 5      5      S	   nUR                  S   S:X  d   eUR                  S   S:X  d   eg
)z6Test that user_data is correctly serialized in DocBin.ÚhelloÚworld©ÚwordsÚbarÚfoo)z._.r   NNT©Ústore_user_datar   N)r   Ú	user_datar   ÚaddÚto_bytesÚ
from_bytesÚlistÚget_docs)Úen_vocabÚdocÚdoc_binÚdoc_bin_bytesÚnew_doc_binÚnew_docs         r   Útest_issue4528r&      s¸   € ô ˆh˜w¨Ð0Ñ
1€CØ €C‡M�M�%Ñà05€C‡M�MÐ,Ñ-Ü TÑ*€GØ‡K�K�ÔØ×$Ñ$Ó&€MÜ¨Ñ.×9Ñ9¸-ÓH€KÜ�;×'Ñ'¨Ó1Ó2°1Ñ5€GØ×Ñ˜UÑ# uÓ,Ð,Ð,Ø×ÑÐ7Ñ8¸EÓAÐAÑAr   i  c                 óì   • [        SS/S9n[        UR                  U 5      5      / :X  d   eUR                  5       n[        5       R	                  U5      n[        UR                  U 5      5      / :X  d   eg)z6Ensure an empty DocBin does not crash on serializationÚDEPÚHEADr	   N)r   r   r   r   r   )r    r"   r#   Ú	doc_bin_2s       r   Útest_issue5141r+   !   sn   € ô ˜E 6˜?Ñ+€GÜ�× Ñ  Ó*Ó+¨rÓ1Ð1Ð1Ø×$Ñ$Ó&€MÜ“×#Ñ# MÓ2€IÜ�	×"Ñ" 8Ó,Ó-°Ó3Ð3Ñ3r   c                  óª  • [        / SQSS9n / SQnSS0n[        5       nUR                  U5       HX  nX$l        USS nS	Ul        S
Ul        SUl        U/UR                  S'   SUS   l        SUS   l	        U R                  U5        MZ     U R                  5       n[        R                  " S5      n[        5       R                  U5      n [        U R!                  UR"                  5      5      n[%        U5       HÖ  u  p„UR&                  X   :X  d   eUR                  U:X  d   e[)        UR                  5      S:X  d   eUR                  S   S   R                  S	:X  d   eUR                  S   S   R
                  S
:X  d   eUR                  S   S   R                  S:X  d   eUS   R                  S:X  d   eUS   R                  S:X  a  MÖ   e   g )N)r   r   r   ÚNORMÚENT_IDT)r
   r   )z	Some textzLots of texts...z...ÚAg      à?r   é   ÚUNUSUAL_SPAN_LABELÚUNUSUAL_SPAN_IDÚUNUSUAL_SPAN_KB_IDÚstartÚUNUSUAL_TOKEN_NORMÚUNUSUAL_TOKEN_ENT_IDÚené   )r   r   ÚpipeÚcatsÚlabel_Úid_Úkb_id_ÚspansÚnorm_Úent_id_r   r   ÚspacyÚblankr   r   r   ÚvocabÚ	enumerateÚtextÚlen)	r"   Útextsr:   Únlpr!   ÚspanÚ
bytes_dataÚreloaded_docsÚis	            r   Útest_serialize_doc_binrM   +   sÁ  € ÜÚ@ÐRVñ€Gò 5€EØ�ˆ:€DÜ
‹)€CØ�x‰x˜ŽˆØŒØ�1�QˆxˆØ*ˆŒØ$ˆŒØ*ˆŒØ"˜Vˆ�	‰	�'ÑØ+ˆˆA‰ŒØ/ˆˆA‰ŒØ�‰�CÖñ ð ×!Ñ!Ó#€Jô �+Š+�dÓ
€CÜ‹h×!Ñ! *Ó-€GÜ˜×)Ñ)¨#¯)©)Ó4Ó5€MÜ˜MÖ*‰ˆØ�x‰x˜5™8Ó#Ð#Ð#Ø�x‰x˜4ÓÐÐÜ�3—9‘9‹~ Ó"Ð"Ð"Ø�y‰y˜Ñ! !Ñ$×+Ñ+Ð/CÓCÐCÐCØ�y‰y˜Ñ! !Ñ$×(Ñ(Ð,=Ó=Ð=Ð=Ø�y‰y˜Ñ! !Ñ$×+Ñ+Ð/CÓCÐCÐCØ�1‰v�|‰|Ð3Ó3Ð3Ð3Ø�1‰v�~‰~Ð!7Õ7Ð7Ð7ò +r   c                 óæ  • [        U SS/S9nUR                  (       d   eUR                  S:X  d   e[        U SS/SS/S9nUR                  (       a   eUR                  S:X  d   e[        5       R	                  [        X/S9R                  5       5      nUR                  U 5      u  pEUR                  (       d   eUR                  S:X  d   eUR                  (       a   eUR                  S:X  d   eg )	NÚthatz'sr   zthat 's F)r   Úspaceszthat's)Údocs)r   Úhas_unknown_spacesrE   r   r   r   r   )r    Údoc1Údoc2r"   Úre_doc1Úre_doc2s         r   Ú%test_serialize_doc_bin_unknown_spacesrW   M   sá   € Üˆx ¨˜~Ñ.€DØ×"×"Ð"Ð"Ø�9‰9˜
Ó"Ð"Ð"Üˆx ¨˜~°u¸e°nÑE€DØ×&×&Ð&Ð&Ø�9‰9˜Ó Ð Ð ä‹h×!Ñ!¤&¨t¨lÑ";×"DÑ"DÓ"FÓG€GØ×'Ñ'¨Ó1Ñ€GØ×%×%Ð%Ð%Ø�<‰<˜:Ó%Ð%Ð%Ø×)×)Ð)Ð)Ø�<‰<˜8Ó#Ð#Ñ#r   z$writer_flag,reader_flag,reader_value))TTr   )TFr   )FTÚnothing)FFrX   c                 ót  • [         R                  " SSS9  [        U SS/S9nSUR                  l        [	        US9nUR                  U5        UR                  5       n[	        US9R                  U5      n[        UR                  U 5      5      S	   nUR                  R                  U:X  d   e0 [        l        g
)z?Test that custom extensions are correctly serialized in DocBin.r   rX   )Údefaultr   r   r   r   r   r   N)r   Úset_extensionÚ_r   r   r   r   r   r   r   r   Údoc_extensions)	r    Úwriter_flagÚreader_flagÚreader_valuer!   Ú	doc_bin_1r#   r*   Údoc_2s	            r   Útest_serialize_custom_extensionrc   ]   s¡   € ô ×Ò�e YÒ/Ü
ˆh˜w¨Ð0Ñ
1€CØ€C‡E�E„IÜ {Ñ3€IØ‡M�M�#ÔØ×&Ñ&Ó(€MÜ {Ñ3×>Ñ>¸}ÓM€IÜ�×#Ñ# HÓ-Ó.¨qÑ1€EØ�7‰7�;‰;˜,Ó&Ð&Ð&Ø "„JÕr   )ÚpytestrA   Úspacy.lang.enr   Úspacy.tokensr   r   Úspacy.tokens.underscorer   ÚmarkÚissuer   r&   r+   rM   rW   Úparametrizerc   r   r   r   Ú<module>rk      sµ   ðÛ ã Ý !ß $Ý .ð ‡�×Ñ�4Óñ3ó ð3ð ‡�×Ñ�4ÓñBó ðBð ‡�×Ñ�4Óñ4ó ð4ò8òD$ð  ‡�×ÑØ*òóñ#óñ#r   