�
l\�g�. � � � d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z
dd
lmZ ddlmZ ddlm
Z
dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ede�� � Z edd�� � Z dMdNd'�Z dOdPd)�Z dOdQd,�Z dRdSd1�Z dTdUd9�ZdVd=�Z dMdWd@�Z!dXdC�Z"dYdE�Z# dMdZdJ�Z$ d[d\dL�Z%dS )]zSHelpers related to deprecation of functions, methods, classes, other
functionality.� )�annotationsN)�Any)�Callable)�Dict)�Match)�Optional)�Sequence)�Set)�Tuple)�Type)�TypeVar)�Union� )�compat)�_hash_limit_string)�_warnings_warn)� decorator)�inject_docstring_text)�inject_param_text� )�exc�_T)�bound�_FzCallable[..., Any]�msg�str�version�type_�Type[exc.SADeprecationWarning]�
stacklevel�int�code�
Optional[str]�return�Nonec �V � || |�� � }||_ t ||dz �� � d S )N�r"