§
    °³Ùg{  ã                   óˆ   — 	 d dl Z n# e$ r d dlZ Y nw xY wd dlZd dlmZ d dlZda	 ej
        e¦  «        Zd„ Zd„ Zd„ Zd„ ZdS )é    N)Úloggingc                 ó  — t           j                             | t           j        d¦  «        t           j                             | t           j        t           j        d¦  «        fD ]%}t           j                             |¦  «        r|c S Œ&dS )z�Find the 'setup.cfg' file, if it exists.

    This assumes we're using 'doc/source' for documentation, but also allows
    for single level 'doc' paths.
    z	setup.cfgN)ÚosÚpathÚjoinÚpardirÚexists)Úsrcdirr   s     úC/granary/edev/quantum/lib/python3.11/site-packages/pbr/sphinxext.pyÚ_find_setup_cfgr   "   su   € õ ŒG�LŠL˜¥¤¨KÑ8Ô8ÝŒG�LŠL˜¥¤­B¬I°{ÑCÔCðEð ð ˆõ Œ7�>Š>˜$ÑÔð 	ØˆKˆKˆKð	ð ˆ4ó    c                 óø  — t           €ít          j        ¦   «         }t          | ¦  «        }|r|                     |¦  «        st
                               d¦  «         dS 	 |                     dd¦  «        }t          | 	                    ¦   «         ¦  «        dk    r)t          |¦  «        dk    r|                     dd¦  «        }n0# t          j
        $ r t
                               d¦  «         Y dS w xY w|a t           S )	zÔReturn string name of project name, or None.

    This extracts metadata from 'setup.cfg'. We don't rely on
    distutils/setuptools as we don't want to actually install the package
    simply to build docs.
    Nz7Could not find a setup.cfg to extract project name fromÚmetadataÚnameé   é    Úsummaryz1Could not extract project metadata from setup.cfg)Ú_projectÚconfigparserÚConfigParserr   ÚreadÚloggerÚinfoÚgetÚlenÚsplitÚError)r
   Úparserr   Úprojects       r   Ú_get_project_namer    4   sý   € õ ÐÝÔ*Ñ,Ô,ˆå˜vÑ&Ô&ˆØð 	˜6Ÿ;š; tÑ,Ô,ð 	Ý�KŠKð ñ  ô  ð  à�4ð		ð —j’j ¨VÑ4Ô4ˆGÝ�7—=’=‘?”?Ñ#Ô# qÒ(Ð(­S°©\¬\¸BÒ->Ð->Ø Ÿ*š* Z°Ñ;Ô;�øøÝÔ!ð 	ð 	ð 	Ý�KŠKÐKÑLÔLÐLØ�4�4ð	øøøð ˆå€Os   ÁA$C Ã)C0Ã/C0c                 óL  — t          | j        ¦  «        }	 t          j                             |¦  «        }n# t
          $ r d }Y nw xY w|rV| j        j        sL| j        j        sB|                     ¦   «         | j        _        | 	                    ¦   «         | j        _        d S d S d S d S )N)
r    r
   ÚpbrÚversionÚVersionInfoÚ	ExceptionÚconfigÚreleaseÚcanonical_version_stringÚversion_string_with_vcs)ÚappÚproject_nameÚversion_infos      r   Ú_builder_initedr-   V   sÎ   € õ % S¤ZÑ0Ô0€LðÝ”{×.Ò.¨|Ñ<Ô<ˆˆøÝð ð ð Øˆˆˆðøøøð ð D˜CœJÔ.ð D°s´zÔ7Ið DØ)×BÒBÑDÔDˆŒ
ÔØ)×AÒAÑCÔCˆŒ
ÔÐÐðDð Dð Dð Dð Dð Ds   –6 ¶AÁAc                 óB   — |                       dt          ¦  «         dddœS )Nzbuilder-initedT)Úparallel_read_safeÚparallel_write_safe)Úconnectr-   )r*   s    r   Úsetupr2   e   s,   € Ø‡K‚KÐ ¥/Ñ2Ô2Ð2à"Ø#ðð ð r   )r   ÚImportErrorr   Úos.pathr   Úsphinx.utilr   Úpbr.versionr"   r   Ú	getLoggerÚ__name__r   r   r    r-   r2   © r   r   ú<module>r:      sÎ   ðð((ØÐÐÐÐøØð (ð (ð (Ø'Ð'Ð'Ð'Ð'Ð'ð(øøøà €€€à Ð Ð Ð Ð Ð à Ð Ð Ð à€Ø	ˆÔ	˜8Ñ	$Ô	$€ðð ð ð$ð ð ðDDð Dð Dðð ð ð ð s   ‚ ‡	’