
    #ZjR                        d dl 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 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 d dl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*Z* erddl+m,Z, ddl-m.Z. ddl/m0Z0  ed          Z1eee
e1         ge
ee1                  f         e"f         Z2eede3ge
d         f         e"f         Z4eedgeee	e3ef         gdf         ef         f         e"f         Z5dee         de	e3ef         dee3         fdZ6 edd          Z7 edd          Z8 e9            ddddede
e3         de3de:de;e         f
d Z<dd!d"d#ded$e	e3ef         d%ee3         de3de
e3         de	e3ef         fd&Z=de>dee3         fd'Z? G d( d)e          Z@ G d* d+e          ZA G d, d-e3e          ZB ed./          ZCeeBeCf         ZDee@ef         ZEeeAeef         ZFee@eAe3eGeHe>e:f         ZIe&d0         ZJ G d1 d2e          ZK G d3 d4e          ZL G d5 d6e          ZM G d7 d8e          ZN G d9 d:e          ZO G d; d<e          ZP G d= d>e          ZQ G d? d@e          ZR G dA dBe          ZSeOeNeQeRdCZT G dD dEe          ZU G dF dGe          ZV G dH dIe          ZW G dJ dKe          ZXdS )L    N)defaultdict)Enum)TYPE_CHECKINGAnyCallableDictIterableListOptionalTupleTypeTypeVarUnion)	BaseModel
ConfigDictField
StrictBoolStrictFloat	StrictInt	StrictStrValidationErrorconstrcreate_modelfield_validator)ConfigValidationErrorModel	Optimizer)Promise   )NAMES)Literal)Lookups)is_cython_func)Language)Example)VocabItemTr$   r%   schemaobjreturnc           	         	  | di | g S # t           $ r}|                                }t          t                    }|D ]c}d                    d |                    dg           D                       }||                             |                    d                     dd |                                D             cY d}~S d}~ww xY w)zValidate data against a given pydantic schema.

    obj (Dict[str, Any]): JSON-serializable data to validate.
    schema (pydantic.BaseModel): The schema to validate against.
    RETURNS (List[str]): A list of error messages, if available.
    z -> c                 ,    g | ]}t          |          S  )str).0ps     Y/Users/jameslopez/projects/MentorCore/.venv/lib/python3.11/site-packages/spacy/schemas.py
<listcomp>zvalidate.<locals>.<listcomp>D   s    "H"H"Ha3q66"H"H"H    locmsgc                 J    g | ] \  }}d | dd                     |           !S )[z] z, )join)r/   r4   r5   s      r1   r2   zvalidate.<locals>.<listcomp>F   s7    IIIS+C++499S>>++IIIr3   Nr-   )r   errorsr   listr8   getappenditems)r(   r)   er9   dataerrorerr_locs          r1   validaterB   6   s    	J	 J J J4   	3 	3Ekk"H"H599UB3G3G"H"H"HIIGM  5!1!12222IIDJJLLIIIIIIIIIJs   	 
CB+CCCforbidTextraarbitrary_types_allowedArgModel)excludenamestrictfuncrH   rI   rJ   c                   i }	 t          j        |           }n&# t          $ r t          |t                    cY S w xY wd}|j                                        D ]u}|j        |v r|j        |j	        k    rd}|j
        |j        k    r|j
        nt          }t          |           rdnd}	|j        |j        k    r|j        n|	}
||
f||j        <   v|o| }|rt          nt          |d<   t          |fi |S )a  Generate a pydantic model for function arguments.

    func (Callable): The function to generate the schema for.
    exclude (Iterable[str]): Parameter names to ignore.
    name (str): Name of created model class.
    strict (bool): Don't allow extra arguments if no variable keyword arguments
        are allowed on the function.
    RETURNS (type[BaseModel]): A pydantic model.
    )
__config__FTN.rM   )inspect	signature
ValueErrorr   ArgSchemaConfigExtra
parametersvaluesrI   kindVAR_KEYWORD
annotationemptyr   r#   defaultArgSchemaConfig)rK   rH   rI   rJ   sig_argssighas_variableparamrV   default_emptyrX   	is_stricts               r1   get_arg_modelr`   Q   sB     HC%% C C C D-ABBBBBBC L&&(( 5 5:  :***  L).)9U[)H)HU%%c
 !/t 4 4=##(=EK#?#?%--] *G4+|+I09S__?SH\)))))s     << )get_examplesnlp)sectionrI   rH   settingsrd   c                   t          | |d          }	 |                    |                                          S # t          $ r:}|sdnd| }d| d}t	          ||                                ||          dd}~ww xY w)	a  Validate initialization settings against the expected arguments in
    the method signature. Will parse values if possible (e.g. int to string)
    and return the updated settings dict. Will raise a ConfigValidationError
    if types don't match or required values are missing.

    func (Callable): The initialize method of a given component etc.
    settings (Dict[str, Any]): The settings from the respective [initialize] block.
    section (str): Initialize section, for error message.
    name (str): Name of the block in the section.
    exclude (Iterable[str]): Parameter names to exclude from schema.
    RETURNS (Dict[str, Any]): The validated settings.
    InitArgModel)rH   rI   
initializezinitialize.z-Error validating initialization settings in [])titler9   configparentN)r`   model_validate
model_dumpr   r   r9   )	rK   re   rd   rI   rH   r(   r>   blockrj   s	            r1   validate_init_settingsrp      s    ( 4~FFFF$$X..99;;;   $+H1Hw1H1HHHHH#

8D
 
 
	s   &; 
A?5A::A?c                    d t          | t                    rSg }| D ]L}t          |t                    r fd|                                D             }|                    |           M|} t          t          d| i          S )Nc                 z    t          | t                    r%| t          t                    k     rt          |          n| S N)
isinstanceintlenr    )ks    r1   <lambda>z(validate_token_pattern.<locals>.<lambda>   s+    Jq#$6$6P1s5zz>>aq r3   c                 .    i | ]\  }} |          |S r-   r-   )r/   rw   vget_keys      r1   
<dictcomp>z*validate_token_pattern.<locals>.<dictcomp>   s'    EEETQ771::qEEEr3   pattern)rt   r:   dictr=   r<   rB   TokenPatternSchema)r)   	convertedr}   r{   s      @r1   validate_token_patternr      s    PPG#t 	 	& 	&G'4(( FEEEEW]]__EEEW%%%%&C(8999r3   c                   R   e Zd ZU  edd          Zeeed f                  ed<    edd          Z	ee
e                  ed<    edd          Zee
e                  ed<    edd	          Zee
e                  ed
<    edd          Zee
e                  ed<    edd          Zee
e                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed<    edd          Zeeed f                  ed <    edd!          Zeeed f                  ed"<    ed#d$%          Z ed&d'(          ed)                         ZdS )*TokenPatternStringNregexaliasREGEXinINnot_inNOT_IN	is_subset	IS_SUBSETis_supersetIS_SUPERSET
intersects
INTERSECTSfuzzyFUZZYfuzzy1FUZZY1fuzzy2FUZZY2fuzzy3FUZZY3fuzzy4FUZZY4fuzzy5FUZZY5fuzzy6FUZZY6fuzzy7FUZZY7fuzzy8FUZZY8fuzzy9FUZZY9rC   TrE   populate_by_name*beforemodec                 (    |t          d          |S NzNone / null is not allowedrP   clsrz   s     r1   raise_for_nonez!TokenPatternString.raise_for_none        99:::r3   )__name__
__module____qualname__r   r   r   r   r   __annotations__r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   model_configr   classmethodr   r-   r3   r1   r   r      s        >CeDPW>X>X>XE8E)%99:;XXX$)E$d$;$;$;Bi!;;;(-d((C(C(CFHT)_%CCC+05[+I+I+IIxY(III-2U4}-M-M-MK$y/*MMM,1E$l,K,K,KJi)KKK>CeDPW>X>X>XE8E)%99:;XXX?DuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    @EuH@ @ @FHU9&::;<    :HtDDDL_Sx(((  [ )(  r3   r   c                   B   e Zd ZU  edd          Zee         ed<    edd          Zee	e
                  ed<    edd          Zee	e
                  ed<    edd	          Zee	e
                  ed
<    edd          Zee	e
                  ed<    edd          Zee	e
                  ed<    edd          Zeee
ef                  ed<    edd          Zeee
ef                  ed<    edd          Zeee
ef                  ed<    edd          Zeee
ef                  ed<    edd          Zeee
ef                  ed<    edd          Zeee
ef                  ed<    edd          Z edd           ed!                         ZdS )"TokenPatternNumberNr   r   r   r   r   r   r   r   r   r   r   r   r   z==EQz!=NEQz>=GEQz<=LEQ>GT<LTrC   Tr   r   r   r   c                 (    |t          d          |S r   r   r   s     r1   r   z!TokenPatternNumber.raise_for_none   r   r3   )r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r-   r3   r1   r   r      s]        !&t7!;!;!;E8I;;;$)E$d$;$;$;Bi!;;;(-d((C(C(CFHT)_%CCC+05[+I+I+IIxY(III-2U4}-M-M-MK$y/*MMM,1E$l,K,K,KJi)KKK27%D2I2I2IBy+-./III385T3J3J3JC%	;./	0JJJ385T3J3J3JC%	;./	0JJJ385T3J3J3JC%	;./	0JJJ27%C2H2H2HBy+-./HHH27%C2H2H2HBy+-./HHH:HtDDDL_Sx(((  [ )(  r3   r   c                       e Zd ZU  ed          Zeed<    ed          Zeed<    ed          Zeed<    ed          Zeed<   d	S )
TokenPatternOperatorSimple+plusr   star?question!exclamationN)	r   r   r   r   r   r   r   r   r   r-   r3   r1   r   r      sr         innD)$$$innD)$$$#)C..Hi(((&Ys^^K+++++r3   r   z#^(\{\d+\}|\{\d+,\d*\}|\{\d*,\d+\})$)r}   )ra   IOBr   r         c                   R   e Zd ZU dZee         ed<   dZee         ed<   dZee         ed<   dZ	ee         ed<   dZ
ee         ed<   dZee         ed<   dZee         ed<   dZee         ed	<   dZee         ed
<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZ ee         ed<   dZ!ee         ed<   dZ"ee         ed<   dZ#ee         ed<   dZ$ee         ed<   dZ%ee         ed<   dZ&ee         ed<   dZ'ee         ed <   dZ(ee         ed!<   dZ)ee         ed"<   dZ*ee         ed#<   dZ+ee         ed$<   dZ,ee-         ed%<    e.dd&'          Z/ee0e1e2f                  ed(<    e3d)d*d+ ,          Z4 e5d-d./          e6d0                         Z7dS )1TokenPatternNorthtextlowerpostagmorphdeplemmashapeent_typeent_iobent_id	ent_kb_idnormlengthspacyis_alphais_asciiis_digitis_loweris_upperis_titleis_punctis_space
is_bracketis_quoteis_left_punctis_right_punctis_currencyis_stopis_sent_start
sent_startlike_numlike_url
like_emailop_r   
underscorerC   Tc                 *    |                                  S rs   )upper)values    r1   rx   zTokenPattern.<lambda>1  s    ekkmm r3   )rE   r   alias_generatorr   r   r   c                 (    |t          d          |S r   r   r   s     r1   r   zTokenPattern.raise_for_none4  r   r3   )8r   r   r   r   r   StringValuer   r   r   r   r   r   r   r   r   r   r   IobValuer   r   r   r   NumberValuer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   TokenPatternOperatorr   r   r   r   UnderscoreValuer   r   r   r   r   r-   r3   r1   r   r     s        "&D(;
&&&"&D(;
&&&#'E8K '''!%C+	%%%!%C+	%%%#'E8K '''!%C+	%%%#'E8K '''#'E8K '''&*Hh{#***"&GXh&&&$(FH[!((('+Ix$+++"&D(;
&&&$(FH[!((("&E8J&&&%)Hhz")))%)Hhz")))%)Hhz")))%)Hhz")))%)Hhz")))%)Hhz")))%)Hhz")))%)Hhz")))'+J$+++%)Hhz")))*.M8J'...+/NHZ(///(,K*%,,,$(GXj!(((*.M8J'...'+J$+++%)Hhz")))%)Hhz")))'+J$+++)-B%&---=BU4s=S=S=SJi89:SSS:33  L _Sx(((  [ )(  r3   r   c                   X    e Zd ZU  edd          Zee         ed<    ed          Z	dS )r   .r   )
min_lengthr}   rC   rE   N)
r   r   r   r   r}   r
   r   r   r   r   r-   r3   r1   r   r   <  sF         "'%":":":GT,::::H---LLLr3   r   c                      e Zd ZU  edd          Zeed<    edd          Zeed<    edd          Zeed<    ed	d
          Z	eed<    edd          Z
eed<    eg d          Zee         ed<    eg d          Zee         ed<    ed	d          Zeed<    ed	d          Zeed<    ed	d          Zeed<    ed	d          Zeed<    ed	d          Zeed<    edd          Zeeee         eeeef                  f                  ed<    ei d           Zeeef         ed!<    ei d"          Zeeee         f         ed#<    ei d$          Zeeef         ed%<    ed	d&          Zeed'<   dS )(ModelMetaSchema.z#Two-letter language code, e.g. 'en'rj   langz
Model namerI   zModel versionversionra   z#Compatible spaCy version identifierspacy_versionr   z9Name of parent spaCy package, e.g. spacy or spacy-nightlyparent_packagezIAdditional Python package dependencies, used for the Python package setuprequirementszNames of pipeline componentspipelinezModel descriptiondescriptionzModel licenselicensezModel author nameauthorzModel author emailemailzModel author URLurlNzTraining data sourcessourceszIncluded word vectorsvectorsz)Component labels, keyed by component namelabelszAccuracy and speed numbersperformancezCommit of spaCy version usedspacy_git_version)r   r   r   r   r
  r   r   rI   r  r  r  r  r
   r  r  r  r  r  r  r  r   r   r   r.   r  r   r  r  r  r-   r3   r1   r  r  E  s        eC'LMMMD)MMMeC|444D)444s/:::GY:::$uR/TUUUM9UUU %g5p q q qNIqqq$)E"4  %A  %A  %AL$y/  A  A  A %b0N O O OHd9oOOO"U2-@AAAKAAAr999GY999b(;<<<FI<<<uR';<<<E9<<<U2%7888C888FKeDXoFpFpFpGXeDOT$sCx.-AABCppp#eB.EFFFGT#s(^FFF#(53^#_#_#_FDd3i ___"'%2N"O"O"OKc3hOOO#(53Q#R#R#RyRRRRRr3   r  c                   \   e Zd ZU  edd          Zeed<    edd          Zeed<    edd          Ze	ed<    edd	          Z
eed
<    edd          Zeed<    edd          Zeed<    edd          Zeed<    edd          Zeed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zeed<    edd          Zeeeeeef                  f         ed<    edd          Zeed<    edd          Zeed<    edd          Zee         ed <    edd!          Zee         ed"<    edd#          Z ee!d$gd$f                  ed%<    edd&          Z"ee!d$eee#f         gd'f                  ed(<    e$d)d*+          Z%d'S ),ConfigSchemaTraining.z"Path in the config to the dev datar	  
dev_corpus'Path in the config to the training datatrain_corpusBatcher for the training databatcherDropout ratedropoutzBHow many steps to continue without improvement in evaluation scorepatience%Maximum number of epochs to train for
max_epochsz+Maximum number of update steps to train for	max_stepsz-How often to evaluate during training (steps)eval_frequencyzRandom seedseedz$Memory allocator when running on GPUgpu_allocatorz,Whether to divide the batch up into substepsaccumulate_gradientz<Scores to report and their weights for selecting final modelscore_weightsThe optimizer to use	optimizerz%The logger to track training progressloggerz=Pipeline components that shouldn't be updated during trainingfrozen_componentsz?Pipeline components that should set annotations during trainingannotating_componentszPOptional callback to modify nlp object after training, before it's saved to diskr$   before_to_diskzDOptional callback that is invoked at the start of each training stepNbefore_updaterC   TrD   )&r   r   r   r   r  r   r   r  r   Batcherr"  r   r#  r   r%  r&  r'  r(  r   r)  r*  r+  r   r   r-  r   r.  Loggerr/  r
   r.   r0  r1  r   r2  r   r   r   r-   r3   r1   r  r  c  s        !E#-QRRRJ	RRR#eC/XYYYL)YYYuS(GHHHGWHHH 5N;;;G[;;;%+opppHippp!E#-TUUUJ	UUU 5,YZZZIyZZZ %c1` a a aNIaaa %c ? ? ?D(9
???).s:`)a)a)aM8I&aaa%*U36d%e%e%eeeeNSeTW  `^  O_  O_  O_M4	8E+y2H,I#JJK  _  _  _ 5,BCCCIyCCCU3&MNNNFFNNN#(54s#t#t#ttCyttt',uS8y'z'z'z49zzzCH5  Ug  Dh  Dh  DhNHXzlJ&>?@  h  h  hLQERU  ^d  Me  Me  MeM8Hj$sCx.%A4%GHI  e  e  e :HdKKKLLLr3   r  c                      e Zd ZU  edd          Zeed<    edd          Zee         ed<    edd          Z	ee         ed<    edd	          Z
eed
<    edd          Zeeed         ged         f                  ed<    edd          Zeedgdf                  ed<    edd          Zeedgdf                  ed<    edd          Zee         ed<    edd          Zeed<    edd          ZdS )ConfigSchemaNlp.zThe base language to user	  r
  z%The pipeline component names in orderr  z)Pipeline components to disable by defaultdisabledzThe tokenizer to use	tokenizerz@Optional callback to modify Language class before initializationr$   before_creationz\Optional callback to modify nlp object after creation and before the pipeline is constructedafter_creationzHOptional callback to modify nlp object after the pipeline is constructedafter_pipeline_creationzDefault batch size
batch_sizezVectors implementationr  rC   TrD   N)r   r   r   r   r
  r   r   r  r
   r7  r8  r   r9  r   r   r:  r;  r<  ru   r  r   r   r-   r3   r1   r6  r6  |  s        eC'ABBBD)BBB %c1X Y Y YHd9oYYY %c1\ ] ] ]Hd9o]]]%+ABBBIxBBBPUPUVY  bd  Qe  Qe  QeOXhZ(8'94
;K'KLM  e  e  eCH5  Us  Dt  Dt  DtNHXzlJ&>?@  t  t  tLQERU  ^h  Mi  Mi  MiXh
|Z/G&HI  i  i  i %c1E F F FJFFFc)ABBBGXBBB :HdKKKLLLr3   r6  c                   &    e Zd Z ed          ZdS )ConfigSchemaPretrainEmptyrC   r  N)r   r   r   r   r   r-   r3   r1   r>  r>    s         :H---LLLr3   r>  c                      e Zd ZU  edd          Zeed<    edd          Zeed<    edd          Z	e
e         ed<    edd	          Ze
e         ed
<    edd          Zeed<    edd          Zeed<    edd          Zeed<    edd          Zeed<    edd          Zeed<    edd          Zedegef         ed<    edd          ZdS )ConfigSchemaPretrain.r$  r	  r%  r!  r"  zASaving additional temporary model after n batches within an epochn_save_everyz Saving model after every n epochn_save_epochr,  r-  r  corpusr  r   z'Component to find the layer to pretrain	componentz(Layer to pretrain. Whole model if empty.layerz2A function that creates the pretraining objective.r&   	objectiverC   TrD   N)r   r   r   r   r%  r   r   r"  r   rA  r   rB  r-  r   rC  r   r   r3  rD  r.   rE  rF  r   r   r   r   r-   r3   r1   r@  r@    s~        !E#-TUUUJ	UUU 5N;;;G[;;;(-c9|(}(}(}L(9%}}}(-c9[(\(\(\L(9%\\\ 5,BCCCIyCCCc)RSSSFISSSuS(GHHHGWHHHU3&OPPPIsPPPs"LMMME3MMM385Dx3y3y3yIx%(%/0yyy :HdKKKLLLr3   r@  c                      e Zd ZU  edd          Zee         ed<    edd          Zee	         ed<    edd          Z
ee         ed<    edd	          Zee         ed
<    edd          Zeeef         ed<    edd          Zeeeeef         f         ed<    edd          Zeedgdf                  ed<    edd          Zeedgdf                  ed<    edd          ZdS )ConfigSchemaInit.z&Path to JSON-formatted vocabulary filer	  
vocab_dataz-Vocabulary lookups, e.g. lexeme normalizationlookupszPath to vectorsr  z"Path to pretrained tok2vec weightsinit_tok2vecz0Arguments to be passed into Tokenizer.initializer8  zYArguments for TrainablePipe.initialize methods of pipeline components, keyed by component
componentsz<Optional callback to modify nlp object before initializationr$   before_initz;Optional callback to modify nlp object after initialization
after_initrC   TrD   N)r   r   r   r   rI  r   r   r   rJ  r"   r  rK  r8  r   r   rL  rM  r   rN  r   r   r-   r3   r1   rH  rH    s        &+eC7_&`&`&`J#```!&s2a!b!b!bGXgbbb#(54E#F#F#FGXi FFF(-c9](^(^(^L(9%^^^&+eC7i&j&j&jItIsN#jjj8=c  Je  9f  9f  9fJYY^ 445  f  f  f@Ec  RP  AQ  AQ  AQK(J<#;<=  Q  Q  Q?DuS  QN  @O  @O  @OJ:,
":;<  O  O  O :HdKKKLLLr3   rH  c                       e Zd ZU eed<   eed<   i Zeee	f         ed<   e
ee
eef         f         ed<   e
eef         ed<   eed<    edd	          Zd
S )ConfigSchematrainingrc   pretrainingrL  corporarh   allowTrD   N)r   r   r   r  r   r6  rR  r   r@  r>  r   r.   r   ReaderrH  r   r   r-   r3   r1   rP  rP    s         """"	JLK+-FFGLLLS$sCx.())))#v+    :GTJJJLLLr3   rP  )rc   rQ  rR  rh   c                   $    e Zd ZU eed<   eed<   dS )RecommendationTrfItemrI   size_factorN)r   r   r   r.   r   ru   r-   r3   r1   rW  rW    s'         
IIIr3   rW  c                   $    e Zd ZU eed<   eed<   dS )RecommendationTrf
efficiencyaccuracyN)r   r   r   rW  r   r-   r3   r1   rZ  rZ    s*         %%%%######r3   rZ  c                   R    e Zd ZU dZee         ed<   dZee         ed<   dZ	e
ed<   dS )RecommendationSchemaNword_vectorstransformerThas_letters)r   r   r   r_  r   r.   r   r`  rZ  ra  boolr-   r3   r1   r^  r^    sL         "&L(3-&&&/3K+,333Kr3   r^  c            	          e Zd ZU dZ edd          Zeeee	f                  e
d<    edd          Zeeeeeeef         f                           e
d<    edd          Zeeeeef                           e
d	<    ed
d          Zee
d<    edd          Zeeeeeeeeef         f                  f                  e
d<    ed
d          Zeeeeeef         f                  e
d<    eddd          Zeeeef                  e
d<    edd          Zeeeeeeef                  f                  e
d<    edd          Zeeeeeeef                  f                  e
d<   dS )DocJSONSchemazB
    JSON/dict format for JSON representation of Doc objects.
    Nz+Categories with corresponding probabilitiesr	  catszInformation on entitiesentsz+Indices of sentences' start and end indicessents.zDocument textr   z2Span information - end/start indices, label, KB IDspansz*Token information - ID, start, annotationstokensz4Any custom data stored in the document's _ attributer   )rj   r   underscore_docz1Any custom data stored in the token's _ attributeunderscore_tokenz0Any custom data stored in the span's _ attributeunderscore_span)r   r   r   __doc__r   re  r   r   r   r   r   rf  r
   r   r   rg  r   rh  ri  rj  r   rk  rl  r-   r3   r1   rd  rd    s          495A4 4 4D(4	;./
0    JO-J J JD(4Yi.B(CCDE
F    9>A9 9 9E8Di2345    eC777D)777 	dNOOO 
8YT)U9i3G-H"HIJJK P P P BG?B B BFDiy)';!<<=>    6;UD6 6 6NHT)S.12   
 OTeGO O OhtItDC4H/I$IJK    NSUFN N NOXd9d4	33G.H#HIJ     r3   rd  )YrN   collectionsr   enumr   typingr   r   r   r   r	   r
   r   r   r   r   r   pydanticr   r   r   r   r   r   r   r   r   r   r   	thinc.apir   r   r   thinc.configr   attrsr    compatr!   rJ  r"   utilr#   languager$   rQ  r%   vocabr&   r'   r3  r.   rU  r4  rB   rY   rQ   tuplerb  typer`   rp   r:   r   r   r   r   TokenPatternOperatorMinMaxr  r   r  ru   floatr  r   r   r   r  r  r6  r>  r@  rH  rP  CONFIG_SCHEMASrW  rZ  r^  rd  r-   r3   r1   <module>r~     sg    # # # # # #                                                         > = = = = = = = = =                                           """"""!!!!!! 	
(5/*HT%[,AABGK
L	xS)8I+>>?H	I	xeHd38n5Et5K,Lh,V&WWXZaa	bJT)_ J4S> Jd3i J J J J, *8TJJJ!z$OOO  #UWW+* +* +*
+* c]+* 	+*
 +* 
)_+* +* +* +*d "4  
38n c]	
  c] 
#s(^   D
: 
:c 
: 
: 
: 
:+ + + + + + + +\       0, , , , ,d , , , $V,RSSS  79SST &	12&	;>?*CeT4G 012 2 2 2 29 2 2 2j. . . . . . . .S S S S Si S S S<L L L L L9 L L L2L L L L Li L L L . . . . .	 . . .L L L L L9 L L L"L L L L Ly L L LK K K K K9 K K K $'"	     I   
$ $ $ $ $	 $ $ $
    9       I     r3   