�
L�g!� � �� � d dl mZ d dlZd dlZd dlZd dlmZmZ d dlZd dl Z d dl
Z
ddlmZm
Z
ddlmZmZ d dlZd dlmZ d dlmZ n
# d dlmZ Y nxY wd d lmZ d d
lmZ n # eZY nxY wddlmZmZmZmZmZmZ ddl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' e j( d
k re)Z*e+Z,eZ G d� de-� � Z.d� Z/ddd�Z0 edg d�� � Z1 edg d�� � Z2d� Z3dd�Z4d� Z5 G d� de-� � Z6ddl7m8Z8 dS )� )�divisionN)�
TemporaryFile�NamedTemporaryFile� )�log_conversion�log_subprocess_output)�mediainfo_json�fsdecode)�
namedtuple)�StringIO)�BytesIO)�izip)�_fd_or_path_or_tempfile�db_to_float�ratio_to_db�get_encoder_name�get_array_type�audioop)�TooManyMissingFrames�InvalidDuration�InvalidID3TagVersion�
InvalidTag�CouldntDecodeError�CouldntEncodeError�MissingAudioParameter)� r c �* � e Zd Zdd�Zdd�Zd� Zd� ZdS )�ClassPropertyDescriptorNc �"