o
    qoi                     @   sN   d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	 G dd de	dZ
dS )	    )AnyOptional)
DictConfig	OmegaConf)	HydraConf)	Singletonc                   @   sf   e Zd ZdddZdeddfddZedefdd	Zede	fd
dZ
edededd fddZdS )HydraConfigreturnNc                 C   s
   d | _ d S N)cfg)self r   K/home/ubuntu/.local/lib/python3.10/site-packages/hydra/core/hydra_config.py__init__   s   
zHydraConfig.__init__r   c                 C   s\   |d usJ t |jd t |d}|d urt|tsJ t |d| _| jj| d S )NThydra)	r   set_readonlyr   get_type
issubclassr   masked_copyr   _set_parent)r   r   hydra_node_typer   r   r   
set_config   s   zHydraConfig.set_configc                  C   s"   t  } | jd u rtd| jjS )NzHydraConfig was not set)r   instancer   
ValueErrorr   r   r   r   r   get   s   
zHydraConfig.getc                  C   s   t  } | jd uS r
   )r   r   r   r   r   r   r   initialized"   s   
zHydraConfig.initializedargskwargsc                  O   s   t jtg| R i |S r
   )r   r   r   )r   r   r   r   r   r   '   s   zHydraConfig.instance)r	   N)__name__
__module____qualname__r   r   r   staticmethodr   r   boolr   r   r   r   r   r   r   r   
   s    
r   )	metaclassN)typingr   r   	omegaconfr   r   
hydra.confr   hydra.core.singletonr   r   r   r   r   r   <module>   s
   