Ë
    	š„j„!  ã                   óê   — d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 dZdddd	d
ddddedz   dedz   edz   dddœZdddddddddœZdZdZd Zd!Zd"Zd#Zd$Zd%Zd&Zd'Zd(„ Zd)„ Z G d*„ d+ej4                  «      Zy,)-z
Fixer for complicated imports
é    )Ú
fixer_base)ÚNameÚStringÚ
FromImportÚNewlineÚComma©Útouch_import_top)TÚACTIVEÚALLÚANCHORÚARCÚBASELINEÚBEVELÚBOTHÚBOTTOMÚBROWSEÚBUTTÚCASCADEÚCENTERÚCHARÚCHECKBUTTONÚCHORDÚCOMMANDÚCURRENTÚDISABLEDÚDOTBOXÚEÚENDÚEWÚ	EXCEPTIONÚEXTENDEDÚFALSEÚFIRSTÚFLATÚGROOVEÚHIDDENÚ
HORIZONTALÚINSERTÚINSIDEÚLASTÚLEFTÚMITERÚMOVETOÚMULTIPLEÚNÚNEÚNOÚNONEÚNORMALÚNSÚNSEWÚNUMERICÚNWÚOFFÚONÚOUTSIDEÚPAGESÚPIESLICEÚ
PROJECTINGÚRADIOBUTTONÚRAISEDÚREADABLEÚRIDGEÚRIGHTÚROUNDÚSÚSCROLLÚSEÚSELÚ	SEL_FIRSTÚSEL_LASTÚ	SEPARATORÚSINGLEÚSOLIDÚSUNKENÚSWÚStringTypesÚTOPÚTRUEÚ
TclVersionÚ	TkVersionÚ	UNDERLINEÚUNITSÚVERTICALÚWÚWORDÚWRITABLEÚXÚYÚYESÚwantobjects)"ÚAbstractBasicAuthHandlerÚAbstractDigestAuthHandlerÚAbstractHTTPHandlerÚBaseHandlerÚCacheFTPHandlerÚ
FTPHandlerÚFileHandlerÚHTTPBasicAuthHandlerÚHTTPCookieProcessorÚHTTPDefaultErrorHandlerÚHTTPDigestAuthHandlerÚ	HTTPErrorÚHTTPErrorProcessorÚHTTPHandlerÚHTTPPasswordMgrÚHTTPPasswordMgrWithDefaultRealmÚHTTPRedirectHandlerÚHTTPSHandlerÚOpenerDirectorÚProxyBasicAuthHandlerÚProxyDigestAuthHandlerÚProxyHandlerÚRequestÚStringIOÚURLErrorÚUnknownHandlerÚ
addinfourlÚbuild_openerÚinstall_openerÚparse_http_listÚparse_keqv_listÚrandombytesÚrequest_hostÚurlopen)ÚContentTooShortErrorÚFancyURLopenerÚ	URLopenerÚbasejoinÚ	ftperrorsÚ
getproxiesÚgetproxies_environmentÚ	localhostÚpathname2urlÚquoteÚ
quote_plusÚ	splitattrÚ	splithostÚ
splitnportÚsplitpasswdÚ	splitportÚ
splitqueryÚsplittagÚ	splittypeÚ	splituserÚ
splitvalueÚthishostÚunquoteÚunquote_plusÚunwrapÚurl2pathnameÚ
urlcleanupÚ	urlencoder€   Úurlretrieve)Úparse_qsÚ	parse_qslÚ	urldefragÚurljoinÚurlparseÚurlsplitÚ
urlunparseÚ
urlunsplit)ÚndbmÚgnuÚdumb)ÚerrorÚopen)Úwhichdb)ÚBaseHTTPRequestHandlerÚ
HTTPServer)ÚCGIHTTPRequestHandler)ÚSimpleHTTPRequestHandler)Ú
FileDialogÚLoadFileDialogÚSaveFileDialogÚdialogstatesÚtest)Ú	DirectoryÚOpenÚSaveAsÚ_DialogÚaskdirectoryÚaskopenfileÚaskopenfilenameÚaskopenfilenamesÚaskopenfilesÚasksaveasfileÚasksaveasfilename)ÚSimpleDialog)ÚaskfloatÚ
askintegerÚ	askstringÚDialog)ÚCGIXMLRPCRequestHandlerÚSimpleXMLRPCDispatcherÚSimpleXMLRPCRequestHandlerÚSimpleXMLRPCServerÚlist_public_methodsÚremove_duplicatesÚresolve_dotted_attribute)ÚDocCGIXMLRPCRequestHandlerÚDocXMLRPCRequestHandlerÚDocXMLRPCServerÚServerHTMLDocÚXMLRPCDocGenerator)Úurllib2Úurllibr¢   ÚdbmÚanydbmr«   ÚBaseHTTPServerÚCGIHTTPServerÚSimpleHTTPServerr°   ÚtkFileDialogrÀ   ÚtkSimpleDialogrÈ   rÎ   )rÑ   rÒ   )rÑ   rÒ   r¢   )rÔ   r«   )rÖ   r×   rÕ   )rØ   r°   )rÙ   rÀ   )rÎ   rÈ   )zurllib.requestzurllib.errorzurllib.parsezdbm.__init__zhttp.serverztkinter.filedialogztkinter.simpledialogzxmlrpc.serverz	name='%s'z	attr='%s'z
using='%s'z$dotted_name=dotted_name< %s '.' %s >z?pow=power< %s trailer< '.' %s > trailer< '.' using=any > any* >z-pow=power< %s trailer< '.' using=any > any* >zœfrom_import=import_from< 'from' %s 'import' (import_as_name< using=any 'as' renamed=any> | in_list=import_as_names< using=any* > | using='*' | using=NAME) >zSname_import=import_name< 'import' (%s | in_list=dotted_as_names< imp_list=any* >) >z8name_import_rename=dotted_as_name< %s 'as' renamed=any >zµfrom_import_rename=import_from< 'from' %s 'import' (%s | import_as_name< %s 'as' renamed=any > | in_list=import_as_names< any* (%s | import_as_name< %s 'as' renamed=any >) any* >) >c                  ó`  — t         D � cg c]  } | j                  d«      ‘Œ }} ddj                  |D � cg c]!  } t        t        | d   z  t
        | d   z  fz  ‘Œ# c} «      z   }|dz  }|dj                  |D � cg c]  } | d   dk(  sŒt        | d   z  ‘Œ c} «      dz   z  }|S c c} w c c} w c c} w )zI
    Builds a pattern for all toplevel names
    (urllib, http, etc)
    ú.z( z | r   é   Ú__init__z ))ÚMAPPINGÚsplitÚjoinÚdotted_nameÚsimple_nameÚsimple_attr)ÚmodÚnames_dot_attrsÚrets      úW/var/www/html/GAP/venv/lib/python3.12/site-packages/libpasteurize/fixes/fix_imports2.pyÚall_modules_subpatternrè   „   sÊ   € ô
 3:Ö:¨3�s—y‘y •Ð:€OÐ:Ø
�&—+‘+ØO^ö`ØHKô  +¬k¸SÀ¹VÑ.DÜ,7¸3¸q¹6Ñ,Bð.Dó  Dò `ó añ a€Càˆ6�M€CØˆ6�;‰;¸/Öc°3ÈSÐQRÉVÐWbÓMbœ s¨1¡vÓ.ÒcÓdÐglÑlÑl€CØ€Jùò ;ùò`ùò ds   ‰B!³&B&
Á7B+
ÂB+
c              #   ó`  K  — t         t        «       z  –— | j                  «       D ]„  \  }}|j                  d«      \  }}t        |z  }t
        |z  }t        ||fz  }t        |z  –— t        ||fz  –— |dk(  rt        |z  –— t        |z  –— t        |z  –— t        |||||fz  –— Œ† y­w)zÞ
    mapping1: A dict mapping py3k modules to all possible py2k replacements
    mapping2: A dict mapping py2k modules to the things they do
    This builds a HUGE pattern to match all ways that things can be imported
    rÛ   rÝ   N)Úfrom_importrè   Úitemsrß   râ   rã   rá   Úname_importÚpower_twonameÚpower_onenameÚname_import_renameÚfrom_import_rename)	Úmapping1Úmapping2Úpy3kÚpy2kÚnameÚattrÚs_nameÚs_attrÚd_names	            rç   Úbuild_import_patternrú   ‘   sÂ   è ø€ ô Ô/Ó1Ñ
2Ò2Ø—n‘nÓ&ò L‰
ˆˆdØ—Z‘Z Ó%‰
ˆˆdÜ Ñ%ˆÜ Ñ%ˆÜ ¨Ð/Ñ/ˆÜ˜VÑ$Ò$Ü˜v vÐ.Ñ.Ò.Ø�;ÒÜ Ñ(Ò(Ü 6Ñ*Ò*Ü  FÑ+Ò+Ü  F¨F°F¸FÀFÐ#KÑKÓKñLùs   ‚B,B.c                   óF   — e Zd ZdZdj	                   eee«      «      Zd„ Z	y)ÚFixImports2é   z | 
c                 ó   — t        dd|«       y )NÚfutureÚstandard_libraryr	   )ÚselfÚnodeÚresultss      rç   Ú	transformzFixImports2.transform­   s   € Ü˜Ð$7¸Õ>ó    N)
Ú__name__Ú
__module__Ú__qualname__Ú	run_orderrà   rú   rÞ   Ú
PY2MODULESÚPATTERNr  © r  rç   rü   rü   §   s"   „ à€Ià�m‰mÑ0°¸*ÓEÓF€Gó?r  rü   N)Ú__doc__Úlib2to3r   Úlib2to3.fixer_utilr   r   r   r   r   Úlibfuturize.fixer_utilr
   ÚTK_BASE_NAMESr
  rÞ   râ   rã   Úsimple_usingrá   rí   rî   rê   rì   rï   rð   rè   rú   ÚBaseFixrü   r  r  rç   ú<module>r     s  ðñõ ß GÕ GÝ 3ð!€ð Sð	#ðJð,ð%ðð#<ð"-ð%0à+ð /,ñ ,ð!Kð !.ð 1$ñ !$à"/ð 3Gñ #Gð'/ð
$Nño:€
ðz (à'à4à'àJà0à4à;ñ€ð& €à€à€à5€àR€à@€ð n€àd€ð QÐ ð NÐ ò
òLô,?�*×$Ñ$õ ?r  