Ë
    ®Ó^j|  ã                  óº   — U d Z ddlmZ ddlZddlZddlmZmZ ddlm	Z	m
Z
 ddlmZ e
Zded<   e	D � ci c]  } | j                  | “Œ c} Zd	ed
<   dd„Zdd„Zyc c} w )u*  Per-header descriptor, registry, and platform-aware accessors.

The canonical authored data lives in :mod:`header_descriptor_catalog`. This
module provides a name-keyed registry and platform-dispatch helpers consumed
by the runtime search path â€” keeping the search code itself platform-agnostic.
é    )ÚannotationsN)Ú	TypeAliasÚcast)ÚHEADER_DESCRIPTOR_CATALOGÚHeaderDescriptorSpec)Ú
IS_WINDOWSr   ÚHeaderDescriptorzdict[str, HeaderDescriptor]ÚHEADER_DESCRIPTORSc                ó´   — t         r0t        t        t        df   | j                  | j
                  z   «      S t        t        t        df   | j
                  «      S )zæReturn the effective include subdirectory search list for the current platform.

    On Windows, Windows-specific subdirs are checked first, followed by the
    common subdirs.  On Linux, only the common subdirs are returned.
    .)r   r   ÚtupleÚstrÚinclude_subdirs_windowsÚinclude_subdirs©Údescs    úu/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/cuda/pathfinder/_headers/header_descriptor.pyÚplatform_include_subdirsr      sH   € õ Ü”Eœ#˜s˜(‘O T×%AÑ%AÀD×DXÑDXÑ%XÓYÐYÜ””c˜3�h‘ ×!5Ñ!5Ó6Ð6ó    c                ó€  — t         rCt        j                  j                  |d«      }t        j                  j	                  |«      r|S dS | j
                  rht        j                  t        j                  j                  |ddd«      «      }|rt        |«      dk7  ryt        j                  j                  |d   «      S |S )zÜResolve the conda anchor point for header search on the current platform.

    Returns the directory that ``_locate_in_anchor_layout`` should use as
    *anchor_point*, or ``None`` if the conda layout is not usable.
    ÚLibraryNÚtargetsÚ*Úincludeé   r   )	r   ÚosÚpathÚjoinÚisdirÚconda_targets_layoutÚglobÚlenÚdirname)r   Úconda_prefixÚanchorÚtargets_include_paths       r   Úresolve_conda_anchorr&   (   s“   € õ Ü—‘—‘˜l¨IÓ6ˆÜŸ™Ÿ™ vÔ.ˆvÐ8°DÐ8Ø× Ò Ü#Ÿy™y¬¯©¯©°lÀIÈsÐT]Ó)^Ó_ÐÙ#¤sÐ+?Ó'@ÀAÒ'EØÜ�w‰w�‰Ð3°AÑ6Ó7Ð7ØÐr   )r   r	   Úreturnztuple[str, ...])r   r	   r#   r   r'   z
str | None)Ú__doc__Ú
__future__r   r    r   Útypingr   r   Ú2cuda.pathfinder._headers.header_descriptor_catalogr   r   Ú%cuda.pathfinder._utils.platform_awarer   r	   Ú__annotations__Únamer
   r   r&   r   s   0r   ú<module>r/      s`   ðòõ #ã Û 	ß "÷õ =à2Ð �)Ó 2ð PiÖ2iÀt°4·9±9¸d±?Ò2iÐ Ð/Ó ió7ôùò 3js   ³A