+
    %i}                        ^ RI Ht ^ RIt^ RIHtHt ^RIHtHt . ROt	R R lt
]P                  ! R	4      t]! R]4      t  ! R
 R]4      tR R ltR# )    )annotationsN)NewTypecast)
EXCEPTIONSLICENSESInvalidLicenseExpressionNormalizedLicenseExpressionc                   V ^8  d   QhRR/# )   returnz	list[str] )formats   "Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/packaging/licenses/__init__.py__annotate__r   /   s           c                     \         # )N)__all__r   r   r   __dir__r   /   s    Nr   z^[A-Za-z0-9.-]*$c                      ] tR t^<tRtRtR# )r   a$  Raised when a license-expression string is invalid

>>> from packaging.licenses import canonicalize_license_expression
>>> canonicalize_license_expression("invalid")
Traceback (most recent call last):
    ...
packaging.licenses.InvalidLicenseExpression: Invalid license expression: 'invalid'
r   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r   r   r   <   s    r   c                    V ^8  d   QhRRRR/# )r   raw_license_expressionstrr   r	   r   )r   s   "r   r   r   G   s      s ss sr   c           	        V '       g   RV : 2p\        V4      hV P                  RR4      P                  RR4      pRpVP                  4        Uu/ uF\  pVP                  4       P	                  VP                  4       4      '       g   K8  VP                  4       RV\        V4      R ,           bK^  	  ppVP                  4       pVP                  4       p. pV F  pVR9  d   VP                  R
4       K  VR	8X  d   VP                  R4       K7  VR8X  d   V'       d   VR,          R9  g   VR8X  d(   V'       d    VR,          R8X  d   RV : 2p\        V4      hVP                  V4       K  	  RP                  V4      p	 \        V	RR4       . p
T EFP  pTR9   d"   T
P                  TP                  4       4       K,  T
'       dP   T
R,          R8X  dB   T\        9  d   RT: 2p\        T4      hT
P                  \        T,          R,          4       K  TP                  R4      '       d	   TRR pRpMTpRpTP	                  R4      '       dN   \        P                  T4      '       g   RT: 2p\        T4      hT
P                  Y[,          T,           4       EK
  T\        9  d   RT: 2p\        T4      hT
P                  \        T,          R,          T,           4       EKS  	  RP                  T
4      p\!        RTP                  RR4      P                  RR4      4      # u upi   \         d    RT : 2p\        T4      Rhi ; i)a<  
This function takes a valid License-Expression, and returns the normalized
form of it.

The return type is typed as :class:`NormalizedLicenseExpression`. This
allows type checkers to help require that a string has passed through this
function before use.

:param str raw_license_expression: The License-Expression to canonicalize.
:raises InvalidLicenseExpression: If the License-Expression is invalid due to an
    invalid/unknown license identifier or invalid syntax.

.. doctest::

    >>> from packaging.licenses import canonicalize_license_expression
    >>> canonicalize_license_expression("mit")
    'MIT'
    >>> canonicalize_license_expression("mit and (apache-2.0 or bsd-2-clause)")
    'MIT AND (Apache-2.0 OR BSD-2-Clause)'
    >>> canonicalize_license_expression("(mit")
    Traceback (most recent call last):
      ...
    InvalidLicenseExpression: Invalid license expression: '(mit'
    >>> canonicalize_license_expression("Use-it-after-midnight")
    Traceback (most recent call last):
      ...
    InvalidLicenseExpression: Unknown license: 'Use-it-after-midnight'
zInvalid license expression: (z ( )z ) zLicenseRef-NorwithFalse  evalWITHzUnknown license exception: id+zlicenseref-zInvalid licenseref: zUnknown license: r	   z( z )>   r    r!   r"   andr#   >   r    r"   r+   )r   replacesplitlower
startswithlenappendjoincompileSyntaxErrorupperr   endswithlicense_ref_allowedmatchr   r   )r   messagelicense_expressionlicenseref_prefixreflicense_refstokenspython_tokenstokenpython_expressionnormalized_tokensfinal_tokensuffixnormalized_expressions   &             r   canonicalize_license_expressionrG   G   s%   > "01G0JK&w// 077UCKKCQVW% &++--C99;!!"3"9"9";< 	C		]S->)?)A%BBB-   ,113%%'F M77  )f_  &SLb!);;sl}r1Bc1I45K4NOG*733  '  /:!2v. 33$$U[[]3!22!6&!@J&7yA.w77$$Z%6t%<=~~c""#CRj#%%m44*00== 4[ODG27;;!(()BV)KLh. 1+AG27;;!((+)>t)Dv)MN9 <  HH%67%%%dC088sC SF  :01G0JK&w/T9:s   5L$
(L$L) )M)r   r	   rG   )
__future__r   retypingr   r   _spdxr   r   r   r   r4   r8   r   r	   
ValueErrorr   rG   r   r   r   <module>rM      sW   @ # 	   ' jj!34 %&CSI z sr   