File: //usr/lib/python3/dist-packages/django/utils/__pycache__/encoding.cpython-310.pyc
o
/�h�$ � @ sJ d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZ G dd� de�Z
d1dd�Zed�eeeejejejfZd
d� Zd1dd�Zd1dd�Zd1dd�Zd1dd�Zd1dd�Zdd� Zg d�edd�edd�gZd d!� eD �Zd"Ze� d#d!� ed$d� D �� d%d&� Z!d'd(� Z"d)d*� Z#d+d,� Z$d-d.� Z%d/d0� Z&e&� Z'dS )2� N)�Decimal��quote)�RemovedInDjango40Warning)�Promisec s( e Zd Z� fdd�Z� fdd�Z� ZS )�DjangoUnicodeDecodeErrorc s || _ t� j|� d S )N)�obj�super�__init__)�selfr �args�� __class__� �7/usr/lib/python3/dist-packages/django/utils/encoding.pyr
s z!DjangoUnicodeDecodeError.__init__c s dt � �� | jt| j�f S )Nz%s. You passed in %r (%s))r �__str__r �type)r r
r r r s z DjangoUnicodeDecodeError.__str__)�__name__�
__module__�__qualname__r
r �
__classcell__r r r
r r s r �utf-8F�strictc C � t | t�r| S t| |||�S )z�
Return a string representing 's'. Treat bytestrings using the 'encoding'
codec.
If strings_only is True, don't convert (some) non-string-like objects.
)�
isinstancer � force_str��s�encoding�strings_only�errorsr r r � smart_str s
r! c C s
t | t�S )z�Determine if the object instance is of a protected type.
Objects of protected types are preserved as-is when passed to
force_str(strings_only=True).
)r �_PROTECTED_TYPES)r r r r �is_protected_type'