L idXdZddlZdaGddZdedefdZdedefdZdedefd Zy) z.Import mangling. See mangling.md for details. Nc:eZdZdZd dZdefdZdedefdZdZy) PackageManglerzZ Used on import, to ensure that all modules imported have a shared mangle parent. returnNcVt|_tdz ad|jd|_y)Nz) _mangle_index_mangle_parentselfs ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torch/package/_mangling.py__init__zPackageMangler.__init__s.* !00B0B/C1EcFt|dk7sJ|jdz|zS)Nr.)lenr )r names r manglezPackageMangler.mangles(4yA~~""S(4//rmangledcj|j|jdzr|jddS|S)z Note: This only demangles names that were mangled by this specific PackageMangler. It will pass through names created by a different PackageMangler instance. r) startswithr partition)r rs r demanglezPackageMangler.demangles:   d11C7 8$$S)!, ,rc|jS)N)r r s r parent_namezPackageMangler.parent_name+s"""r)rN) __name__ __module__ __qualname____doc__rstrrrrrr rr s1F0c0   #rrrrc@ttjd|S)Nz)boolrematchrs r is_mangledr(/s /6 77rcjt|r'|jd\}}}t|dk7r|SdS|S)z Note: Unlike PackageMangler.demangle, this version works on any mangled name, irrespective of which PackageMangler created it. rr)r(rr)r_firstseplasts r rr3s= $ NN3/T3x1}t,", KrcDt|r|jddS|S)Nrr)r(rr's r get_mangle_prefixr/@s"%/%54>># q !?4?r) r r%r rr!r$r(rr/r"rr r0s]   # #F8S8T8 3 3 @C@C@r