
    9i                         S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	  SSK
JrJrJr  \R                  " S5      r " S	 S
\R                   5      rg)a  
For the ``future`` package.

Adds this import line:

    from past.builtins import str as oldstr

at the top and wraps any unadorned string literals 'abc' or explicit byte-string
literals b'abc' in oldstr() calls so the code has the same behaviour on Py3 as
on Py2.6/2.7.
    )unicode_literalsN)
fixer_base)token)syms)future_importtouch_import_topwrap_in_fn_callz[^uUrR]?[\'\"]c                   "    \ rS rSrSrSrS rSrg)FixOldstrWrap   TSTRINGc                 *   UR                   [        R                  :X  au  [        SSU5        [        R                  UR                  5      (       aC  UR                  5       nSUl        SUR                  -   Ul        [        SU/UR                  S9nU$ g g )Nz
past.typesoldstr b)prefix)
typer   r   r   _literal_rematchvaluecloner   r	   )selfnoderesultsnewwrappeds        a/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/libfuturize/fixes/fix_oldstr_wrap.py	transformFixOldstrWrap.transform   sz    99$]It<  ,,jjl !
 399,	)(SE$++N - %     N)__name__
__module____qualname____firstlineno__BM_compatiblePATTERNr   __static_attributes__r!   r    r   r   r      s    MG
r    r   )__doc__
__future__r   relib2to3r   lib2to3.pgen2r   lib2to3.fixer_utilr   libfuturize.fixer_utilr   r   r	   compiler   BaseFixr   r!   r    r   <module>r2      sH   
 ( 	   #5 5 jj*+J&& r    