
    	h9"                         S SK r S SKJr  \ R                  rSS jrS rS r " S S5      r " S S	5      r " S
 S5      r	g)    N)gencachec                 t   / n [         R                  " XX#5      nUGc+  SS Kn[        R
                  " XX15      nUR                  5       n	Uc  / n[        UR                  5       5       H  n
UR                  U
5      nUR                  U
5      nUR                  5       nUR                  [        R                  :X  dD  UR                  [        R                  :X  d  Ms  UR                  [        R                   -  (       d  M  UR#                  US   5        M     U GH*  nU	R%                  U5      u  nnUc  ['        SU S35      eUR                  5       nUR                  [        R                  :X  a2  UR)                  S5      nUR+                  U5      nUR                  5       nUR,                  R.                  R1                  XUR                  S5      5      n[3        UR4                  UR6                  UR8                  UR:                  5        UR:                   H%  nUu  nnnUS   nUR#                  UUUS   45        M'     GM-     U$ U=(       d    UR<                  R?                  5        H  n UR@                  U   n[         RD                  " U5      n[G        UUS-   S 5      n[G        UUS	-   S 5      nUb  Uc  ['        SU S
35      e[3        UUUU5        U H%  nUu  nnnUS   nUR#                  UUUS   45        M'     M     U$ ! [         a    S n GNf = f! [B         a    ['        SU S35      ef = f)Nr   zThe interface 'z' can not be located   zInterface 'z'' does not exist in this cached typelib_vtables_dispatch_	_vtables_z' is IDispatch only)$r   GetModuleForTypelibImportErrorwin32com.client.build	pythoncomLoadRegTypeLibGetTypeComprangeGetTypeInfoCountGetTypeInfoGetDocumentationGetTypeAttrtypekindTKIND_INTERFACETKIND_DISPATCH
wTypeFlagsTYPEFLAG_FDUALappendBindType
ValueErrorGetRefTypeOfImplTypeGetRefTypeInfoclientbuild
VTableItem_doCreateVTableclsidpython_namebIsDispatchvtableFuncsVTablesToClassMapvaluesNamesToIIDMapKeyErrorGetModuleForCLSIDgetattr)typelibGUIDlcidmajorminorinterface_namesretmodwin32comtlbtypecomp_libiinfodocattrname	type_info	type_comprefhtypeitemnamesdispiddescinvkindiidsub_modis_dispatchmethod_defss                              eC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\win32com/universal.pyRegisterInterfacesrH      s+   
C**;eK {$ &&{5G(" O3//12q)**1-'')==I$=$==MMY%=%==)*B*BBB#**3q62 3 $D#/#8#8$ Iy
   ?4&8L!MNN((*D}}	 8 88$99"=%44X>	 ,,.??((33!;!;B!?D 

D,,d.>.>@P@P ((&*#vtq'

FGU1X67 )) $\ J) $Es'<'<'C'C'EED''- 005G!'42F+FMK!'4++=tDK"k&9 ;tf4G!HII C{K@#&*#vtq'

FGU1X67 $! F( JC  `   !$'NO s   L
 1L
LLL7c                     [        XU5      n[        R                  R                  XB5      n[        R                  R	                  XPU5        g N)
Definitionr   _univgwCreateVTableRegisterVTable)rC   interface_namerE   rF   defnvtbls         rG   r!   r!   T   s:    c4D))$<D$$T?    c                    U S   nU[         R                  [         R                  -  -  (       a2  [         R                  R	                  [         R
                  5      S   nU$ U[         R                  :X  a2  [         R                  R	                  [         R
                  5      S   nU$ [         R                  R	                  U5      S   nU$ )Nr      )r   VT_BYREFVT_ARRAYrL   SizeOfVTVT_PTR	VT_RECORD)	typeTupletcbs      rG   _CalcTypeSizer]   Z   s    !AI!3!334''	(8(89!< I 
i!!	! ''	(8(89!< I ''*1-IrR   c                       \ rS rSrSS jrSrg)Argo   Nc                 t    X l         Uu  U l        U l        U l        U l        [        U5      U l        SU l        g Nr   )r:   vtinOutdefaultr"   r]   sizeoffset)selfarg_infor:   s      rG   __init__Arg.__init__p   s0    	8@5T\4:!(+	rR   )r"   re   rd   r:   rg   rf   rc   rJ   )__name__
__module____qualname____firstlineno__rj   __static_attributes__ rR   rG   r_   r_   o   s    rR   r_   c                   *    \ rS rSrSS jrS rS rSrg)Methodx   c                    Uu  p4nUS   nUSS  nUS   nUS   n	US   n
X@l         Xl        U(       a  US S S:w  a  SU-  nX`l        Sn/ U l        U	 H=  n[	        U5      nXl        XR                  -  nU R                  R                  U5        M?     Xl        U R                  5       U l
        U R                  5       U l        g )Nr   rT   r         OnzOn%s)r@   rB   r:   argsr_   rg   rf   r   cbArgs_GenerateInArgTuple_gw_in_args_GenerateOutArgTuple_gw_out_args)rh   method_infoisEventSink	all_namesr@   rA   r:   r?   rB   arg_defsret_defrz   argDescargs                 rG   rj   Method.__init__y   s    "-	4|!"q'7q' 48t+D=D		Gg,CJhhFIIS!	  
 335 557rR   c                    / nU R                    Hi  nUR                  [        R                  -  (       d  UR                  S:X  d  M7  UR	                  UR
                  UR                  UR                  45        Mk     [        U5      $ rb   )	ry   rd   r   PARAMFLAG_FINr   rc   rg   rf   tuplerh   lr   s      rG   r{   Method._GenerateInArgTuple   s[    99Cyy9222cii1n#&&#**chh78  QxrR   c                 h   / nU R                    H  nUR                  [        R                  -  (       d4  UR                  [        R                  -  (       d  UR                  S:X  d  MY  UR                  UR                  UR                  UR                  UR                  45        M     [        U5      $ rb   )ry   rd   r   PARAMFLAG_FOUTPARAMFLAG_FRETVALr   rc   rg   rf   r"   r   r   s      rG   r}   Method._GenerateOutArgTuple   st    99C		I44499y:::99>#&&#**chh		BC  QxrR   )r|   r~   ry   rz   r@   rB   r:   N)r   )rl   rm   rn   ro   rj   r{   r}   rp   rq   rR   rG   rs   rs   x   s    84
rR   rs   c                       \ rS rSrS rS rS rS r\R                  R                  \R                  R                  4S jrSrg)	rK      c                     Xl         / U l        X l        U H)  n[        U5      nU R                  R	                  U5        M+     g rJ   )_iid_methods_is_dispatchrs   r   )rh   rC   rE   rF   r7   entrys         rG   rj   Definition.__init__   s9    	'D4LEMM  '  rR   c                     U R                   $ rJ   )r   )rh   s    rG   rC   Definition.iid   s    yyrR   c                 X    U R                    Vs/ s H  oR                  PM     sn$ s  snf rJ   )r   rz   rh   ms     rG   vtbl_argsizesDefinition.vtbl_argsizes   s     "&--0-Q-000s   'c                 l    U R                    Vs/ s H  n[        UR                  5      PM     sn$ s  snf rJ   )r   lenry   r   s     rG   vtbl_argcountsDefinition.vtbl_argcounts   s&    %)]]3]AFF]333s   1c                    U R                   U   nSnU" UR                  U5      n[        USU5      nUR                  UR                  UR
                  '   UR                  UR
                  SUR                  USS5      n	[        U	[        5      (       aj  [        U	5      [        UR                  5      S-   :X  a  U	S   nU	SS n	Os[        SR                  [        UR                  5      S-   [        U	5      5      5      eU	/n	U	R                  S/[        UR                  5      S-
  -  5        [        U	5      n	U" XR                  U5        U$ )z'Dispatch a call to an interface method.r   policyNrT   z"Expected {} return values, got: {})r   r|   r+   r:   _dispid_to_func_r@   
_InvokeEx_rB   
isinstancer   r   r~   	TypeErrorformatextend)
rh   obindexargPtrReadFromInTupleWriteFromOutTuplemethhrry   retVals
             rG   dispatchDefinition.dispatch   s.    }}U#t//8R2&+/99DKK(t{{At||T4N fe$$ 6{c$"3"34q88AY8??D--.2CK  XFMM4&C(9(9$:Q$>?@6]F&"3"3V<	rR   )r   r   r   N)rl   rm   rn   ro   rj   rC   r   r   r   rL   r   r   r   rp   rq   rR   rG   rK   rK      s;    (14 "))99#++==&rR   rK   rJ   )
r   win32com.clientr   	com_errorrH   r!   r]   r_   rs   rK   rq   rR   rG   <module>r      sI   
  $	FR@* - -`8 8rR   