File: //lib64/python3.6/encodings/__pycache__/utf_8_sig.cpython-36.opt-1.pyc
3
  \%  �               @   st   d Z ddlZddd�Zddd�ZG dd	� d	ej�ZG d
d� dej�ZG dd
� d
ej�ZG dd� dej�Zdd� Z	dS )a   Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:
* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
  first three bytes.
* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
  bytes will be skipped.
�    N�strictc             C   s   t jt j| |�d  t| �fS )Nr   )�codecs�BOM_UTF8�utf_8_encode�len)�input�errors� r	   �+/usr/lib64/python3.6/encodings/utf_8_sig.py�encode   s    r   c             C   sD   d}| d d� t jkr&| dd � } d}t j| |d�\}}||| fS )Nr   �   T)r   r   �utf_8_decode)r   r   �prefix�output�consumedr	   r	   r
   �decode   s    r   c               @   s8   e Zd Zddd�Zddd�Zdd� Zd	d
� Zdd� Zd
S )�IncrementalEncoderr   c             C   s   t jj| |� d| _d S )N�   )r   r   �__init__�first)�selfr   r	   r	   r
   r      s    zIncrementalEncoder.__init__Fc             C   s:   | j r$d| _ tjtj|| j�d  S tj|| j�d S d S )Nr   )r   r   r   r   r   )r   r   �finalr	   r	   r
   r      s
    zIncrementalEncoder.encodec             C   s   t jj| � d| _d S )Nr   )r   r   �resetr   )r   r	   r	   r
   r   '