XjUddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z mZmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z dd l!m"Z"dd l#m$Z$m%Z%m&Z&m'Z'dd l(m)Z)m*Z*m+Z+m,Z,dd l-m.Z.m/Z/dd l0m1Z1m2Z2m3Z3m4Z4ddl5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?ddl@mAZAmBZBmCZCddlDmEZEmFZFddlGmHZHmIZIddlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRddlSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZaer2ddlbmcZcddl#mdZdddlGmeZeddlJmfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZneddZodZpedZqdeere8fddfd Zsd!etdeeegeuffd"ZvewexeyezfZ{eed#fe|d$<e fe{zZ}eed#fe|d%<d&Z~e"d'e7f(Gd)d*eZejZGd+deXe,Zd'Z~e ddeddd-d.erd/eee)d0dd1erd2eerd3fd4eerefd5ededfd6Ze deddd7d.erd/eee)d0eedeedd#ffd1erd2eerd3fd4eerefd5ededfd8Zddedddd9d.erd/eee)d0ededeedd#ffd1erd2eerd3fd4eerefd:eeerd#fd5ededfd;ZeZ dCdd?d@ded>dAee/ffdBZy)DN)ABCMeta)deepcopy)Enum)partial)Path) FunctionType prepare_class resolve_bases) TYPE_CHECKING AbstractSetAnyCallableClassVarDictListMappingOptionalTupleTypeTypeVarUnioncast no_type_checkoverload)dataclass_transform)ValidatorGroupextract_root_validatorsextract_validatorsinherit_validators) BaseConfigExtrainherit_configprepare_config) ErrorWrapperValidationError) ConfigError DictError ExtraError MissingError)MAPPING_LIKE_SHAPESField ModelFieldModelPrivateAttr PrivateAttr Undefinedis_finalvar_with_default_val)custom_pydantic_encoderpydantic_encoder)Protocol load_fileload_str_bytes)default_ref_template model_schema)PyObjectStrBytes) AnyCallableget_args get_origin is_classvar is_namedtupleis_unionresolve_annotationsupdate_model_forward_refs)DUNDER_ATTRIBUTESROOT_KEYClassAttribute GetterDictRepresentation ValueItemsgenerate_model_signatureis_valid_fieldis_valid_private_namelenient_issubclass sequence_likesmart_deepcopy unique_listvalidate_field_name) Signature)ValidatorListDict) ModelOrDc) AbstractSetIntStrAnyClassMethodCallableGeneratorDictAny DictStrAnyMappingIntStrAnyReprArgsSetStrTupleGeneratorModel BaseModel)bound)r] create_modelvalidate_model_TfieldsreturncDt|dkDrttdy)Nz" cannot be mixed with other fields)len ValueErrorrC)rbs d/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/pydantic/v1/main.pyvalidate_custom_root_typeribs% 6{QH:%GHIIfrozenc.dtdtfd}|r|SdS)Nself_rcct|jtt|jj zSN)hash __class__tuple__dict__values)rms rh hash_functionz-generate_hash_function..hash_functionhs-EOO$tE%..2G2G2I,J'KKKrj)r int)rkrus rhgenerate_hash_functionrwgs'LSLSL#=,,rj.ANNOTATED_FIELD_UNTOUCHED_TYPESUNTOUCHED_TYPESFT)kw_only_defaultfield_specifiersc<eZdZefdZdedeffd ZxZS)ModelMetaclassc 42i}t}i}gg} }i} i} |jdd} t| tr| hn t | } t } d}t |D]}t s t|ts|tk7s%|jt|jt|j|}t|j|}||j z }| |j"z } | j|j$| j|j&|j(}|j+dd}t-|Dchc]&}|j/dr|j1ds|(}}|j3|zDcic]}||j+|}}|jd}|r |r t5dt||fi|}tt7||}t9|}|j;D]\}|j=||j?|j@}|s2|jBj||jE^tG||tH2dtJd tLf2fd }|jd |jd fd k7rtNjPdk\r6d|vr|d}n>ddl)m*}m+}m,}||}||||jZ}ni}n|jdi}t]||jd d}|j_D]\}} ta| r| jc|$te| |j|tfr| jc|Vti|rtk|||j|tf}!tmto| r tq| n| f}"||!r| trk7rtud|"Dstwjx||!| |j?||||<||vs|jzs t}| |<t~|jz2|j_D]$\}#}!|#| vxr ||! }$t|!tr&t|#std|#d|#d|#d|!| |#<L|jzrt|#r|$rt}|!| |#<uti|#s|#|vs|$stk||#twjx|#|!|j|#tf|j?|#|}%|#|vrJt|%j||#jr||#j|%_Ent5d|d|#d|%||#<'t|v}&|&r t||j|jrtt|j}'nt}'t|\}(})|t|j}|| j3zdhz}*|||j_D+cic]3\}}+|+jj||+jj5c}+}xsd|j_D+cic]3\}}+|+jj||+jj5c}+}xsd|jt||(zdt| |)zdit|'|&i| | | | j3z|| d |j_D,-cic] \},}-|,|*vs |,|-c}-},}.t3|\|||.fi|}/td!t|/j|||/_[t st|/dij|r|/j|j_D],\}}0||.vs t|0d"d}1t|1s$|1|/|.|/Scc}wcc}wcc}+}wcc}+}wcc}-},w)#N __slots____resolve_forward_refs__T__ConfigzYSpecifying config in two places is ambiguous, use either Config attribute or class kwargsvrccRt|xs|jjdk(S)Ncython_function_or_method) isinstancerq__name__)runtouched_typess rh is_untouchedz,ModelMetaclass.__new__..is_untoucheds%a1hQ[[5I5IMh5h hrj __module__ __qualname__)z pydantic.mainr])__annotations__r)Formatcall_annotate_function!get_annotate_from_class_namespace)formatc3NK|]}tt|tywro)rKr<r).0 allowed_types rh z)ModelMetaclass.__new__..s"$S_.z,/GN$s#%)namevalue annotationclass_validatorsconfigzPrivate attributes "zF" must not be a valid field name; Use sunder or dunder names, e. g. "_z" or "__z__")defaultz The type of .zo differs from the new default value; if you wish to change the type of this field, please use a type annotationc|jSror)rs rhz(ModelMetaclass.__new__..s qzzrj) name_factoryc |djS)Nrer)skip_on_failure_and_vs rhrz(ModelMetaclass.__new__..s;PQR;S;\;\rj) __config__ __fields____exclude_fields____include_fields____validators____pre_root_validators____post_root_validators____schema_cache____json_encoder____custom_root_type____private_attributes__r__hash____class_vars__ __signature__ __set_name__)`r getrstrsetreversed_is_base_model_class_defined issubclassr]updaterMrr"rrrrrrrrpopdir startswithendswithkeys TypeErrorrrrt set_configget_validatorsrrpopulate_validatorsr#rxr boolsys version_info annotationlibrrr FORWARDREFr@itemsr=addr0r/rIrOr?r<r;r8anyr,inferunderscore_attrs_are_privater.rykeep_untouchedr-rJ NameErrorrKtype_rCricheck_for_unused json_encodersrr1r2rrwrk field_infoexcludeinclude validatorsrN staticmethodsuper__new__rDrH__init__rgetattrclear__try_update_forward_refs__callable)4mcsrbases namespacekwargsrbrrpre_root_validatorspost_root_validatorsprivate_attributesbase_private_attributesslots class_vars hash_funcbaseresolve_forward_refskeyallowed_config_kwargs config_kwargsconfig_from_namespacevgfextra_validatorsrraw_annotationsrrrannotate annotationsann_nameann_typer allowed_typesvar_namecan_be_changedinferred_custom_root_type json_encoder pre_rv_new post_rv_newexclude_from_namespacefieldnr new_namespaceclsobjset_namerrqs4 @rhrzModelMetaclass.__new__{s(**, 461:<?A! k26%eS1s5z U 48 UO *D+ 40KPTXaPa nT__=>'@/0C0CZP #t'C'CC#$(E(EE$'..t/J/JK!!$"5"56 MM  * &zz*DdK6{) NN4(S\\$-? ) ) :@I^9^_#fjjo-_ _ ) h 7 2wx x 5vOO'(:9(EzR J ' (A LL !008 ""))*:;%%'  ( vt$9 iC iD i MM, '~)F GKi i7*$ 1&/0A&BOpo@KH+*@RXRcRc*d*,"+--0A2"F-oy}}\[_?`aK&1&7&7&9 A"(x(NN8,1(IMM(T]<^_NN8,#H-'x8%MM(I>E:B:hCW:XHX$6_g^iM$U+$0 #$cp$!!'1'7'7%##+)+):):8)D% (F8$Y.63V3V3>=&x03 A6.0E0EEO#,??#4 0%!)!;!WLQVDW@We%560:'28*=CCK*HU]T^^ac49&x088=RS[=\ao3>u3M&x0#H-(+2MR`'x8)//%##.??8Y#G)+):):8)D%  H 6)-hnnfX>N>T>TU-3H-=-C-CHN"+".tfAhZ@m!n#(0F8$9 0<%.  %f -    "#:F4TYTdTdTlTlTxe&&...##BH,,.#3>4TYTdTdTlTlTxe&&...## mm'2#j01()4${2\)!# ,\ :$5&W)@&WDV&W!3!8!8!::!(5 6!* 1U1Q>T5Tq!tU7 <goc4 HH*?`` "` ` 4` 9 ``instancercc>t|dxrt| |S)z| Avoid calling ABC _abc_subclasscheck unless we're pretty sure. See #3829 and python/cpython#92810 r)hasattrr__instancecheck__)selfrrqs rhr z ModelMetaclass.__instancecheck__As# x!;<dAZ[cAddrj) rrrrrr rr  __classcell__)rqs@rhr}r}ys4CCJe#e$eerjr}ceZdZUeriZeeeefe d<dZ ee e ee fe d<dZee e ee fe d<iZeeeefe d<eeee d<eeeeefe d<eZeeee d<d Zeee ge fe d <iZed e d <d Zeee d<ede d<eeeefe d<eee d<eZeee d<eZdZ dZ!de ddfdZ"e#dZ$d_dZ%d`dZ&dadZ'ddd dd d d dde e(dd e e(dd!ed"e ed#ed$ed%edd&fd'Z)ddd dd d d dd(d) de e(dd e e(dd!ed"e ed#ed$ed%ed*e ee ge fd+ed,e defd-Z*e+d.e de fd/Z,e+d0ed1d.e dd1fd2Z-e+dd3dd d4d0ed1d5e.d6ed7ed8e/d9edd1fd:Z0e+dd3dd d4d0ed1d;e(ee1fd6ed7ed8e/d9edd1fd<Z2e+d0ed1d.e dd1fd=Z3e+dbd0ed1d>e d?d@e dd1fdAZ4dBd1d@d&dCd?dDedd1f dEZ5dddd dFdBd1de e(dd e e(ddGe d&dDedd1f dHZ6e+d(e7fd!edIedd&fdJZ8e+d(e7dKd!edIed,e defdLZ9e+dcdMZ:e+d0ed1dNe dd1fdOZ;e+d0ed1d.e dee+dTe ddfdUZ?e+dTe ddfdVZ@dddXZA dedRed!ede e(dd e e(dd#ed$ed%eddWfdYZB dbde dZd e dZd#edGe d&de eCef d[ZDd\e defd]ZEdfd^ZFy)gr]rNrrrrrrc|Sror)xs rhrzBaseModel.WsQrjrrVrFrrPrrr__fields_set__)rsrdatarcc t|j|\}}}|r| t|d|t|d||j y#t$r}td|d}~wwxYw)z Create a new model by parsing and validating input data from keyword arguments. Raises ValidationError if the input data cannot be parsed to form a valid model. rszYModel values must be a dict; you may not have returned a dictionary from a root validatorNr)r`rqobject_setattrr_init_private_attributes)__pydantic_self__rrt fields_setvalidation_errores rhrzBaseModel.__init__cs|0>>O>Y>Y[_/`, , " "  ,j& A (*:JG224  k  s A A% A  A%cb||jvs|tvr t|||S|jjt j ur4||jvr&td|jjd|d|jjr|jjr#td|jjd||jvr?|j|jr&td|jjd|d|jjrLi|j ||i}|j"D]} ||j|}|jj-|d}|r|j.jstd|j0d|j j3Dcic]\}}||k7s ||} }}|j5|| ||j\}} | rt'| g|j|||<g} |j6D]\} }| r| r ||j|} | rt'| |jt|d |n||j |<|j:j=|y#ttt$f$r+}t't)|t*g|jd}~wwxYwcc}}w#ttt$f$r*}| j9t)|t*Yd}~d}~wwxYw) N"z" object has no field "z3" is immutable and does not support item assignmentz " object "z2" field is final and does not support reassignmentlocz8" has allow_mutation set to False and cannot be assignedrrrs)rrBrrextrar!allowrrgrqrallow_mutationrkrfinalvalidate_assignmentrsrAssertionErrorr%r$rCrrrrvalidaterappendrr) r rr new_values validatorexc known_fieldkrdict_without_original_valueerror_errorsskip_on_failures rh __setattr__zBaseModel.__setattr__vs 4.. .$:K2K!$e4 4 ??  3DOO8Sq!8!8 99PQUPVVWXY Y//4??3I3Ia 7 788klm m T__ $)>)D)DDNN++,Jtf>:!FJ ] //--dD9K #--<<#a (8(8'99q$rss@D @S@S@U.c1YZ^bYbq!t.c+.c + 4 4U>:!FJ  C%fdnn== 4Z 8"'DMM$  %G#I~>])<+J*KT^^\\]/d#I~>CMM,s"ABBCs<J( K* K*K0(K'<&K""K'0L. L))L.cfdjD}jj|Dcic]\}}|tus||c}}dScc}}w)Nc3DK|]}|t|tfywro)rr/)rr+r s rhrz)BaseModel.__getstate__..s_a!WT1i89_s )rsr__private_attribute_values__)rrsrr/)r  private_attrsr+rs` rh __getstate__zBaseModel.__getstate__sQ_4C^C^_  "11>K,bdaqXaOaQT,b  -cs A A ct|d|dt|d|d|jdijD]\}}t|||y)Nrsrr3)rrr)r staterrs rh __setstate__zBaseModel.__setstate__sZtZz):;t-u5E/FG 99%CRHNNP .KD% 4u - .rjc|jjD]+\}}|j}|tust |||-yro)rr get_defaultr/r)r r private_attrrs rhrz"BaseModel._init_private_attributessG"&"="="C"C"E 4 D,"..0Gi'tT73 4rj)rrby_alias skip_defaults exclude_unsetexclude_defaults exclude_noner)rSrXrr<r=r>r?r@rWc |3tj|jjdt|}t |j d||||||S)z Generate a dictionary representation of the model, optionally specifying which fields to include or exclude. zF.dict(): "skip_defaults" is deprecated and replaced by "exclude_unset"Tto_dictr<rrr>r?r@)warningswarnrqrDeprecationWarningdict_iter)r rrr<r=r>r?r@s rhrGzBaseModel.dictsi  $ MM>>**++qr" *M JJ!+!1)    rjT) rrr<r=r>r?r@encodermodels_as_dictrIrJ dumps_kwargsc n|3tj|jjdt|}t t tgtf|xs |j}t|j| ||||||} |jr | t} |jj| fd|i| S)z Generate a JSON representation of the model, `include` and `exclude` arguments as per `dict()`. `encoder` is an optional function to supply as `default` to json.dumps(), other arguments as per `json.dumps()`. zF.json(): "skip_defaults" is deprecated and replaced by "exclude_unset"rBr)rDrErqrrFrrr rrGrHrrCr json_dumps) r rrr<r=r>r?r@rIrJrKrs rhjsonzBaseModel.jsons&  $ MM>>**++qr" *Mxs +W-M8M8MN  JJ&!+!1)      $ $>D)t))$PP<PPrjrc(|jrt|tr|jthk(s2t|t rE|j jthk(r#|j tjtvrt|iS|Sro) rrrGrrCr]rshaper*rrs rh_enforce_dict_if_rootzBaseModel._enforce_dict_if_rootsk  # #C&388:(+CY/CNN4G4G4IhZ4W~~h'--1DDc? "Jrjrr\c0|j|}t|ts t|}|di|S#ttf$rP}t|j d|j j }tt|tg||d}~wwxYw)Nz expected dict not rr) rRrrGrrgrrqr%r$rC)rrrr)s rh parse_objzBaseModel.parse_objs'',#t$ U3izSzz* U3<<.0CCMMDZDZC[ \]%|CX'F&GMSTT Us 6BA BButf8) content_typeencodingproto allow_picklebrVrWrXrYc t||||||jj}|j|S#ttt f$r!}t t|tg|d}~wwxYw)NrXrVrWrY json_loadsr) r5rr]rgrUnicodeDecodeErrorr%r$rCrT)rrZrVrWrXrYrrs rh parse_rawzBaseModel.parse_raw'sr H )!)>>44 C}}S!!I'9: H!<x#@"A3G G Hs%8A- A((A-pathcnt||||||jj}|j|S)Nr\)r4rr]rT)rr`rVrWrXrYrs rh parse_filezBaseModel.parse_file>s; %%~~00  }}S!!rjc0|jjs td|jrt|in|j |}|j |}t||\}}}|r|t|d|t|d||j|S)Nz@You must have the config attribute orm_mode=True to use from_ormrsr) rorm_moder&rrC_decompose_classrr`rr)rrmrtrrs rhfrom_ormzBaseModel.from_ormRs~~&&`a a!$!9!9xos?S?STW?X KK /=c3/G, , " "q*f-q*J7 ""$rj _fields_setrZrtc |j|}i}|jjD]_\}}|jr!|j|vr||j||<3||vr ||||<@|j rM|j ||<a|j|t|d||t|j}t|d||j|S)a Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if `Config.extra = 'allow'` was set since it adds all passed values rsr) rrr alt_aliasaliasrequiredr:rrrrr)rrhrtrf fields_valuesrrs rh constructzBaseModel.construct`s KK (* >>//1 :KD%5;;&,U[[&9 d#&,Tl d#^^&+&7&7&9 d#  : V$q*m4  fkkm,Kq*K8 ""$rjr rdeepc|r t|}|j}|j|}t|d|t|d||jD]6}t ||t }|t us|r t|}t|||8|S)Nrsr)rrqrrrrr/)r rtrrorrfrrs rh_copy_and_set_valueszBaseModel._copy_and_set_valuesxs f%Fnn KK q*f-q*J7// /DD$ 2EI%$UOEq$.  /rj)rrrrorc t|jdd||dfi|xsi}|r|j|jz}nt |j}|j |||S)a Duplicate a model, optionally choose which fields to include, exclude and change. :param include: fields to include in new model :param exclude: fields to exclude from new model, as with values this takes precedence over include :param update: values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data :param deep: set to `True` to make a deep copy of the model :return: new model instance F)rCr<rrr>ro)rGrHrrrrq)r rrrrortrs rhcopyzBaseModel.copyst& JJuugwfkJ l |  ,,v{{}rononeshallowzJ`copy_on_model_validation` should be a string: 'deep', 'shallow' or 'none'FrroTrsr)rrcopy_on_model_validationrDrErFrqrsrrRrGrdrgrrgr')rrr deep_copy value_as_dictrs rhr%zBaseModel.validates eS !'*~~'N'N $(,I'/JJ `bt, %I'94! )V3   11%..%BVBV]f1gg))%0 eT "<<  ^^ $ $<<& & ) $U '' 'z* )kq( )s C&&D5 DDc\t|tr|S|jj|Sro)rrEr getter_dictrQs rhrezBaseModel._decompose_classs& c: &J~~))#..rjrrCc J t|tr?r*|j||} t| vr | tS| S|j ||S|r t ||nd |r t ||ndt|tr|j D cic]k\} } r j| sSrj| r@| j| xrj|  xr j| mc} } St|rP fdt|D} t|jr|j| S|j| St|tr#t!j"ddr |j$S|Scc} } w)N)r<r>r?rrr@)rrrCr<r>r?rrr@c 3K|]l\}} r j|sT r j|rAj| xr j| xr j|nyw)rN) is_excluded is_included _get_value for_element) riv_r<rr?r@r>rC value_exclude value_includes rhrz'BaseModel._get_value.. sAr%]-F-Fq-I&-*C*CA*F#%"/%5)Jm.G.G.J)Jm.G.G.J!- sA2A5use_enum_valuesF)rr]rGrCrtrGrrrrrrL enumerater>rqrrrr)rrrCr<rrr>r?r@v_dictk_rseq_argsrrs` `` ``` @@rhrzBaseModel._get_values a #%"/%5##!-  v%!(++ vvgwv??29 1g.t 29 1g.t a  ggiB%]-F-Fr-J&-*C*CB*GCNN#%"/%5)Km.G.G.K)Km.G.G.K!-#    1 'q\H .;1;;-G;1;;) bQ[[YaMb b 4 WSZZ9JE%R77NHOsA0Flocalnsc t||jj|jj|t fy)z{ Same as update_forward_refs but will not raise exception when forward references are not defined. N)rArrtrrrrrs rhrz%BaseModel.__try_update_forward_refs__8s0 "#s~~'<'<'>@\@\^ehqgstrjc xt||jj|jj|y)z` Try to update ForwardRefs on fields based on this Model, globalns and localns. N)rArrtrrrs rhupdate_forward_refszBaseModel.update_forward_refs@s* "#s~~'<'<'>@\@\^efrjr[c#TK|jjEd{y7w)z( so `dict(model)` works N)rsr)r s rh__iter__zBaseModel.__iter__Gs==&&(((s (&(c #ZK| |j tj|j|}| |j"tj|j|d}|j |||}|-|s+|s)|s'|s%|s#|j j Ed{y| t||nd} | t||nd} |j j D]\} } || |vs|r| |r=|jj| } t| ddst| dt| k(rP|r(| |jvr|j| j}n| }|s| s| r?|j| ||| xr| j| | xr| j| |||} || fy7 w)NT) intersect)rrr>rlrrB)rrGmerger_calculate_keysrsrrrr_missingrkrr)r rCr<rrr>r?r@ allowed_keysrr field_keyr model_fielddict_keys rhrHzBaseModel._iterMs  $"9"9"E &&t'>'>HG  $"9"9"E &&t'>'>SWXG++WM,   H Qaeq}}**, , , 5<5H 41d 5<5H 41d  MM//1 LIq(Yl-JP\abaj"oo11)< {J='+W`bjBkopBpI8??95;;$-=OO#%)Rm.G.G .R)Rm.G.G .R"/%5!-$ A+ 3  -sBF+F(D F+rXcb|||dury|r|jj}n|jj}|||jz}|r||jz}|r<||j Dchc]\}}t j |s|c}}z}|Scc}}w)NF)rrtrsrrrGis_true)r rrr>rrr+rs rhrzBaseModel._calculate_keyss ?w=E3I &&++-D==%%'D   GLLN "D  FKKM !D  7==?L41aj6H6H6KQL LD Ms B+B+otherct|tr!|j|jk(S|j|k(Sro)rr]rG)r rs rh__eq__zBaseModel.__eq__s4 eY '99;%**,. .99;%' 'rjc|jjDcgc]B\}}|tvr5||jvs#|j|jj r||fDc}}Scc}}wro)rsrrBrrrepr)r r+rs rh __repr_args__zBaseModel.__repr_args__se ++- 1))q/G4??[\K]KhKhKmKmF   sAA))rcrV)r7rVrcN)rcNro)rcrU)rcr[)FFNNFFF)rcrY)Grrrr rrrrr,rrrrr rrr:rrrr rrrrrrr-rZrrrr__doc__rrr0r5r8rrrGrN classmethodrRrTr9r3r_rrbrgrnrqrtr6rzr}rr%rErerrrrrHr rrrrrjrhr]r]Ms68 HT#z/238DHHXgc3h.?%@AHDHHXgc3h.?%@AH;=c;&6!78=!)${*;!<<"*4dK6G0H+I"JJ1; HT*-.;;F(8SE3J#78F02(9-2/4htn4 ,, (c3C.C)D EE ((+.5(0 F.IG5C5D5&5&5&n . 4MQLP(,#!&"  % GHI  % GHI     ~           JMQLP(,#!&"26#+Q% GHI+Q% GHI +Q  +Q  ~ +Q+Q+Q+Q(C5#:./+Q+Q+Q +QZtG}37 !"" ']" " "  "  "" "", !"" ']"CI" "  "  "" ""& d7m # '  tG}8H3EX[`g.7Lhaejq*MQLP)- HH% GHIH% GHI H & H  H H@%)?SdXd!%;O  58 ad   $(d7m$(C$(G$($(L/d7m/#/*// F FF F % GHI F % GHI FFFF FFPuCuDuugCgDgg )LPLP#!&"666% GHI 6 % GHI 6  666 6z*. ,-,-  &  +c" # 6(C(D(  rj) metaclass)r__base__rr__cls_kwargs__ __model_namerrrrrTrfield_definitionsc yrorrrrrrrrs rhr_r_rj)rrrrc yrorrs rhr_r_rrj)rrrrrrrc |tjdt|!| tdt |t s|f}nt tdtf}|xsi}i}i} |jD]U\} } t| stjd| dtt | t r | \} } nd| } } | r| | | <| || <W| |d}|r|j||j||rt|t|d <t|}t!||| \}}}||ur||d <|j|||||fi|S#t$r}td|d}~wwxYw) a Dynamically create a model. :param __model_name: name of the created model :param __config__: config class to use for the new model :param __base__: base class for the new model to inherit from :param __module__: module of the created model :param __validators__: a dict of method names and @validator class methods :param __cls_kwargs__: a dict for class creation :param __slots__: Deprecated, `__slots__` should not be passed to `create_model` :param field_definitions: fields of the model (or extra fields if a base is supplied) in the format `=(, )` or `=, e.g. `foobar=(str, ...)` or `foobar=123`, or, for complex use-cases, in the format `=` or `=(, )`, e.g. `foo=Field(datetime, default_factory=datetime.utcnow, alias='bar')` or `foo=(str, FieldInfo(title='Foo'))` Nz.__slots__ should not be passed to create_modelzBto avoid confusion __config__ and __base__ cannot be used togetherr\z3fields may not start with an underscore, ignoring "rzfield definitions should either be a tuple of (, ) or just a default value, unfortunately this means tuples as default values are not allowed)rrr)kwds__orig_bases__)rDrERuntimeWarningr&rrrrrr]rrIrgrr"r r r )rrrrrrrrrbrf_namef_def f_annotationf_valuerrresolved_basesmetansrs rhr_r_s6 FW  !bc c(E* {Hg 24#)rN FK*002! f% MMOPVxWXY[i j eU # (-% g%)%'L ".K  v#!&3>ZXI( V,ZD ("8,N"<nUND"dX%'  R  ni @4 @@1 !5  s2E  E$ EE$model input_datarWrrRrZc i}g}t}t}|j}|jtju}|xs|} |j D] } | | |}|jjD]\} } |j| jt }d}|t ur:|j"r.| j$r"|j| j&t }d}|t uri| j(r/|j+tt-| j| j/}|j0sN| j2sB||| <|j5| |r)|j5|r | j&n | j| j7||| j| \}}t9|tr|j+|]t9|t:r|j=|||| <|rt9|t>r|jA|z }n|jC|z }|re||z}|jtjDur|D] }||||< n4tG|D]&}|j+ttI|(|jJD]\}} |r|r | | |}|r||t|| fS||dfS#t ttf$r3} ittt| tg| fcYd} ~ cSd} ~ wwxYw#t ttf$r*} |j+t| tYd} ~ d} ~ wwxYw)z( validate data against a model. rNFTr)&rrrr!ignorerrgrr$r%r$rCrrrrkrallow_population_by_field_namerjrrlr&r)r: validate_allvalidate_alwaysrr%rlistextendrE extra_keysrr sortedr(r)rrrrtr. names_usedrr check_extracls_r(r)rrr using_namererrors_rrr/s rhr`r`s F FJJ   F,,ell2K <%D22W  W"44JW ''--/ eu{{H5 H !F!F5??NN5::x8EJ H ~~ l<>u{{KL%%'E&&u/D/D$t  NN4 ZuzzU[[InnUF nN G g| , MM' "  & MM' "F4L9< j* -))+j8EOO% 2E  % J||u{{*.A *1 F1I. EAMM,z|"CDE',&D&D;" v  ;tV,F ;z?64#@@@z4''uI~6 Wsuo|CX/N.OQUVV V WhI~6 ; MM,s9 : : ;s6 K< L'L$1&LL$L$'M%; M  M%ro)rrDabcrrtrenumr functoolsrpathlibrtypesrr r typingr r r rrrrrrrrrrrrrtyping_extensionsrpydantic.v1.class_validatorsrrrrpydantic.v1.configr r!r"r#pydantic.v1.error_wrappersr$r%pydantic.v1.errorsr&r'r(r)pydantic.v1.fieldsr*r+r,r-r.r/r0r|r1r2pydantic.v1.parser3r4r5pydantic.v1.schemar6r7pydantic.v1.typesr8r9pydantic.v1.typingr:r;r<r=r>r?r@rApydantic.v1.utilsrBrCrDrErFrGrHrIrJrKrLrMrNrOinspectrPrQrRrSrTrUrVrWrXrYrZr[r\__all__rarrirrvrwpropertytyperrrxrryrr}objectr0rr]rr_rr`rrjrhrs <<&2xxPPDOOGAAA0   "!>+    G; /E 7 T]Jd3 ?&;JJ -4-HXseSj5I,J-5=dKQ]3^sCx^$0?5T#TsCxT %TUHEMeWMeFMe`##^  .^  B $ .226%)  j)*     ../ cN   +    .226%)  j)* DM5g);#<<=    ../ cN   ']    .2FJ26%)+/JAJAj)*JAD$w-tG}c/A)BBC JA  JA ../ JAcNJAc3h(JAJA ']JAZ 8JNM(  ?M((4M(;FM( <8O#< <=M(rj