grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026§ àÊ®¦J—+Õãó— ddlmZddlZejed¬¦«edd¦«ZdZdZd Zd Z d Z d Z d Z dZ dZdZdZdZdZdZeee e e egZGd„de¦«Zd„Zd„ZGd„d¦«ZGd„d¦«Zdd„ZdS)é)Ú namedtupleN)éé )ÚremoveÚ _sunau_paramsz7nchannels sampwidth framerate nframes comptype compnameidns.éérééééééééélÿÿcó—eZdZdS)ÚErrorN)Ú__name__Ú __module__Ú __qualname__©óú,/opt/alt/python311/lib64/python3.11/sunau.pyrrŒs€€€€€Ø€Drrcó”—d}td¦«D]5}| d¦«}|st‚|dzt|¦«z}Œ6|S)Nrr ré)ÚrangeÚreadÚEOFErrorÚord)ÚfileÚxÚiÚbytes rÚ _read_u32r%�sS€Ø €AÝ �1‰XŒXððˆØ�yŠy˜‰|Œ|ˆØð ݈NØ ˆc‰E•C˜‘I”IÑ ˆˆØ €Hrcóâ—g}td¦«D]:}t|d¦«\}}| dt|¦«¦«|}Œ;| t |¦«¦«dS)Nr rr)rÚdivmodÚinsertÚintÚwriteÚbytes)r!r"Údatar#ÚdÚms rÚ _write_u32r/˜sl€Ø €DÝ �1‰XŒXððˆÝ�a˜‰~Œ~‰ˆˆ1Ø � Š �A•s˜1‘v”vÑÔÐØ ˆˆØ‡J‚J�u�T‰{Œ{ÑÔÐÐÐrcó†—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS)ÚAu_readcó—t|¦«td¦«kr"ddl}| |d¦«}d|_nd|_| |¦«dS)NÚrÚrbTF©ÚtypeÚbuiltinsÚopenÚ_openedÚinitfp©ÚselfÚfr7s rÚ__init__zAu_read.__init__¢óX€Ý �‰7Œ7•d˜2‘h”hÒ Ð Ø ˆOˆOˆOØ— ’ ˜a Ñ&Ô&ˆA؈DŒLˆLà ˆDŒLØ � Š �A‰Œˆˆˆrcó@—|jr| ¦«dSdS©N©Ú_fileÚclose©r<s rÚ__del__zAu_read.__del__«s'€Ø Œ:ð Ø �JŠJ‰LŒLˆLˆLˆLð ð rcó—|SrArrEs rÚ __enter__zAu_read.__enter__¯ó€Øˆ rcó.—| ¦«dSrA©rD©r<Úargss rÚ__exit__zAu_read.__exit__²ó€Ø � Š ‰ Œ ˆ ˆ ˆ rcó†—||_d|_tt|¦«¦«}|tkrt d¦«‚tt|¦«¦«|_|jdkrt d¦«‚|jdkrt d¦«‚t|¦«|_|jtkrt|j¦«|_tt|¦«¦«|_ |j tvrt d¦«‚|j ttfvrd|_ d |_n‹|j tkrd x|_|_ nl|j t krdx|_|_ nM|j t"krd x|_|_ n.|j t$krd x|_|_ nt d ¦«‚tt|¦«¦«|_tt|¦«¦«|_|jst d ¦«‚|j|jz|_|jdkrF| |jdz ¦«|_|j d¦«\|_}}nd|_ | ¦«|_dS#t4t6f$r d|_YdSwxYw)Nrzbad magic numberrzheader size too smallédzheader size ridiculously largezencoding not (yet) supportedr rrr zunknown encodingzbad # of channelsór)rCÚ _soundposr)r%ÚAUDIO_FILE_MAGICrÚ _hdr_sizeÚ _data_sizeÚAUDIO_UNKNOWN_SIZEÚ _encodingÚ_simple_encodingsÚAUDIO_FILE_ENCODING_MULAW_8ÚAUDIO_FILE_ENCODING_ALAW_8Ú _sampwidthÚ _framesizeÚAUDIO_FILE_ENCODING_LINEAR_8ÚAUDIO_FILE_ENCODING_LINEAR_16ÚAUDIO_FILE_ENCODING_LINEAR_24ÚAUDIO_FILE_ENCODING_LINEAR_32Ú _framerateÚ _nchannelsrÚ_infoÚ partitionÚtellÚ _data_posÚAttributeErrorÚOSError)r<r!ÚmagicÚ_s rr:zAu_read.initfpµs€€ØˆŒ ؈ŒÝ•I˜d‘O”OÑ$Ô$ˆØ Õ$Ò $Ð $ÝÐ*Ñ+Ô+Ð +Ý�Y t™_œ_Ñ-Ô-ˆŒØ Œ>˜BÒ Ð ÝÐ/Ñ0Ô0Ð 0Ø Œ>˜CÒ Ð ÝÐ8Ñ9Ô9Ð 9Ý# D™/œ/ˆŒØ Œ?Õ0Ò 0Ð 0Ý! $¤/Ñ2Ô2ˆDŒOÝ�Y t™_œ_Ñ-Ô-ˆŒØ Œ>Õ!2Ð 2Ð 2ÝÐ6Ñ7Ô7Ð 7Ø Œ>Õ9Ý,ð.ð .ð .àˆDŒO؈DŒOˆOØ Œ^Õ;Ò ;Ð ;Ø01Ð 1ˆDŒO˜dœo˜oØ Œ^Õ<Ò <Ð <Ø01Ð 1ˆDŒO˜dœo˜oØ Œ^Õ<Ò <Ð <Ø01Ð 1ˆDŒO˜dœo˜oØ Œ^Õ<Ò <Ð <Ø01Ð 1ˆDŒO˜dœo˜oåÐ*Ñ+Ô+Ð +Ý�i¨™oœoÑ.Ô.ˆŒÝ�i¨™oœoÑ.Ô.ˆŒØŒð -ÝÐ+Ñ,Ô,Ð ,Øœ/¨D¬OÑ;ˆŒØ Œ>˜BÒ Ð ØŸš 4¤>°BÑ#6Ñ7Ô7ˆDŒJØ#œz×3Ò3°EÑ:Ô:Ñ ˆDŒJ˜˜1˜1àˆDŒJð "Ø!ŸYšY™[œ[ˆDŒNˆNˆNøÝ¥Ð(ð "ð "ð "Ø!ˆDŒNˆNˆNˆNð "øøøsÊ J$Ê$KÊ?Kcó—|jSrA)rCrEs rÚgetfpz Au_read.getfpãs €ØŒzÐrcó—|jSrA)rcrEs rÚ getnchannelszAu_read.getnchannelsæó €ØŒÐrcó—|jSrA)r\rEs rÚ getsampwidthzAu_read.getsampwidthérprcó—|jSrA)rbrEs rÚ getframeratezAu_read.getframerateìrprcón—|jtkrtS|jtvr|j|jzSdS)Nr)rVrWrXrYr]rEs rÚ getnframeszAu_read.getnframesïs8€Ø Œ?Õ0Ò 0Ð 0Ý%Ð %Ø Œ>Õ.Ð .Ð .Ø”? d¤oÑ5Ð 5؈qrcóN—|jtkrdS|jtkrdSdS)NÚULAWÚALAWÚNONE©rXrZr[rEs rÚ getcomptypezAu_read.getcomptypeös-€Ø Œ>Õ8Ò 8Ð 8Ø�6Ø Œ^Õ9Ò 9Ð 9Ø�6à�6rcóN—|jtkrdS|jtkrdSdS)NúCCITT G.711 u-lawúCCITT G.711 A-lawúnot compressedr{rEs rÚ getcompnamezAu_read.getcompnameþs0€Ø Œ>Õ8Ò 8Ð 8Ø&Ð&Ø Œ^Õ9Ò 9Ð 9Ø&Ð&à#Ð#rc ó—t| ¦«| ¦«| ¦«| ¦«| ¦«| ¦«¦«SrA©rrorrrtrvr|r�rEs rÚ getparamszAu_read.getparamsóh€Ý˜T×.Ò.Ñ0Ô0°$×2CÒ2CÑ2EÔ2EØ×#Ò#Ñ%Ô% t§¢Ñ'8Ô'8Ø×"Ò"Ñ$Ô$ d×&6Ò&6Ñ&8Ô&8ñ:ô:ð :rcó—dSrArrEs rÚ getmarkerszAu_read.getmarkers s€Øˆtrcó —td¦«‚)Nzno marks)r)r<Úids rÚgetmarkzAu_read.getmarks€Ý�JÑÔÐrcóè—|jtvrã|tkr|j ¦«}n"|j ||jz¦«}|xjt|¦«|jzz c_|jtkretj ¦«5tj dt¬¦«ddl }ddd¦«n #1swxYwY| ||j¦«}|SdS)NÚignore©Úcategoryr)rXrYrWrCrr]rSÚlenrZÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningÚaudioopÚulaw2linr\)r<Únframesr,r”s rÚ readframeszAu_read.readframess€Ø Œ>Õ.Ð .Ð .ØÕ,Ò,Ð,Ø”z—’Ñ(Ô(��à”z—’ w°´Ñ'@ÑAÔA�Ø ˆNŒN�c $™iœi¨4¬?Ñ:Ñ :ˆNŒNØŒ~Õ!<Ò<Ð<ÝÔ,Ñ.Ô.ð#ð#ÝÔ)¨(Õ=OÐPÑPÔPÐPØ"�N�N�Nð#ð#ð#ñ#ô#ð#ð#ð#ð#ð#ð#øøøð#ð#ð#ð#ð×'Ò'¨¨d¬oÑ>Ô>�؈K؈ts C à CÃCcó~—|j€td¦«‚|j |j¦«d|_dS)Nú cannot seekr)rgrirCÚseekrSrEs rÚrewindzAu_read.rewind s9€Ø Œ>Ð !ݘ-Ñ(Ô(Ð (Ø Œ �Š˜œÑ'Ô'Ð'؈Œˆˆrcó—|jSrA)rSrEs rrfz Au_read.tell&ó €ØŒ~Ðrcóî—|dks|| ¦«krtd¦«‚|j€td¦«‚|j |j||jzz¦«||_dS)Nrzposition not in ranger™)rvrrgrirCršr]rS)r<Úposs rÚsetposzAu_read.setpos)sq€Ø �Š7ˆ7�c˜DŸOšOÑ-Ô-Ò-Ð-ÝÐ/Ñ0Ô0Ð 0Ø Œ>Ð !ݘ-Ñ(Ô(Ð (Ø Œ �Š˜œ¨¨t¬Ñ)>Ñ>Ñ?Ô?Ð?؈Œˆˆrcód—|j}|r$d|_|jr| ¦«dSdSdSrA)rCr9rD©r<r!s rrDz Au_read.close1sG€ØŒzˆØ ð ØˆDŒJØŒ|ð Ø— ’ ‘ ” � � � ð ð ð ð rN)rrrr>rFrHrNr:rmrorrrtrvr|r�r„r‡rŠr—r›rfr rDrrrr1r1 sA€€€€€ððððððððððððð,"ð,"ð,"ð\ðððððððððððððððððð$ð$ð$ð:ð:ð:ð ððð ð ð ð ð ð ðððð ððððððððððrr1có¤—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS)ÚAu_writecó—t|¦«td¦«kr"ddl}| |d¦«}d|_nd|_| |¦«dS)Nr3rÚwbTFr5r;s rr>zAu_write.__init__:r?rcóJ—|jr| ¦«d|_dSrArBrEs rrFzAu_write.__del__Cs$€Ø Œ:ð Ø �JŠJ‰LŒLˆL؈Œ ˆ ˆ rcó—|SrArrEs rrHzAu_write.__enter__HrIrcó.—| ¦«dSrArKrLs rrNzAu_write.__exit__KrOrcóª—||_d|_d|_d|_d|_t |_d|_d|_d|_ d|_ d|_ dS)Nrrrx) rCrbrcr\r]rWÚ_nframesÚ_nframeswrittenÚ _datawrittenÚ _datalengthrdÚ _comptyper¢s rr:zAu_write.initfpNsV€ØˆŒ ؈ŒØˆŒØˆŒØˆŒÝ*ˆŒ Ø ˆÔØˆÔØˆÔ؈Œ ؈Œˆˆrcóf—|jrtd¦«‚|dvrtd¦«‚||_dS)Nú0cannot change parameters after starting to write)rr r z"only 1, 2, or 4 channels supported)r¬rrc)r<Ú nchannelss rÚ setnchannelszAu_write.setnchannels[sB€Ø Ô ð LÝÐJÑKÔKÐ KØ ˜IÐ %Ð %ÝÐ<Ñ=Ô=Ð =Ø#ˆŒˆˆrcó<—|jstd¦«‚|jS)Nznumber of channels not set)rcrrEs rrozAu_write.getnchannelsbó#€ØŒð 6ÝÐ4Ñ5Ô5Ð 5ØŒÐrcóf—|jrtd¦«‚|dvrtd¦«‚||_dS)Nr±)rr rr zbad sample width)r¬rr\)r<Ú sampwidths rÚ setsampwidthzAu_write.setsampwidthgsB€Ø Ô ð LÝÐJÑKÔKÐ KØ ˜LÐ (Ð (ÝÐ*Ñ+Ô+Ð +Ø#ˆŒˆˆrcó<—|jstd¦«‚|jS)Núsample width not specified)rbrr\rEs rrrzAu_write.getsampwidthnrµrcó@—|jrtd¦«‚||_dS)Nr±)r¬rrb)r<Ú framerates rÚ setframeratezAu_write.setframeratess(€Ø Ô ð LÝÐJÑKÔKÐ KØ#ˆŒˆˆrcó<—|jstd¦«‚|jS)Nzframe rate not set)rbrrEs rrtzAu_write.getframeratexs#€ØŒð .ÝÐ,Ñ-Ô-Ð -ØŒÐrcój—|jrtd¦«‚|dkrtd¦«‚||_dS)Nr±rz# of frames cannot be negative)r¬rr«)r<r–s rÚ setnframeszAu_write.setnframes}s@€Ø Ô ð LÝÐJÑKÔKÐ KØ �QŠ;ˆ;ÝÐ8Ñ9Ô9Ð 9؈Œ ˆ ˆ rcó—|jSrA©r¬rEs rrvzAu_write.getnframes„ó €ØÔ#Ð#rcó:—|dvr ||_dStd¦«‚)N)rzrxzunknown compression type)r¯r)r<r6Únames rÚ setcomptypezAu_write.setcomptype‡s(€Ø Ð#Ð #Ð #Ø!ˆDŒNˆNˆNåÐ2Ñ3Ô3Ð 3rcó—|jSrA©r¯rEs rr|zAu_write.getcomptype�r�rcó:—|jdkrdS|jdkrdSdS)Nrxr~ryrr€rÈrEs rr�zAu_write.getcompname�s.€Ø Œ>˜VÒ #Ð #Ø&Ð&Ø Œ^˜vÒ %Ð %Ø&Ð&à#Ð#rcóì—|\}}}}}}| |¦«| |¦«| |¦«| |¦«| ||¦«dSrA)r³r¸r½rÀrÆ)r<Úparamsr²r·r¼r–ÚcomptypeÚcompnames rÚ setparamszAu_write.setparams˜s~€ØGMÑDˆ �9˜i¨°(¸HØ ×Ò˜)Ñ$Ô$Ð$Ø ×Ò˜)Ñ$Ô$Ð$Ø ×Ò˜)Ñ$Ô$Ð$Ø �Š˜Ñ Ô Ð Ø ×Ò˜ 8Ñ,Ô,Ð,Ð,Ð,rc ó—t| ¦«| ¦«| ¦«| ¦«| ¦«| ¦«¦«SrArƒrEs rr„zAu_write.getparams r…rcó—|jSrArÂrEs rrfz Au_write.tell¥rÃrcóB—t|ttf¦«s"t|¦« d¦«}| ¦«|jdkretj¦«5tj dt¬¦«ddl }ddd¦«n #1swxYwY|  ||j ¦«}t|¦«|jz}|j |¦«|j|z|_|jt|¦«z|_dS)NÚBrxrŒr�r)Ú isinstancer+Ú bytearrayÚ memoryviewÚcastÚ_ensure_header_writtenr¯r�r‘r’r“r”Úlin2ulawr\r�r]rCr*r¬r­)r<r,r”r–s rÚwriteframesrawzAu_write.writeframesraw¨sD€Ý˜$¥­ Ð 2Ñ3Ô3ð .ݘdÑ#Ô#×(Ò(¨Ñ-Ô-ˆDØ ×#Ò#Ñ%Ô%Ð%Ø Œ>˜VÒ #Ð #ÝÔ(Ñ*Ô*ð ð ÝÔ% hÕ9KÐLÑLÔLÐLØ���ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð×#Ò# D¨$¬/Ñ:Ô:ˆDÝ�d‘)”)˜tœÑ.ˆØ Œ ×Ò˜ÑÔÐØ#Ô3°gÑ=ˆÔØ Ô-µ°D± ´ Ñ9ˆÔÐÐsÁ1 BÂB!Â$B!cóœ—| |¦«|j|jks|j|jkr| ¦«dSdSrA)rÙr¬r«r®r­Ú _patchheader)r<r,s rÚ writeframeszAu_write.writeframes¶sW€Ø ×Ò˜DÑ!Ô!Ð!Ø Ô  4¤=Ò 0Ð 0ØÔ" dÔ&7Ò7Ð7Ø × Ò Ñ Ô Ð Ð Ð ð8Ð7rcó�—|jr¾ | ¦«|j|jks|j|jkr| ¦«|j ¦«|j}d|_|jr|  ¦«dSdS#|j}d|_|jr|  ¦«wwxYwdSrA) rCr×r¬r«r®r­rÛÚflushr9rDr¢s rrDzAu_write.close¼sÙ€Ø Œ:ð !ð !Ø×+Ò+Ñ-Ô-Ð-ØÔ'¨4¬=Ò8Ð8ØÔ(¨DÔ,=Ò=Ð=Ø×%Ò%Ñ'Ô'Ð'Ø” × Ò Ñ"Ô"Ð"à”z�Ø!�” Ø”<ð!Ø—J’J‘L”L�L�L�Lð!ð!øð”z�Ø!�” Ø”<ð!Ø—J’J‘L”L�L�Lð!øøøð !ð !s ‰A!BÂ,CcóÄ—|jsX|jstd¦«‚|jstd¦«‚|jstd¦«‚| ¦«dSdS)Nz# of channels not specifiedrºzframe rate not specified)r¬rcrr\rbÚ _write_headerrEs rr×zAu_write._ensure_header_writtenÎsz€ØÔ#ð !Ø”?ð ;ÝÐ9Ñ:Ô:Ð:Ø”?ð :ÝÐ8Ñ9Ô9Ð9Ø”?ð 8ÝÐ6Ñ7Ô7Ð7Ø × Ò Ñ Ô Ð Ð Ð ð !ð !rcó\—|jdkrw|jdkrt}d|_n†|jdkrt}d|_nl|jdkrt }d|_nR|jdkrt }d|_n8td¦«‚|jdkrt}d|_ntd¦«‚|j|j z|_t|j t¦«dt|j¦«z}|d zd z}t|j |¦«|jt krt }n|j|jz} |j  ¦«|_n#t&t(f$r d|_YnwxYwt|j |¦«||_t|j |¦«t|j |j¦«t|j |j ¦«|j  |j¦«|j  d |t|j¦«z d z z¦«dS) Nrzrr rr zinternal errorrxrr iøÿÿÿrRr)r¯r\r^r]r_r`rarrZrcr/rCrTr�rdr«rWrfÚ_form_length_posrhrir®rbr*)r<ÚencodingÚ header_sizeÚlengths rràzAu_write._write_headerØs€Ø Œ>˜VÒ #Ð #ØŒ !Ò#Ð#Ý7�Ø"#�”�Ø” AÒ%Ð%Ý8�Ø"#�”�Ø” AÒ%Ð%Ý8�Ø"#�”�Ø” AÒ%Ð%Ý8�Ø"#�”�åÐ,Ñ-Ô-Ð-Ø Œ^˜vÒ %Ð %Ý2ˆH؈DŒOˆOåÐ(Ñ)Ô)Ð )Øœ/¨D¬OÑ;ˆŒÝ�4”:Õ/Ñ0Ô0Ð0Ø�3˜tœz™?œ?Ñ*ˆ Ø" Q‘¨"Ñ,ˆ Ý�4”:˜{Ñ+Ô+Ð+Ø Œ=Õ.Ò .Ð .Ý'ˆFˆFà”] T¤_Ñ4ˆFð )Ø$(¤J§O¢OÑ$5Ô$5ˆDÔ !Ð !øÝ¥Ð(ð )ð )ð )Ø$(ˆDÔ !Ð !Ð !ð )øøøå�4”:˜vÑ&Ô&Ð&Ø!ˆÔÝ�4”:˜xÑ(Ô(Ð(Ý�4”:˜tœÑ/Ô/Ð/Ý�4”:˜tœÑ/Ô/Ð/Ø Œ ×Ò˜œÑ$Ô$Ð$Ø Œ ×Ò˜  ­c°$´*©o¬oÑ =ÀÑ BÑCÑDÔDÐDÐDÐDsÄ6EÅE0Å/E0cóò—|j€td¦«‚|j |j¦«t |j|j¦«|j|_|j dd¦«dS)Nr™rr )rârirCršr/r­r®rEs rrÛzAu_write._patchheadersl€Ø Ô Ð (ݘ-Ñ(Ô(Ð (Ø Œ �Š˜Ô-Ñ.Ô.Ð.Ý�4”:˜tÔ0Ñ1Ô1Ð1ØÔ,ˆÔØ Œ �Š˜˜1ÑÔÐÐÐrN)rrrr>rFrHrNr:r³ror¸rrr½rtrÀrvrÆr|r�rÎr„rfrÙrÜrDr×ràrÛrrrr¤r¤8s�€€€€€ððððððð ðððððð  ð  ð  ð$ð$ð$ðððð $ð$ð$ðððð $ð$ð$ð ððð  ð ð ð$ð$ð$ð4ð4ð4ð ððð$ð$ð$ð-ð-ð-ð:ð:ð:ð $ð$ð$ð :ð :ð :ð ð ð ð !ð !ð !ð$!ð!ð!ð(Eð(Eð(EðTððððrr¤có¤—|€t|d¦«r|j}nd}|dvrt|¦«S|dvrt|¦«St d¦«‚)NÚmoder4)Úrr4)Úwr¦z$mode must be 'r', 'rb', 'w', or 'wb')Úhasattrrèr1r¤r)r=rès rr8r8 sd€Ø €|Ý �1�fÑ Ô ð Ø”6ˆDˆDàˆDØ ˆ{ÐÐÝ�q‰zŒzÐØ �РРݘ‰{Œ{ÐåÐ:Ñ;Ô;Ð;rrA)Ú collectionsrr�Ú _deprecatedrrrTrZr^r_r`raÚAUDIO_FILE_ENCODING_FLOATÚAUDIO_FILE_ENCODING_DOUBLEÚAUDIO_FILE_ENCODING_ADPCM_G721ÚAUDIO_FILE_ENCODING_ADPCM_G722Ú AUDIO_FILE_ENCODING_ADPCM_G723_3Ú AUDIO_FILE_ENCODING_ADPCM_G723_5r[rWrYÚ Exceptionrr%r/r1r¤r8rrrúrõs•ððgðR#Ð"Ð"Ð"Ð"Ð"Ø€€€à€Ô�X gÐ.Ñ.Ô.Ð.ð� ˜?ØTñVôV€ ðÐØÐØ ÐØ !ÐØ !ÐØ !ÐØÐØÐØ!#ÐØ!#ÐØ#%Ð Ø#%Ð ØÐð Ðà0Ø1Ø2Ø2Ø2Ø/ð 1Ðð ð ð ð ð ˆIñ ô ð ð ð ð ððððVðVðVðVðVñVôVðVðpPðPðPðPðPñPôPðPðd <ð <ð <ð <ð <ð