o ?Og@s ddlZddZddZddZdd Zd d Zd Zd dZddZddZ ddZ ddZ ddZ ddZ GdddejZGdddejZGdd d ejZGd!d"d"eejZGd#d$d$eejZd%d&ZdS)'NcCsR t}t}|D]}t|dkr|t|q ||q t|}t||fS)N) bytearraysetordappendaddsortedbytes)strbaseextendedcr9/opt/alt/python310/lib64/python3.10/encodings/punycode.py segregate s   rcCs( d}|D] }t||kr|d7}q|S)Nr)r)r maxresr rrr selective_lens rcCsN t|} |d7}||krdS||}||kr|d|fS||kr&|d7}q)Nr)r)len)r charindexposlr rrrselective_finds rc Cs d}g}d}|D]:}d}}t|}t||} | d||} t||||\}}|dkr/n| ||7} || d|}d} q!|}q |S)Nrrrr)rrrr) r r ZoldcharresultZoldindexr rrrZcurlendeltarrrinsertion_unsort0s(  rcCs,d|d|}|dkrdS|dkrdS|S)N$rr)jbiasrrrrTFs  r#s$abcdefghijklmnopqrstuvwxyz0123456789cCsn t}d} t||}||kr|t|t|S|t|||d|||d|}|d7}q)Nrrr)rr#rdigitsr )Nr"rr!trrrgenerate_generalized_integerNs r'cCs^|r|d}n|d}|||7}d}|dkr#|d}|d7}|dks|d||d}|S)Niri#r&r)rfirstnumcharsZ divisionsr"rrradapt[s  r-cCsR t}d}t|D]\}}t||}||t||dk||d}q t|S)NHrr)r enumerater'extendr-r )Zbaselendeltasrr"Zpointsrsrrrgenerate_integersjs  r3cCs8t|\}}t||}tt||}|r|d|S|S)N-)rrr3r)textr r r1rrrpunycode_encodeus   r6c Cs d}d}d} zt||}Wnty'|dkrtd|ddfYSw|d7}d|kr6dkr=nn|d}n#d|krGdkrNnn|d }n|dkr\td ||d|dfSt||} |||7}|| krs||fS|d | }|d7}q) Nrrstrictzincomplete punicode stringAZ09z Invalid extended code point '%s'r)r IndexError UnicodeErrorr#) r extposr"errorsrwr!rZdigitr&rrrdecode_generalized_numbers:       rBc Cs d}d}d}d}|t|krjt||||\}}|dur|S||d7}||t|d7}|dkr@|dkrrchrr-) r r r@rrr"r?Znewposrrrrinsertion_sorts.     rEcCst|tr |d}t|trt|}|d}|dkr&d}t|d}nt|d|d|}t||ddd}t|||S)Nasciir4rr) isinstancer encode memoryviewr rfindupperrE)r5r@rr r rrrpunycode_decodes     rMc@s eZdZdddZdddZdS)Codecr7cCst|}|t|fSN)r6rselfinputr@rrrrrIs z Codec.encodecCs*|dvr td|t||}|t|fSN)r7replaceignorezUnsupported error handling )r>rMrrPrrrdecodes   z Codec.decodeN)r7)__name__ __module__ __qualname__rIrVrrrrrNs rNc@eZdZdddZdS)IncrementalEncoderFcCst|SrO)r6rQrRfinalrrrrIszIncrementalEncoder.encodeNF)rWrXrYrIrrrrr[r[c@rZ)IncrementalDecoderFcCs$|jdvr td|jt||jSrS)r@r>rMr\rrrrVs  zIncrementalDecoder.decodeNr^)rWrXrYrVrrrrr`r_r`c@ eZdZdS) StreamWriterNrWrXrYrrrrrbrbc@ra) StreamReaderNrcrrrrrerdrec Cs tjdtjtjttttdS)NZpunycode)namerIrVincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInforNrIrVr[r`rbrerrrr getregentrysrm)rkrrrrr#r$r'r-r3r6rBrErMrNr[r`rbrermrrrrs*