a
X�Zh* � @ s: d dl Z d dlZd dlmZmZmZmZ G dd� d�ZdS )� N)�Optional�List�Union�Tuplec @ s e Zd ZdZd$eeeeef ed ed ed dd�dd�Z e
d d d d�dd��Zee
d �d
d��Zeed �dd
��Zeed �dd��Ze
ed d d�dd��Zd e
d�dd�Zd e
d�dd�Zd e
d�dd�Zd e
d�dd�Zd e
d�dd�Zd e
d�dd�Zed �d d!�Zed �d"d#�ZdS )%�HuffmanNodez.
Represents a node in a Huffman tree.
N)�weight�value�left�right�parent�returnc C s"