<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    A[s
                 @   sJ   d Z ddlmZmZ ddlmZ ddddd	d
ddgZG dd dejZdS )z
Warn about features that are not present in Python 2.5, giving a message that
points to the earliest version of Python 2.x (or 3.x, if none) that supports it
   )FeatureFeatures    )
fixer_base)
memoryviewz4power < 'memoryview' trailer < '(' any* ')' > any* >z2.7)numberszimport_from< 'from' 'numbers' 'import' any* > |
           import_name< 'import' ('numbers' dotted_as_names< any* 'numbers' any* >) >z2.6)abczyimport_name< 'import' ('abc' dotted_as_names< any* 'abc' any* >) > |
           import_from< 'from' 'abc' 'import' any* >z2.6)iozvimport_name< 'import' ('io' dotted_as_names< any* 'io' any* >) > |
           import_from< 'from' 'io' 'import' any* >z2.6)binz+power< 'bin' trailer< '(' any* ')' > any* >z2.6)Z
formattingz<power< any trailer< '.' 'format' > trailer< '(' any* ')' > >z2.6)nonlocalzglobal_stmt< 'nonlocal' any* >z3.0)with_tracebackztrailer< '.' 'with_traceback' >z3.0c                   sF   e Zd ZdZe Zedd eD Zej	Z	 fddZ
dd Z  ZS )FixFeatures	   c             C   s   g | ]\}}}t |||qS  )r   ).0namepatternversionr   r   Q/opt/alt/python37/lib/python3.7/site-packages/libpasteurize/fixes/fix_features.py
<listcomp>;   s   zFixFeatures.<listcomp>c                s4   t t| |}y
|d= W n tk
r.   Y nX |S )Nnode)superr   match	Exception)selfr   Zto_ret)	__class__r   r   r   @   s    
zFixFeatures.matchc             C   s^   xX|D ]P}|| j krqq| j| }|jdkr4| j}n| j}||| d | j | qW d S )N3)reason)features_warnedfeaturesr   Zcannot_convertwarningZmessage_textadd)r   r   resultsZfeature_nameZcurr_featureZfailr   r   r   	transformK   s    



zFixFeatures.transform)__name__
__module____qualname__Z	run_ordersetr   r   FEATURESr   ZPATTERNr   r#   __classcell__r   r   )r   r   r   3   s   
r   N)	__doc__Zfeature_baser   r   Zlib2to3r   r(   ZBaseFixr   r   r   r   r   <module>   s   