§
    ®	ÊjX  ã            	      ó   — d Z ddlmZ ddlZdZ ed„  eej        ¦  «        D ¦   «         ¦  «        Z		 ddl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ m!Z!m"Z" n# e#$ rLZ$ e%e$dd¦  «        pdZ&e&r'e& '                    d	¦  «        s e#d
e&›de› �¦  «        e$‚ e#de› �¦  «        e$‚dZ$[$we($ r(Z$ e#d e)e$¦  «        j*        › de$› de› �¦  «        e$‚dZ$[$ww xY wefdd„Zefdd„Zefdd„Zefd d„Zefddœd d„ZdS )!a·  Prelude for the core-pin assertion, then delegation to the core.

THE COMPARISON IS NOT HERE. It lives in invisible_core.pin, because the other
consumer of the core (the profile manager) asked the same question and two
copies of the answer drift: the day the two products disagree about why an
environment is broken, the check has stopped being a diagnosis. That repository
was deleted on 2026-08-18 and the comparison stays where it is - the core is
what owns the pin, and it is installed on its own by anybody who wants it.
This module is the small part that genuinely cannot be delegated, plus
name-bound wrappers so the rest of this package can keep calling the functions
without repeating our own distribution name.

WHAT CANNOT BE DELEGATED. A module inside invisible_core cannot report that
invisible_core is absent, unimportable, or so damaged that it cannot derive its
own version: by the time any line of it runs, it imported. So the import below
is the whole floor, and its except branches classify the failure:

  * ImportError naming a module under invisible_core - either the core is not
    installed at all, or it is older than this check and ships no
    invisible_core.pin (or no invisible_core.pin.enforce_core_pin). Those
    cannot be told apart from here and do not need to be: one remedy fixes all
    of them, `pip install --force-reinstall invisible-playwright`, which makes
    pip resolve the core version from our own Requires-Dist. No version literal
    in the message, so nothing here can drift out of step with pyproject.
  * ImportError naming any other module - the core is installed and one of ITS
    dependencies is missing. That is what `pip install --no-deps` leaves behind,
    and reporting it as "invisible-core is not installed" sends the user to the
    wrong package.
  * anything else - the core is on disk and its import raised something that is
    not an ImportError at all. Measured: delete invisible_core/seal.json and the
    import dies with a raw FileNotFoundError naming an absolute path, because
    invisible_core.__init__ reaches _version.py, which reads the seal. That is a
    partial install, and without this branch it is the one broken state the user
    sees as a traceback instead of a remedy.

Both message sets are deliberately short and carry no version number: everything
that needs one is on the other side of this import.

WHY THE REPAIR IS NOT ATTEMPTED IN THIS FILE. enforce_core_pin() repairs a
version mismatch by installing the declared version and picking it up in
process. It can only do that because it knows WHICH version is declared, and
that comes from the one requirement parser, which lives in the core. When the
core cannot be imported at all there is no parser to ask, and the only remedy
that needs no version literal is a force-reinstall of THIS distribution, i.e. of
the package that is halfway through importing right now. Replacing your own
files mid-import is not a repair, so this floor reports and stops.
é    )ÚannotationsNzinvisible-playwrightc              #  óL   K  — | ]}|d k    p|                      d¦  «        V — Œ dS )Úinvisible_corezinvisible_core.N)Ú
startswith)Ú.0Únames     úIC:\Projects\Muse2API\.venv\Lib\site-packages\invisible_playwright/_pin.pyú	<genexpr>r
   ;   sN   è è € ð ð àð 	ÐÒÐB §¢Ð0AÑ BÔ Bðð ð ð ð ð ó    )Ú	CORE_NAMEÚAUTOFIX_ENVÚSKIP_ENVÚPinDeclarationÚRequirementÚassert_core_pinÚcanonical_requirementÚdeclared_core_pinÚeditable_core_pathÚenforce_core_pinÚinstalled_core_versionÚnormalise_nameÚparse_requirementÚpin_declarationÚpin_from_requirementsÚpin_problemÚ
pin_reportÚrecorded_core_versionÚrepair_corer   Ú r   zDinvisible-core is installed but cannot be imported: no module named zÇ.
That is one of its own dependencies, so it was installed without dependency resolution (pip install --no-deps, or a lockfile that lists the packages separately).
Run: pip install --force-reinstall a  invisible-core is missing, or too old for this invisible-playwright: it does not carry the release-pin check (invisible_core.pin), so the engine it downloads cannot be matched against the configuration this package ships.
Run: pip install --force-reinstall z^invisible-core is installed but it cannot even determine its own version: importing it raised z: a  
That is a partial or damaged installation, not an old one. A missing or unreadable invisible_core/seal.json is the usual cause, and it is read while invisible_core is still importing, so nothing inside the core can report it.
Run: pip install --force-reinstall Ú	dist_nameÚstrÚreturnú'str | None'c                ó    — t          | ¦  «        S )zDThe `invisible-core==X` version THIS distribution declares, or None.)Ú_declared_core_pin©r    s    r	   r   r   ƒ   s   € å˜iÑ(Ô(Ð(r   r   c                ó    — t          | ¦  «        S )z2The declaration and why it is or is not checkable.)Ú_pin_declarationr&   s    r	   r   r   ˆ   s   € å˜IÑ&Ô&Ð&r   Údictc                ó    — t          | ¦  «        S )zANon-raising form. Read ["verdict"], not ["ok"], to report health.)Ú_pin_reportr&   s    r	   r   r   �   s   € å�yÑ!Ô!Ð!r   ÚNonec                ó$   — t          | ¦  «         dS )z�Report-only form: raise ImportError when the core that will run is not the
    one declared. Installs nothing. Used by the CLI and the tests.N)Ú_assert_core_pinr&   s    r	   r   r   ’   s   € õ �YÑÔÐÐÐr   )Ústreamc               ó4   — t          | t          |¬¦  «         dS )az  Import-time form: check, and repair the environment instead of only
    reporting it. Raises ImportError only when it is still wrong afterwards.

    The sys.modules snapshot taken at the top of this module is passed through:
    it is the only evidence that no caller is already holding a core object, and
    it stops being available the moment anything imports the core.
    )Úcore_preimportedr/   N)Ú_enforce_core_pinÚ_CORE_PREIMPORTED)r    r/   s     r	   r   r   ˜   s    € õ �iÕ2CÈFÐSÑSÔSÐSÐSÐSr   )r    r!   r"   r#   )r    r!   r"   r   )r    r!   r"   r)   )r    r!   r"   r,   )+Ú__doc__Ú
__future__r   ÚsysÚ_sysÚ	DIST_NAMEÚanyÚlistÚmodulesr3   Úinvisible_core.pinr   r   r   r   r   r   r.   r   r   r%   r   r   r2   r   r   r   r   r(   r   r   r   r+   r   r   ÚImportErrorÚ_eÚgetattrÚ_missingr   Ú	ExceptionÚtypeÚ__name__© r   r	   ú<module>rE      s,  ðð.ð .ð^ #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à"€	ð �Cð ð à��T”\Ñ"Ô"ðñ ô ñ ô Ð ð(1ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð øð* ð ð ð Øˆw�r˜6 2Ñ&Ô&Ð,¨"€HØð ˜×+Ò+Ð,<Ñ=Ô=ð Øˆkð>Øð>ð >ð
 3<ð>ð >ñ
ô 
ð ð	ð ˆ+ð	:ð /8ð		:ð 	:ñô ð ðøøøøð ð 	ð 	ð 	Ø
ˆ+ð	:Ø#˜t B™xœxÔ0ð	:ð 	:Ø46ð	:ð 	:ð /8ð	:ð 	:ñô ð ðøøøøð	øøøð (1ð )ð )ð )ð )ð )ð
 &/ð 'ð 'ð 'ð 'ð 'ð
 !*ð "ð "ð "ð "ð "ð
 &/ð  ð  ð  ð  ð  ð '0ð T¸4ð Tð Tð Tð Tð Tð Tð Tð Ts$   ³*A ÁCÁ#AB*Â*CÂ2#CÃC