
    g                     2    d dl mZ dedefdZdedefdZdS )   )commonmsgreturnc                     t          j        |           }||dk     s|dk    rt          d| z            t          j        |           }|dd         }t          j        |dd                   S )	zzAircraft category number

    Args:
        msg (str): 28 hexdigits string

    Returns:
        int: category number
    N       %s: Not a identification message    W         )r   typecodeRuntimeErrorhex2binbin2int)r   tcmsgbinmebins       K/home/andy/.local/lib/python3.11/site-packages/pyModeS/decoder/bds/bds08.pycategoryr   
   sp     
		B	zR!VVrAvv=CDDD^C  F2b5ME>%!*%%%    c                 .   t          j        |           }||dk     s|dk    rt          d| z            d}t          j        |           }|dd         }d}||t          j        |d	d
                            z  }||t          j        |d
d                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }|                    dd          }|S )zoAircraft callsign

    Args:
        msg (str): 28 hexdigits string

    Returns:
        string: callsign
    Nr   r   r	   z@#ABCDEFGHIJKLMNOPQRSTUVWXYZ#####_###############0123456789######(   `                       $   *   0   #)r   r   r   r   r   replace)r   r   charsr   csbincss         r   callsignr*      s    
		B	zR!VVrAvv=CDDDNE^C  F2b5ME	B%uQqSz**
++B%uQrT{++
,,B%uRU|,,
--B%uRU|,,
--B%uRU|,,
--B%uRU|,,
--B%uRU|,,
--B%uRU|,,
--B 
C		BIr   N)r   r   strintr   r*    r   r   <module>r.      sg         &# &# & & & &&# #      r   