
    `i                    b   U d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlmZmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZ d	d
lmZmZmZm Z m!Z!m"Z" erddlm#Z#m$Z$  ed          Z%dZ&de'd<   e(d ej)        e*e d ed  e+e"          d ed ej,        e*ej-        d ed e.e/ e
j0        d          j1        d ej2        e*ej3        e*ej4        e*ej5        e*iZ6de'd<   d:d;d$Z7 G d% d&e	j8                  Z9	 	 	 d<d=d1Z:d>d?d6Z;d@d8Z<e=d9k    r e<             dS dS )Az2Command-line tool for CBOR diagnostics and testing    )annotationsN)Callable
CollectionIterableIterator)	ExitStack)datetime)partial)TYPE_CHECKINGAnyBinaryIOTypeVar   )CBORDecoderCBORSimpleValueCBORTag
FrozenDictload	undefined)Literal	TypeAliasTzBstr | float | bool | None | list[JSONValue] | dict[str, JSONValue]r   	JSONValuec                0    |                      dd          S )Nutf-8backslashreplaceencodingerrors)decodexs    ^/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/cbor2/tool.py<lambda>r$      s    QXXw7IXJJ     c                :    t          t          |                     S N)strdictr!   s    r#   r$   r$       s    #d1gg,, r%   c                    d| j         dS )Ncbor_simple:d)valuer!   s    r#   r$   r$   !   s    9ag999 r%   c                    dS )Nz
cbor:undef r!   s    r#   r$   r$   "   s    | r%   c                *    |                                  S r'   )	isoformatr!   s    r#   r$   r$   #   s     r%   c                    | j         S r'   )urnr!   s    r#   r$   r$   %   s     r%   c                &    d| j         d| j        iS )NzCBORTag:r,   )tagr-   r!   s    r#   r$   r$   &   s    ,15,,,ag6 r%    c                    | j         S r'   )patternr!   s    r#   r$   r$   (   s    	 r%   z dict[type, Callable[[Any], Any]]default_encodersr/   decoderr   r5   r   ignore_tagsCollection[int]returnobjectc                    |j         |v r|j        S |j         dk    r|                     |j                  S | j        rd|j          d|j         S |S )N   zCBORtag::)r5   r-   decode_from_bytes	immutable)r:   r5   r;   s      r#   tag_hookrD   0   sb    
w+y
w"}}((333		 0/#'//CI///Jr%   c                      e Zd ZddZdS )DefaultEncodervr   r=   c                    |j         }t                              |          }|r ||          S t          j                            | |          S r'   )	__class__r9   getjsonJSONEncoderdefault)selfrG   obj_typeencoders       r#   rM   zDefaultEncoder.default=   sK    ;"&&x00 	71::''a000r%   N)rG   r   r=   r   )__name__
__module____qualname__rM   r/   r%   r#   rF   rF   <   s(        1 1 1 1 1 1r%   rF   strictfr   rD   ,Callable[[CBORDecoder, CBORTag], Any] | Noneobject_hook3Callable[[CBORDecoder, dict[Any, Any]], Any] | None
str_errors%Literal['strict', 'error', 'replace']Iterator[Any]c              #     K   t          | |||          }	 	 |                                V  n# t          $ r Y d S w xY w*)N)rD   rW   rY   )r   r    EOFError)rU   rD   rW   rY   r:   s        r#   
iterdecoder^   F   si       !hKT^___G	.."""""" 	 	 	FF	s   / 
==r,   dict_idsset[int] | None$str | list[Any] | dict[str, Any] | Tc                B   t          pg           i }t          | t                    st          | t                    rd| j        dS t          | t
          t          t           f          rtt          |           v rt          d          	                    t          |                      fd| D             }
                    t          |                      |S | S t          |           v rt          d          	                    t          |                      |                                 D ]\  }}t          |t                    r|                    dd          }nRt          |t                    rd|j        d}n1t          |t          t          t
          f          rt!          |          }t          |t                    rt#          |          ||<   t          |t
          t          t           f          rfd|D             ||<   |||<   |S )	Nr+   r,   z,Cannot convert self-referential data to JSONc                0    g | ]}t          |          S r/   
key_to_str.0r"   r_   s     r#   
<listcomp>zkey_to_str.<locals>.<listcomp>a   s#    444QAx((444r%   r   r   r   c                0    g | ]}t          |          S r/   rd   rf   s     r#   rh   zkey_to_str.<locals>.<listcomp>w   s#    :::1z!X..:::r%   )set
isinstancer)   r   r-   tuplelistid
ValueErroraddremoveitemsbytesr    r   	frozensetr(   re   )r,   r_   rvalrG   ks    `   r#   re   re   T   s   8>r""HDa a)) 	.-!'----a%s+,, 
	!uu   !OPPPRUU###4444!444AOOBqEE"""HH	!uuGHHHRUU		  1a 	'2DEEAA?++ 	*qw***AAJ	59:: 	AAa 	 H--DGGE4-.. 	:::::::DGGDGGKr%   Nonec                    d} d}t          j        | |          }|                    ddt          dd           |                    d	d
dgd           |                    ddddd           |                    ddddd           |                    ddddd           |                    ddddd           |                    ddt          dd            |                                }|j        dk    rd!}d}n	|j        }d"}|j                            d#          }d$ |D             }t          t          |%          }t          |d&d'd(|)          5 }	|j        D ]P}
t                      5 }|
dk    rt          j        j        }n$|                    t          |
d*+                    }|j        r8t%          j        t)          j        |                                                    }	 |j        rt1          ||,          }nt3          ||,          f}|D ]S}t5          j        t9          |          |	|j        d-|j                 t>          d.           |	                     d/           Tn(# tB          tD          f$ r}tG          |          d }~ww xY w	 d d d            n# 1 swxY w Y   R	 d d d            d S # 1 swxY w Y   d S )0Nzpython -m cbor2.toolz[A simple command line interface for cbor2 module to validate and pretty-print CBOR objects.)progdescriptionz-oz	--outfilezoutput file-)typehelprM   infiles*z2Collection of CBOR files to process or - for stdin)nargsrM   r}   z-kz--sort-keys
store_trueFz5sort the output of dictionaries alphabetically by key)actionrM   r}   z-pz--prettyzindent the output to look goodz-sz
--sequencez+Parse a sequence of concatenated CBOR itemsz-dz--decodez-CBOR data is base64 encoded (handy for stdin)z-iz--tag-ignorer6   z@Comma separated list of tags to ignore and only return the value)r|   rM   r}   r   T,c                ~    h | ]:}t          |          |d                                          +t          |          ;S )r   )lenisdigitint)rg   ns     r#   	<setcomp>zmain.<locals>.<setcomp>   s:    HHH1SVVH!HAHHHr%   )r;   wr   r   )moder   r   closefdrb)r   )rD   )N   )	sort_keysindentclsensure_ascii
)$argparseArgumentParseradd_argumentr(   
parse_argsoutfile
tag_ignoresplitr
   rD   openr~   r   sysstdinbufferenter_contextr    ioBytesIObase64	b64decodereadsequencer^   r   rK   dumpre   r   prettyrF   writero   r]   
SystemExit)ry   rz   parseroptionsr   r   ignore_sdroptagsmy_hookoutfppathstackinfileobjsobjes                   r#   mainr   ~   s   !D	5  $$KHHHF
k-QTUUU
A	     D     -     :     <     O     !!G#/!'',,HHHHHHHhH555G	cG4FPW
 
 
 (	O 	( 	(D (3;;'*y'7FF"00d1F1F1FGGF> IZ(8(G(GHHF(' A.8'.R.R.R $Vg > > >@# 	* 	*	&sOO!&-&7#,W^#< .).    D))))	* #H- ( ( ($Q--'(	*( ( ( ( ( ( ( ( ( ( ( ( ( ( (	(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s\   K 1A<J%.BI0/J%0J	J	J	J%K %J))K ,J)-K  KK__main__)r/   )r:   r   r5   r   r;   r<   r=   r>   )NNrT   )
rU   r   rD   rV   rW   rX   rY   rZ   r=   r[   r'   )r,   r   r_   r`   r=   ra   )r=   rw   )>__doc__
__future__r   r   r   decimal	fractionsr   	ipaddressrK   rer   uuidcollections.abcr   r   r   r   
contextlibr   r	   	functoolsr
   typingr   r   r   r   r6   r   r   r   r   r   r   r   r   r   r   __annotations__rs   Decimalr(   r|   FractionUUIDrj   rm   compilerI   IPv4AddressIPv6AddressIPv4NetworkIPv6Networkr9   rD   rL   rF   r^   re   r   rQ   r/   r%   r#   <module>r      s   8 8 8 " " " " " "        				      				 



  D D D D D D D D D D D D                         8 8 8 8 8 8 8 8 8 8 8 8 P P P P P P P P P P P P P P P P *))))))))GCLL[	 [ [ [ [ 
JJOS&&99DOO++%%I66BJrNN1133336     &	 	 	 	 	1 1 1 1 1T% 1 1 1 >BGK8@	    ' ' ' ' 'T\( \( \( \(~ zDFFFFF r%   