+
    Qi  c                  s>   R t ^ RIHt RtRtRtRtRt^ RIt^ RI	H
t
Ht ^ RIt]P                  ! R	R
4       ^ RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ]
'       d   ^RIHt  ! R R4      t ! R R4      t ! R R]P<                  4      tR# )z;Utilities for obtaining sounds to be presented for objects.)annotationsz$Id:$z$Revision:$z$Date:$zCopyright (c) 2016 Igalia, S.L.ZLGPLN)TYPE_CHECKINGAnyAtspiz2.0)r   )debug)	generator)object_properties)settings_manager)AXObject)AXUtilities)AXValue)scriptc                  s>    ] tR t^7tRtR R ltR R ltR R ltRtR	# )
Iconz9Sound file representing a particular aspect of an object.c               s$    V ^8  d   QhRRRRRR/# )   locationstrfilenamereturnNone Zformat   "9/usr/lib/python3.14/site-packages/orca/sound_generator.py__annotate__Icon.__annotate__:   s!     9 9 9 9 9    c                	s    \         P                  P                  W4      V n        R V RV 2p\        P                  ! \        P
                  VR4       R# )zSOUND GENERATOR: Looking for 'z' in TN)ospathjoinr   print_message
LEVEL_INFO)selfr   r   Zmsgs   &&& r   __init__ZIcon.__init__:   s@    GGLL4	.xjhZHE,,c48r   c                   V ^8  d   QhRR/# r   r   r   r   r   r   r   r   r   ?   s     G G Gr   c                	sD    R V P                    RV P                  4        R2# )zIcon(path: z, is_valid: ))r   is_validr      &r   __str__ZIcon.__str__?   s"    TYYK|DMMO3DAFFr   c               r!   )r   r   boolr   r   r   r   r   r   B   s     ) )$ )r   c                sT    \         P                  P                  V P                  4      # )z<Returns True if the path associated with this icon is valid.)r   r   Zisfiler%   r&   r   r$   ZIcon.is_validB   s    ww~~dii((r   )r   N)	__name__
__module____qualname____firstlineno____doc__r    r'   r$   __static_attributes__r   r   r   r   r   7   s    C9
G) )r   r   c                  sn    ] tR t^FtRt^ t^t^t^t^t	^t
^t^t^t^	t^
t^t^t^]3R R lltR R ltRtR# )Tonez3Tone representing a particular aspect of an object.c          
     s,    V ^8  d   QhRRRRRRRRRR/# )	r   durationZfloat	frequencyintvolume_multiplierwaver   r   r   r   r   r   r   Tone.__annotate__W   s<     
 

 
 !	

 
 

r   c                	s    Wn         \        \        ^ V4      R4      V n        \        P
                  ! 4       P                  R4      V,          V n        W@n        R# )i    i N  ZsoundVolumeN)	r0   ZminZmaxr1   r   get_managerget_settingvolumer4   )r   r0   r1   r3   r4   s   &&&&&r   r    ZTone.__init__W   sD     !SI.6&224@@ORcc	r   c               r!   r"   r   r   r   r   r   r5   c   s     
 
 
r   c           	     	sp    R V P                    RV P                   RV P                   RV P                   R2	# )zTone(duration: z, frequency: z
, volume: z, wave: r#   r0   r1   r8   r4   r%   r&   r   r'   ZTone.__str__c   sD    dmm_ -..) *{{m $YYKq"	
r   r9   N)r)   r*   r+   r,   r-   	SINE_WAVEZSQUARE_WAVEZSAW_WAVEZTRIANGLE_WAVEZSILENCEZWHITE_UNIFORM_NOISEZ
PINK_NOISEZSINE_WAVE_USING_TABLEZPERIODIC_TICKSZWHITE_GAUSSIAN_NOISEZ	RED_NOISEZINVERTED_PINK_NOISEZINVERTED_RED_NOISEr    r'   r.   r   r   r   r/   r/   F   sb    =IKHMGJNI $%

 
r   r/   c                  s  a  ] tR t^ktRtR V 3R lltR R ltR R ltR R	 ltR
 V 3R llt	R R lt
R V 3R lltR V 3R lltR R ltR V 3R lltR V 3R lltR V 3R lltR V 3R lltR V 3R lltR V 3R lltR  R! ltR" R# ltR$ R% ltR& V 3R' lltR( V 3R) lltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 ltR8 R9 lt R: R; lt!R< R= lt"R> R? lt#R@ RA lt$RB RC lt%RD RE lt&RF RG lt'RH RI lt(RJ RK lt)RL RM lt*RN RO lt+RP RQ lt,RR RS lt-RT RU lt.RV RW lt/RX RY lt0RZ R[ lt1R\ R] lt2R^ R_ lt3R` Ra lt4Rb Rc lt5Rd Re lt6Rf Rg lt7Rh Ri lt8Rj Rk lt9Rl Rm lt:Rn Ro lt;Rp Rq lt<Rr Rs lt=Rt Ru lt>Rv Rw lt?Rx Ry lt@Rz R{ ltAR| R} ltBR~ R ltCR R ltDR R ltER R ltFR R ltGR R ltHR R ltIR R ltJR R ltKR R ltLR R ltMR R ltNR R ltOR R ltPR R ltQR R ltRR R ltSR R ltTR R ltUR R ltVR R ltWR R ltXR R ltYR R ltZR R lt[R R lt\R R lt]R R lt^R R lt_R R lt`R R ltaR R ltbR R ltcR R ltdR R lteR R ltfR R ltgR R lthR R ltiR R ltjR R ltkR R ltlR R ltmR R ltnR R ltoR R ltpR R ltqR R ltrR R ltsR R lttR R ltuR R ltvR R ltwR R ltxR R ltyR R ltzR R lt{R R lt|R R lt}R R lt~R R ltR R ltR R ltR R ltR R ltER  ER ltER ER ltER ER ltER ER ltER ER	 ltER
 ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER  ER! ltER" ER# ltER$ ER% ltER& ER' ltER( ER) ltER* ER+ ltER, ER- ltER. ER/ ltER0 ER1 ltER2 ER3 ltER4 ER5 ltER6 ER7 ltER8 ER9 ltER: ER; ltER< ER= ltER> ER? ltER@ ERA ltERB ERC ltERD ERE ltERF ERG ltERH ERI ltERJ ERK ltERL ERM ltERNtV ;t# (O  SoundGeneratorz@Takes accessible objects and produces the sound(s) to be played.c                    V ^8  d   QhRRRR/# )r   r   zscript.Scriptr   r   r   r   r   r   r   SoundGenerator.__annotate__n   s     ? ?} ? ?r   c                	s   < \         SV `  VR 4       \        P                  ! 4       P	                  4       p\
        P                  P                  T;'       g    RR4      V n        R# )Zsound ZsoundsN)	superr    r   r6   Zget_prefs_dirr   r   r   _sounds)r   r   Z	prefs_dir	__class__s   && r   r    ZSoundGenerator.__init__n   sE    )$002@@B	ww||IOOX>r   c               r<   )r   r   r   r   zIcon | Noner   r   r   r   r   r=   s   s      # + r   c                	sb    \        V P                  V4      pVP                  4       '       d   V# R # )N)r   r@   r$   )r   r   Zicons   && r   _convert_filename_to_iconZ(SoundGenerator._convert_filename_to_icons   s%    DLL(+==??Kr   c               r<   r   objAtspi.Accessibler   	list[Any]r   r   r   r   r   r=   z   s     * *"2 *y *r   c                s    \         P                  ! 4       P                  R4      '       g)   \        P                  ! \        P
                  RR4       . # V P                  ! V3/ VB # )z@Returns an array of sounds for the complete presentation of obj.ZenableSoundz$SOUND GENERATOR: Generation disabledT)r   r6   r7   r   r   r   Zgenerater   rD   args   &&,r   generate_soundZSoundGenerator.generate_soundz   sQ      ++-99-HH 0 02XZ^_I}}S)D))r   c               r<   rC   r   r   r   r   r   r=      s      -= 9 r   c                s    \         P                  ! 4       P                  R4      '       g   . # \        P                  ! V4      '       d   . # \
        P                  pV P                  V4      pV'       d   V.# . # )z8Returns an array of sounds indicating obj is grayed out.playSoundForState)r   r6   r7   r	   Zis_sensitiver   ZSTATE_INSENSITIVE_SPEECHrB   r   rD   _argsr   result   &&,  r   _generate_state_sensitiveZ(SoundGenerator._generate_state_sensitive   sd      ++-99:MNNI##C((I$==//98O	r   c               r<   rC   r   r   r   r   r   r=            +; 	 r   c                   < \         P                  ! 4       P                  R4      '       g   . # \        SV `  ! V3/ VB pV'       d3   V^ ,          '       d$   V P                  V^ ,          4      pV'       d   V.# . # )z?Returns an array of sounds indicating the checked state of obj.rK   )r   r6   r7   r?   _generate_state_checkedrB   r   rD   rH   	filenamesrN   rA      &&,  r   rS   Z&SoundGenerator._generate_state_checked   g      ++-99:MNNIG3C@4@	133IaLAFx	r   c               r<   rC   r   r   r   r   r   r=      s      .> I r   c                   \         P                  ! 4       P                  R4      '       g   . # V P                  P                  P                  V4      '       g   . # \        P                  pV P                  V4      pV'       d   V.# . # )z7Returns an array of sounds indicating obj is clickable.rK   )	r   r6   r7   _script	utilitiesZis_clickable_elementr   ZSTATE_CLICKABLE_SOUNDrB   rL   rO   r   _generate_has_click_actionZ)SoundGenerator._generate_has_click_action   sn      ++-99:MNNI||%%::3??I$:://98O	r   c               r<   rC   r   r   r   r   r   r=            ,<  r   c                rR   )z@Returns an array of sounds indicating the expanded state of obj.rK   )r   r6   r7   r?   _generate_state_expandedrB   rT   rV   r   r]   Z'SoundGenerator._generate_state_expanded   g      ++-99:MNNIG4SADA	133IaLAFx	r   c               r<   rC   r   r   r   r   r   r=      rQ   r   c                rR   )z?Returns an array of sounds indicating the invalid state of obj.rK   )r   r6   r7   r?   _generate_state_invalidrB   rT   rV   r   r_   Z&SoundGenerator._generate_state_invalid   rW   r   c               r<   rC   r   r   r   r   r   r=      s      2B PY r   c                rX   )z9Returns an array of sounds indicating obj has a longdesc.rK   )	r   r6   r7   rY   rZ   Zhas_long_descr   ZSTATE_HAS_LONGDESC_SOUNDrB   rL   rO   r   _generate_has_long_descriptionZ-SoundGenerator._generate_has_long_description   sn      ++-99:MNNI||%%33C88I$==//98O	r   c               r<   rC   r   r   r   r   r   r=      s      3C PY r   c                rR   )z=Returns an array of sounds indicating obj is multiselectable.rK   )r   r6   r7   r?   _generate_state_multiselectablerB   rT   rV   r   ra   Z.SoundGenerator._generate_state_multiselectable   sg      ++-99:MNNIG;CH4H	133IaLAFx	r   c               r<   rC   r   r   r   r   r   r=      s      =M Zc r   c                rR   )z@Returns an array of sounds indicating the selected state of obj.rK   )r   r6   r7   r?   )_generate_state_selected_for_radio_buttonrB   rT   rV   r   rb   Z8SoundGenerator._generate_state_selected_for_radio_button   sg      ++-99:MNNIGEcRTR	133IaLAFx	r   c               r<   rC   r   r   r   r   r   r=      s      -= ) r   c                rR   )z7Returns an array of sounds indicating obj is read only.rK   )r   r6   r7   r?   _generate_state_read_onlyrB   rT   rV   r   rc   Z(SoundGenerator._generate_state_read_only   sg      ++-99:MNNIG5cBTB	133IaLAFx	r   c               r<   rC   r   r   r   r   r   r=     r\   r   c                rR   )z6Returns an array of sounds indicating obj is required.rK   )r   r6   r7   r?   _generate_state_requiredrB   rT   rV   r   rd   Z'SoundGenerator._generate_state_required  r^   r   c               r<   rC   r   r   r   r   r   r=     s      6F S\ r   c                rR   )z>Returns an array of sounds indicating the on/off state of obj.rK   )r   r6   r7   r?   "_generate_state_checked_for_switchrB   rT   rV   r   re   Z1SoundGenerator._generate_state_checked_for_switch  sg      ++-99:MNNIG>sKdK	133IaLAFx	r   c               r<   rC   r   r   r   r   r   r=   )  rQ   r   c                rR   )z?Returns an array of sounds indicating the toggled state of obj.rK   )r   r6   r7   r?   _generate_state_pressedrB   rT   rV   r   rf   Z&SoundGenerator._generate_state_pressed)  rW   r   c               r<   rC   r   r   r   r   r   r=   7  s      +;  r   c                s    \         P                  ! 4       P                  R4      '       g   . # \        P                  ! V4      '       g   . # \
        P                  pV P                  V4      pV'       d   V.# . # )z?Returns an array of sounds indicating the visited state of obj.rK   )r   r6   r7   r	   Z
is_visitedr   ZSTATE_VISITED_SOUNDrB   rL   rO   r   _generate_visited_stateZ&SoundGenerator._generate_visited_state7  sd      ++-99:MNNI%%c**I$88//98O	r   c               r<   rC   r   r   r   r   r   r=   G  s     
 
1A 
y 
r   c                s    \         P                  ! 4       P                  R4      '       g   . # \        P                  ! V4      pVf   . # . # )z<Returns an array of sounds reflecting the percentage of obj.playSoundForValue)r   r6   r7   r
   get_value_as_percent)r   rD   rM   percent   &&, r   _generate_value_as_percentageZ,SoundGenerator._generate_value_as_percentageG  sC      ++-99:MNNI..s3?I	r   c               r<   rC   r   r   r   r   r   r=   S  s     N N0@ NY Nr   c                s   VP                  R4      '       d   V P                  ! V3/ VB '       g   . # M,\        P                  ! 4       P	                  R4      '       g   . # \
        P                  ! V4      pVf   . # V^c8  d   RpMRp^V^x,          ,
          pV^8  d   \        ^bVR,          ,           4      pM\        V^,          4      p\        WFV\        P                  4      .# )z?Returns an array of sounds representing the progress bar value.ZisProgressBarUpdaterh   g      ?g333333?g@)
get#_should_present_progress_bar_updater   r6   r7   r
   ri   r2   r/   r:   )r   rD   rH   rj   r0   r3   r1   s   &&,    r   _generate_progress_bar_valueZ+SoundGenerator._generate_progress_bar_valueS  s     88)**;;CH4HH	 I!--/;;<OPPI..s3?I b=HH 3/ Q;B3./IGbL)IX*;T^^LMMr   c               r!   )r   r   r2   r   r   r   r   r   r=   q  s      3 r   c                	s   < \         P                  ! 4       P                  R 4      pVf   \        SV `  4       # \        V4      # )ZprogressBarBeepInterval)r   r6   r7   r?   !_get_progress_bar_update_intervalr2   )r   ZintervalrA   s   & r   rp   Z0SoundGenerator._get_progress_bar_update_intervalq  s;    #//1==>WX7<>>8}r   c               r<   )r   rD   rE   r   r(   r   r   r   r   r   r=   x  s      H H7G HTX Hr   c                	s~   < \         P                  ! 4       P                  R 4      '       g   R# \        SV `  ! V3/ VB # )ZbeepProgressBarUpdatesF)r   r6   r7   r?   rn   )r   rD   rH   rA   s   &&,r   rn   Z2SoundGenerator._should_present_progress_bar_updatex  s6    ++-99:RSSw:3G$GGr   c               r<   r   _objrE   r   rF   r   r   r   r   r   r=   ~  s      .> I r   c                s^    \         P                  ! 4       P                  R4      '       g   . # . # )z>Returns an array of sounds reflecting the set position of obj.ZplaySoundForPositionInSet)r   r6   r7   r   rr   rM   rI   r   _generate_position_in_setZ(SoundGenerator._generate_position_in_set~  s+      ++-99:UVVI 	r   c               r<   rC   r   r   r   r   r   r=     s      -= ) r   c                sl   \         P                  ! 4       P                  R4      '       g   . # VP                  R\        P
                  ! V4      4      p\        P                  ! V4      P                  RR4      .pV'       d3   V^ ,          '       d$   V P                  V^ ,          4      pV'       d   V.# . # )z6Returns an array of sounds indicating the role of obj.ZplaySoundForRoleroleZ Z-)
r   r6   r7   rm   r   Zget_roler   Zrole_get_nameZreplacerB   )r   rD   rH   ru   rU   rN   s   &&,   r   _generate_accessible_roleZ(SoundGenerator._generate_accessible_role  s      ++-99:LMMIxx 1 1# 67((.66sC@A	133IaLAFx	r   c               r<   rq   r   r   r   r   r   r=           -= 9 r   c                    . # )zEProvides the default/role-agnostic information to present before obj.r   rs   rI   r   _generate_default_prefixZ'SoundGenerator._generate_default_prefix  	     	r   c               r<   rC   r   r   r   r   r   r=     s      2B y r   c                s    V P                   ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z5Provides a default/role-agnostic presentation of obj.)ry   rv   _generate_default_suffixr   rD   rH   rN   rk   r   _generate_default_presentationZ-SoundGenerator._generate_default_presentation  sN     ..s;d;00===//<t<<r   c               r<   rq   r   r   r   r   r   r=     rw   r   c                rx   )zDProvides the default/role-agnostic information to present after obj.r   rs   rI   r   r{   Z'SoundGenerator._generate_default_suffix  rz   r   c               r<   rC   r   r   r   r   r   r=          @ @/? @I @r   c                (    V P                   ! V3/ VB # )z/Generates sound for the accelerator-label role.r}   rG   rI   r   _generate_accelerator_labelZ*SoundGenerator._generate_accelerator_label       223?$??r   c               r<   rC   r   r   r   r   r   r=          @ @#3 @	 @r   c                r   )z#Generates sound for the alert role.r   rG   rI   r   _generate_alertZSoundGenerator._generate_alert  r   r   c               r<   rC   r   r   r   r   r   r=          @ @'7 @I @r   c                r   )z'Generates sound for the animation role.r   rG   rI   r   _generate_animationZ"SoundGenerator._generate_animation  r   r   c               r<   rC   r   r   r   r   r   r=          @ @)9 @i @r   c                r   )z)Generates sound for the application role.r   rG   rI   r   _generate_applicationZ$SoundGenerator._generate_application  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the arrow role.r   rG   rI   r   _generate_arrowZSoundGenerator._generate_arrow  r   r   c               r<   rC   r   r   r   r   r   r=          @ @%5 @) @r   c                r   )z%Generates sound for the article role.r   rG   rI   r   _generate_articleZ SoundGenerator._generate_article  r   r   c               r<   rC   r   r   r   r   r   r=     s     @ @-= @) @r   c                r   )zCGenerates sound for the article role when the article is in a feed.r   rG   rI   r   _generate_article_in_feedZ(SoundGenerator._generate_article_in_feed  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the audio role.r   rG   rI   r   _generate_audioZSoundGenerator._generate_audio  r   r   c               r<   rC   r   r   r   r   r   r=          @ @*: @y @r   c                r   )z*Generates sound for the autocomplete role.r   rG   rI   r   _generate_autocompleteZ%SoundGenerator._generate_autocomplete  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z)Generates sound for the block-quote role.r   rG   rI   r   _generate_block_quoteZ$SoundGenerator._generate_block_quote  r   r   c               r<   rC   r   r   r   r   r   r=          @ @&6 @9 @r   c                r   )z&Generates sound for the calendar role.r   rG   rI   r   _generate_calendarZ!SoundGenerator._generate_calendar  r   r   c               r<   rC   r   r   r   r   r   r=     s      $4  r   c                    V P                   ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z$Generates sound for the canvas role.ry   rv   rt   r{   r|   rk   r   _generate_canvasZSoundGenerator._generate_canvas  f     ..s;d;00===00===//<t<<r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z%Generates sound for the caption role.r   rG   rI   r   _generate_captionZ SoundGenerator._generate_caption  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the chart role.r   rG   rI   r   _generate_chartZSoundGenerator._generate_chart  r   r   c               r<   rC   r   r   r   r   r   r=           '7 I r   c                   VP                  RR4      pVR9   d   V P                  ! V3/ VB # V P                  ! V3/ VB pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P
                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pV# )z'Generates sound for the check-box role.
formatType	unfocusedZfocusedZancestor)rm   rS   ry   rv   rd   r_   rP   r{   r   rD   rH   format_typerN   rO   r   _generate_check_boxZ"SoundGenerator._generate_check_box  s     hh|[911//<t<<..s;d;00===..s;d;;//<t<<..s;d;;00===//<t<<r   c               r<   rC   r   r   r   r   r   r=           -= ) r   c                ~   VP                  RR4      pVR9   d   V P                  ! V3/ VB # V P                  ! V3/ VB pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P
                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pV# )z-Generates sound for the check-menu-item role.r   r   r   )rm   rS   ry   rv   rP   rt   r{   r   rO   r   _generate_check_menu_itemZ(SoundGenerator._generate_check_menu_item  s     hh|[911//<t<<..s;d;00===..s;d;;00===00===//<t<<r   c               r<   rC   r   r   r   r   r   r=          @ @+; @	 @r   c                r   )z+Generates sound for the color-chooser role.r   rG   rI   r   _generate_color_chooserZ&SoundGenerator._generate_color_chooser  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z+Generates sound for the column-header role.r   rG   rI   r   _generate_column_headerZ&SoundGenerator._generate_column_header  r   r   c               r<   rC   r   r   r   r   r   r=   !  r   r   c                `   . pVP                  RR4      pVR9   d   W0P                  ! V3/ VB ,          pV# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P
                  ! V3/ VB ,          pV# )z'Generates sound for the combo-box role.r   r   r   rm   r]   ry   rv   rt   r{   r   rD   rH   rN   r   rO   r   _generate_combo_boxZ"SoundGenerator._generate_combo_box!       hh|[91133C@4@@FM..s;d;00===//<t<<00===//<t<<r   c               r<   rC   r   r   r   r   r   r=   1  r   r   c                r   )z%Generates sound for the comment role.r   rG   rI   r   _generate_commentZ SoundGenerator._generate_comment1  r   r   c               r<   rC   r   r   r   r   r   r=   6       @ @.> @9 @r   c                r   )z.Generates sound for the content-deletion role.r   rG   rI   r   _generate_content_deletionZ)SoundGenerator._generate_content_deletion6  r   r   c               r<   rC   r   r   r   r   r   r=   ;  r~   r   c                r   )z/Generates sound for the content-insertion role.r   rG   rI   r   _generate_content_insertionZ*SoundGenerator._generate_content_insertion;  r   r   c               r<   rC   r   r   r   r   r   r=   @  r   r   c                r   )z)Generates sound for the date-editor role.r   rG   rI   r   _generate_date_editorZ$SoundGenerator._generate_date_editor@  r   r   c               r<   rC   r   r   r   r   r   r=   E       @ @(8 @Y @r   c                r   )z(Generates sound for the definition role.r   rG   rI   r   _generate_definitionZ#SoundGenerator._generate_definitionE  r   r   c               r<   rC   r   r   r   r   r   r=   J  r   r   c                r   )z.Generates sound for the description-list role.r   rG   rI   r   _generate_description_listZ)SoundGenerator._generate_description_listJ  r   r   c               r<   rC   r   r   r   r   r   r=   O  r   r   c                r   )z.Generates sound for the description-term role.r   rG   rI   r   _generate_description_termZ)SoundGenerator._generate_description_termO  r   r   c               r<   rC   r   r   r   r   r   r=   T  r~   r   c                r   )z/Generates sound for the description-value role.r   rG   rI   r   _generate_description_valueZ*SoundGenerator._generate_description_valueT  r   r   c               r<   rC   r   r   r   r   r   r=   Y  r   r   c                r   )z+Generates sound for the desktop-frame role.r   rG   rI   r   _generate_desktop_frameZ&SoundGenerator._generate_desktop_frameY  r   r   c               r<   rC   r   r   r   r   r   r=   ^  s     0 0*: 0y 0r   c                r   )z*Generates sound for the desktop-icon role.)_generate_iconrG   rI   r   _generate_desktop_iconZ%SoundGenerator._generate_desktop_icon^       ""3/$//r   c               r<   rC   r   r   r   r   r   r=   c  s      "2 y r   c                r   )z"Generates sound for the dial role.r   r   r   rm   rl   ry   rv   rd   r_   rP   r{   r   rO   r   _generate_dialZSoundGenerator._generate_dialc       hh|[91155cBTBB..s;d;00===44SADAA//<t<<..s;d;;00===//<t<<r   c               r<   rC   r   r   r   r   r   r=   s       @ @$4 @ @r   c                r   )z$Generates sound for the dialog role.r   rG   rI   r   _generate_dialogZSoundGenerator._generate_dialogs  r   r   c               r<   rC   r   r   r   r   r   r=   x       @ @,< @ @r   c                r   )z,Generates sound for the directory_pane role.r   rG   rI   r   _generate_directory_paneZ'SoundGenerator._generate_directory_panex  r   r   c               r<   rC   r   r   r   r   r   r=   }  r   r   c                r   )z+Generates sound for document-related roles.r   rG   rI   r   _generate_documentZ!SoundGenerator._generate_document}  r   r   c               r<   rC   r   r   r   r   r   r=          4 4,< 4 4r   c                r   )z,Generates sound for the document-email role.r   rG   rI   r   _generate_document_emailZ'SoundGenerator._generate_document_email       &&s3d33r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z,Generates sound for the document-frame role.r   rG   rI   r   _generate_document_frameZ'SoundGenerator._generate_document_frame  r   r   c               r<   rC   r   r   r   r   r   r=     s     4 43C 4PY 4r   c                r   )z3Generates sound for the document-presentation role.r   rG   rI   r   _generate_document_presentationZ.SoundGenerator._generate_document_presentation  r   r   c               r<   rC   r   r   r   r   r   r=     s     4 42B 4y 4r   c                r   )z2Generates sound for the document-spreadsheet role.r   rG   rI   r   _generate_document_spreadsheetZ-SoundGenerator._generate_document_spreadsheet  r   r   c               r<   rC   r   r   r   r   r   r=     s     4 4+; 4	 4r   c                r   )z+Generates sound for the document-text role.r   rG   rI   r   _generate_document_textZ&SoundGenerator._generate_document_text  r   r   c               r<   rC   r   r   r   r   r   r=     s     4 4*: 4y 4r   c                r   )z*Generates sound for the document-web role.r   rG   rI   r   _generate_document_webZ%SoundGenerator._generate_document_web  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   z*Generates sound for the dpub section role.r   rG   rI   r   _generate_dpub_landmarkZ&SoundGenerator._generate_dpub_landmark  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   r   r   rG   rI   r   _generate_dpub_sectionZ%SoundGenerator._generate_dpub_section  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z*Generates sound for the drawing-area role.r   rG   rI   r   _generate_drawing_areaZ%SoundGenerator._generate_drawing_area  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z%Generates sound for the editbar role.r   rG   rI   r   _generate_editbarZ SoundGenerator._generate_editbar  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the embedded role.r   rG   rI   r   _generate_embeddedZ!SoundGenerator._generate_embedded  r   r   c               r<   rC   r   r   r   r   r   r=     s     
 
#3 
	 
r   c                sX   V P                   ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P
                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z#Generates sound for the entry role.)ry   rv   rc   rd   r_   rP   r{   r|   rk   r   _generate_entryZSoundGenerator._generate_entry  s     ..s;d;00===00===//<t<<..s;d;;00===//<t<<r   c               r<   rC   r   r   r   r   r   r=          @ @"2 @y @r   c                r   )z"Generates sound for the feed role.r   rG   rI   r   _generate_feedZSoundGenerator._generate_feed  r   r   c               r<   rC   r   r   r   r   r   r=          2 2*: 2y 2r   c                r   )z*Generates sound for the file-chooser role.r   rG   rI   r   _generate_file_chooserZ%SoundGenerator._generate_file_chooser       $$S1D11r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z$Generates sound for the filler role.r   rG   rI   r   _generate_fillerZSoundGenerator._generate_filler  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z*Generates sound for the font-chooser role.r   rG   rI   r   _generate_font_chooserZ%SoundGenerator._generate_font_chooser  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z$Generates sound for the footer role.r   rG   rI   r   _generate_footerZSoundGenerator._generate_footer  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the footnote role.r   rG   rI   r   _generate_footnoteZ!SoundGenerator._generate_footnote  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z"Generates sound for the form role.r   rG   rI   r   _generate_formZSoundGenerator._generate_form  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the frame role.r   rG   rI   r   _generate_frameZSoundGenerator._generate_frame  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z(Generates sound for the glass-pane role.r   rG   rI   r   _generate_glass_paneZ#SoundGenerator._generate_glass_pane  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the grouping role.r   rG   rI   r   _generate_groupingZ!SoundGenerator._generate_grouping  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z$Generates sound for the header role.r   rG   rI   r   _generate_headerZSoundGenerator._generate_header  r   r   c               r<   rC   r   r   r   r   r   r=     s      %5 ) r   c                .   . pVP                  RR4      pVR9   d   W0P                  ! V3/ VB ,          pV# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z%Generates sound for the heading role.r   r   r   rm   r]   ry   rv   r{   r   rO   r   _generate_headingZ SoundGenerator._generate_heading       hh|[91133C@4@@FM..s;d;00===//<t<<//<t<<r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z,Generates sound for the html-container role.r   rG   rI   r   _generate_html_containerZ'SoundGenerator._generate_html_container  r   r   c               r<   rC   r   r   r   r   r   r=     s      "2 y r   c                r   )z"Generates sound for the icon role.r   r|   rk   r   r   ZSoundGenerator._generate_icon  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the image role.r   rG   rI   r   _generate_imageZSoundGenerator._generate_image  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z'Generates sound for the image-map role.r   rG   rI   r   _generate_image_mapZ"SoundGenerator._generate_image_map  r   r   c               r<   rC   r   r   r   r   r   r=   #  r   r   c                r   )z&Generates sound for the info-bar role.r   rG   rI   r   _generate_info_barZ!SoundGenerator._generate_info_bar#  r   r   c               r<   rC   r   r   r   r   r   r=   (       @ @1A @i @r   c                r   )z1Generates sound for the input-method-window role.r   rG   rI   r   _generate_input_method_windowZ,SoundGenerator._generate_input_method_window(  r   r   c               r<   rC   r   r   r   r   r   r=   -  r   r   c                r   )z,Generates sound for the internal-frame role.r   rG   rI   r   _generate_internal_frameZ'SoundGenerator._generate_internal_frame-  r   r   c               r<   rC   r   r   r   r   r   r=   2  r   r   c                r   )z#Generates sound for the label role.r   rG   rI   r   _generate_labelZSoundGenerator._generate_label2  r   r   c               r<   rC   r   r   r   r   r   r=   7  r   r   c                r   )z&Generates sound for the landmark role.r   rG   rI   r   _generate_landmarkZ!SoundGenerator._generate_landmark7  r   r   c               r<   rC   r   r   r   r   r   r=   <  r   r   c                r   )z*Generates sound for the layered-pane role.r   rG   rI   r   _generate_layered_paneZ%SoundGenerator._generate_layered_pane<  r   r   c               r<   rC   r   r   r   r   r   r=   A  r   r   c                r   )z'Generates sound for the level-bar role.r   r   r   r   r   rO   r   _generate_level_barZ"SoundGenerator._generate_level_barA  r   r   c               r<   rC   r   r   r   r   r   r=   Q  s      "2 y r   c                s.   . pVP                  RR4      pVR9   d   W0P                  ! V3/ VB ,          pV# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z"Generates sound for the link role.r   r   r   )rm   r]   ry   rg   r{   r   rO   r   _generate_linkZSoundGenerator._generate_linkQ  s     hh|[91133C@4@@FM..s;d;//<t<<..s;d;;//<t<<r   c               r<   rC   r   r   r   r   r   r=   `  r   r   c                r   )z"Generates sound for the list role.r   rG   rI   r   _generate_listZSoundGenerator._generate_list`  r   r   c               r<   rC   r   r   r   r   r   r=   e        &6 9 r   c                r   )z&Generates sound for the list-box role.)ry   rv   ra   r{   r|   rk   r   _generate_list_boxZ!SoundGenerator._generate_list_boxe  sf     ..s;d;00===66sCdCC//<t<<r   c               r<   rC   r   r   r   r   r   r=   n  r   r   c                r   )z'Generates sound for the list-item role.r   r   r   r   r   rO   r   _generate_list_itemZ"SoundGenerator._generate_list_itemn  r   r   c               r<   rC   r   r   r   r   r   r=   ~  s     @ @!1 @i @r   c                r   )z!Generates sound for the log role.r   rG   rI   r   _generate_logZSoundGenerator._generate_log~  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z"Generates sound for the mark role.r   rG   rI   r   _generate_markZSoundGenerator._generate_mark  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z%Generates sound for the marquee role.r   rG   rI   r   _generate_marqueeZ SoundGenerator._generate_marquee  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z"Generates sound for the math role.r   rG   rI   r   _generate_mathZSoundGenerator._generate_math  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z+Generates sound for the math-enclosed role.r   rG   rI   r   _generate_math_enclosedZ&SoundGenerator._generate_math_enclosed  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z)Generates sound for the math-fenced role.r   rG   rI   r   _generate_math_fencedZ$SoundGenerator._generate_math_fenced  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z+Generates sound for the math-fraction role.r   rG   rI   r   _generate_math_fractionZ&SoundGenerator._generate_math_fraction  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z.Generates sound for the math-multiscript role.r   rG   rI   r   _generate_math_multiscriptZ)SoundGenerator._generate_math_multiscript  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z'Generates sound for the math-root role.r   rG   rI   r   _generate_math_rootZ"SoundGenerator._generate_math_root  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the math-row role.r   rG   rI   r   _generate_math_rowZ!SoundGenerator._generate_math_row  r   r   c               r<   rC   r   r   r   r   r   r=     s     @ @2B @y @r   c                r   )z2Generates sound for the math script subsuper role.r   rG   rI   r   _generate_math_script_subsuperZ-SoundGenerator._generate_math_script_subsuper  r   r   c               r<   rC   r   r   r   r   r   r=     s      @ @3C @PY @r   c                r   )z3Generates sound for the math script underover role.r   rG   rI   r   _generate_math_script_underoverZ.SoundGenerator._generate_math_script_underover  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z(Generates sound for the math-table role.r   rG   rI   r   _generate_math_tableZ#SoundGenerator._generate_math_table  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z"Generates sound for the menu role.r   rG   rI   r   _generate_menuZSoundGenerator._generate_menu  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the menu-bar role.r   rG   rI   r   _generate_menu_barZ!SoundGenerator._generate_menu_bar  r   r   c               r<   rC   r   r   r   r   r   r=     s      '7 I r   c                s   . pVP                  RR4      pVR9   d   W0P                  ! V3/ VB ,          pV# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pW0P
                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z'Generates sound for the menu-item role.r   r   r   )rm   r]   ry   rv   rP   rt   r{   r   rO   r   _generate_menu_itemZ"SoundGenerator._generate_menu_item  s     hh|[91133C@4@@FM..s;d;00===//<t<<00===00===//<t<<r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z*Generates sound for the notification role.r   rG   rI   r   _generate_notificationZ%SoundGenerator._generate_notification  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z)Generates sound for the option-pane role.r   rG   rI   r   _generate_option_paneZ$SoundGenerator._generate_option_pane  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z"Generates sound for the page role.r   rG   rI   r   _generate_pageZSoundGenerator._generate_page  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the page-tab role.r   r|   rk   r   _generate_page_tabZ!SoundGenerator._generate_page_tab  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z+Generates sound for the page-tab-list role.r   rG   rI   r   _generate_page_tab_listZ&SoundGenerator._generate_page_tab_list  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the panel role.r   rG   rI   r   _generate_panelZSoundGenerator._generate_panel  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z'Generates sound for the paragraph role.r   rG   rI   r   _generate_paragraphZ"SoundGenerator._generate_paragraph  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z+Generates sound for the password-text role.r   rG   rI   r   _generate_password_textZ&SoundGenerator._generate_password_text  r   r   c               r<   rC   r   r   r   r   r   r=     s     0 0(8 0Y 0r   c                r   )z(Generates sound for the popup-menu role.)r  rG   rI   r   _generate_popup_menuZ#SoundGenerator._generate_popup_menu  r   r   c               r<   rC   r   r   r   r   r   r=     s      *: y r   c                s    . pVP                  RR4      pVR9   d   W0P                  ! V3/ VB ,          pV# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z*Generates sound for the progress-bar role.r   r   r   )rm   ro   ry   rv   r   rO   r   _generate_progress_barZ%SoundGenerator._generate_progress_bar  s     hh|[91177DtDDFM..s;d;00===33C@4@@r   c               r<   rC   r   r   r   r   r   r=           )9 i r   c                r   )z)Generates sound for the push-button role.r   r   r   )rm   r]   ry   rv   rP   r{   r   rO   r   _generate_push_buttonZ$SoundGenerator._generate_push_button  r   r   c               r<   rC   r   r   r   r   r   r=   )  s     7 7.> 79 7r   c                r   )z.Generates sound for the push-button-menu role.)r  rG   rI   r   _generate_push_button_menuZ)SoundGenerator._generate_push_button_menu)  s     ))#666r   c               r<   rC   r   r   r   r   r   r=   .  s      *: y r   c                r   )z*Generates sound for the radio-button role.r   r   r   rm   rb   ry   rv   rP   rt   r{   r   rO   r   _generate_radio_buttonZ%SoundGenerator._generate_radio_button.       hh|[911AA#NNN..s;d;00===@@MMM00===00===//<t<<r   c               r<   rC   r   r   r   r   r   r=   =  r   r   c                r   )z-Generates sound for the radio-menu-item role.r   r   r   r  r   rO   r   _generate_radio_menu_itemZ(SoundGenerator._generate_radio_menu_item=  r  r   c               r<   rC   r   r   r   r   r   r=   L  r   r   c                r   )z$Generates sound for the rating role.r   rG   rI   r   _generate_ratingZSoundGenerator._generate_ratingL  r   r   c               r<   rC   r   r   r   r   r   r=   Q  r   r   c                r   )z-Generates sound for the region landmark role.r   rG   rI   r   _generate_regionZSoundGenerator._generate_regionQ  r   r   c               r<   rC   r   r   r   r   r   r=   V  r   r   c                r   )z'Generates sound for the root-pane role.r   rG   rI   r   _generate_root_paneZ"SoundGenerator._generate_root_paneV  r   r   c               r<   rC   r   r   r   r   r   r=   [  r   r   c                r   )z(Generates sound for the row-header role.r   rG   rI   r   _generate_row_headerZ#SoundGenerator._generate_row_header[  r   r   c               r<   rC   r   r   r   r   r   r=   `  r   r   c                r   )z#Generates sound for the ruler role.r   rG   rI   r   _generate_rulerZSoundGenerator._generate_ruler`  r   r   c               r<   rC   r   r   r   r   r   r=   e  s      (8 Y r   c                s   VP                  RR4      pVR9   d   V P                  ! V3/ VB # V P                  ! V3/ VB pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pV# )z(Generates sound for the scroll-bar role.r   r   r   )rm   rl   ry   rv   r{   r   rO   r   _generate_scroll_barZ#SoundGenerator._generate_scroll_bare  s     hh|[91155cBTBB..s;d;00===44SADAA//<t<<r   c               r<   rC   r   r   r   r   r   r=   r  r   r   c                r   )z)Generates sound for the scroll-pane role.r   rG   rI   r   _generate_scroll_paneZ$SoundGenerator._generate_scroll_paner  r   r   c               r<   rC   r   r   r   r   r   r=   w  r   r   c                r   )z%Generates sound for the section role.r   rG   rI   r   _generate_sectionZ SoundGenerator._generate_sectionw  r   r   c               r<   rC   r   r   r   r   r   r=   |  r   r   c                r   )z'Generates sound for the separator role.r   rG   rI   r   _generate_separatorZ"SoundGenerator._generate_separator|  r   r   c               r<   rC   r   r   r   r   r   r=     s      $4  r   c                r   )z$Generates sound for the slider role.r   r   r   r   r   rO   r   _generate_sliderZSoundGenerator._generate_slider  r   r   c               r<   rC   r   r   r   r   r   r=     r  r   c                r   )z)Generates sound for the spin-button role.r   r   r   r   r   rO   r   _generate_spin_buttonZ$SoundGenerator._generate_spin_button  r   r   c               r<   rC   r   r   r   r   r   r=     s      (8 Y r   c                L   VP                  RR4      pVR9   d   V P                  ! V3/ VB # V P                  ! V3/ VB pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P                  ! V3/ VB ,          pW@P
                  ! V3/ VB ,          pV# )z(Generates sound for the split-pane role.r   r   r   )rm   rl   ry   rv   rP   r{   r   rO   r   _generate_split_paneZ#SoundGenerator._generate_split_pane  s     hh|[91155cBTBB..s;d;00===44SADAA00===//<t<<r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z$Generates sound for the static role.r   rG   rI   r   _generate_staticZSoundGenerator._generate_static  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z(Generates sound for the status-bar role.r   rG   rI   r   _generate_status_barZ#SoundGenerator._generate_status_bar  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z'Generates sound for the subscript role.r   rG   rI   r   _generate_subscriptZ"SoundGenerator._generate_subscript  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z(Generates sound for the suggestion role.r   rG   rI   r   _generate_suggestionZ#SoundGenerator._generate_suggestion  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z)Generates sound for the superscript role.r   rG   rI   r   _generate_superscriptZ$SoundGenerator._generate_superscript  r   r   c               r<   rC   r   r   r   r   r   r=     s      $4  r   c                r!  )z$Generates sound for the switch role.r   r   r   )rm   re   ry   rv   rP   r{   r   rO   r   _generate_switchZSoundGenerator._generate_switch  s     hh|[911::3G$GG..s;d;00===99#FFF00===//<t<<r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the table role.r   rG   rI   r   _generate_tableZSoundGenerator._generate_table  r   r   c               r<   rC   r   r   r   r   r   r=     s      (8 Y r   c                r   )z(Generates sound for the table-cell role.r   r   r   r   r   rO   r   _generate_table_cellZ#SoundGenerator._generate_table_cell  r   r   c               r<   rC   r   r   r   r   r   r=     r~   r   c                r   )zBGenerates sound for the table-cell role in the context of its row.r   rG   rI   r   _generate_table_cell_in_rowZ*SoundGenerator._generate_table_cell_in_row  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z1Generates sound for the table-column-header role.r   rG   rI   r   _generate_table_column_headerZ,SoundGenerator._generate_table_column_header  r   r   c               r<   rC   r   r   r   r   r   r=     s      '7 I r   c                r   )z'Generates sound for the table-row role.r   r   r   r   r   rO   r   _generate_table_rowZ"SoundGenerator._generate_table_row  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z.Generates sound for the table-row-header role.r   rG   rI   r   _generate_table_row_headerZ)SoundGenerator._generate_table_row_header  r   r   c               r<   rC   r   r   r   r   r   r=     r~   r   c                r   )z/Generates sound for the tearoff-menu-item role.r   rG   rI   r   _generate_tearoff_menu_itemZ*SoundGenerator._generate_tearoff_menu_item  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z&Generates sound for the terminal role.r   rG   rI   r   _generate_terminalZ!SoundGenerator._generate_terminal  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z"Generates sound for the text role.r   rG   rI   r   _generate_textZSoundGenerator._generate_text  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z#Generates sound for the timer role.r   rG   rI   r   _generate_timerZSoundGenerator._generate_timer  r   r   c               r<   rC   r   r   r   r   r   r=     r   r   c                r   )z'Generates sound for the title-bar role.r   rG   rI   r   _generate_title_barZ"SoundGenerator._generate_title_bar  r   r   c               r<   rC   r   r   r   r   r   r=   !  s      +; 	 r   c                s   . pVP                  RR4      pVR9   d/   V P                  ! V3/ VB ;'       g    V P                  ! V3/ VB # V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pY0P                  ! V3/ VB ;'       g    V P                  ! V3/ VB ,          pW0P
                  ! V3/ VB ,          pW0P                  ! V3/ VB ,          pV# )z+Generates sound for the toggle-button role.r   r   r   )rm   r]   rf   ry   rv   rP   r{   r   rO   r   _generate_toggle_buttonZ&SoundGenerator._generate_toggle_button!  s     hh|[91100== = =//<t<= ..s;d;00===00== = =//<t<	>00===//<t<<r   c               r<   rC   r   r   r   r   r   r=   2  r   r   c                r   )z&Generates sound for the tool-bar role.r   rG   rI   r   _generate_tool_barZ!SoundGenerator._generate_tool_bar2  r   r   c               r<   rC   r   r   r   r   r   r=   7  r   r   c                r   )z&Generates sound for the tool-tip role.r   rG   rI   r   _generate_tool_tipZ!SoundGenerator._generate_tool_tip7  r   r   c               r<   rC   r   r   r   r   r   r=   <  r   r   c                r   )z"Generates sound for the tree role.r   rG   rI   r   _generate_treeZSoundGenerator._generate_tree<  r   r   c               r<   rC   r   r   r   r   r   r=   A  r   r   c                r   )z'Generates sound for the tree-item role.r   r   r   r   r   rO   r   _generate_tree_itemZ"SoundGenerator._generate_tree_itemA  r   r   c               r<   rC   r   r   r   r   r   r=   Q  r   r   c                r   )z(Generates sound for the tree-table role.r   rG   rI   r   _generate_tree_tableZ#SoundGenerator._generate_tree_tableQ  r   r   c               r<   rC   r   r   r   r   r   r=   V  r   r   c                r   )z%Generates sound for the unknown role.r   rG   rI   r   _generate_unknownZ SoundGenerator._generate_unknownV  r   r   c               r<   rC   r   r   r   r   r   r=   [  r   r   c                r   )z#Generates sound for the video role.r   rG   rI   r   _generate_videoZSoundGenerator._generate_video[  r   r   c               r<   rC   r   r   r   r   r   r=   `  r   r   c                r   )z&Generates sound for the viewport role.r   rG   rI   r   _generate_viewportZ!SoundGenerator._generate_viewport`  r   r   c               r<   rC   r   r   r   r   r   r=   e  r   r   c                r   )z$Generates sound for the window role.r   rG   rI   r   _generate_windowZSoundGenerator._generate_windowe  r   r   )r@   )r)   r*   r+   r,   r-   r    rB   rJ   rP   rS   r[   r]   r_   r`   ra   rb   rc   rd   re   rf   rg   rl   ro   rp   rn   rt   rv   ry   r}   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r.   Z__classcell__)rA   s   @r   r;   r;   k   s   J? ?
*             
N< H H"

@
@
@
@
@
@
@
@
@
@
@
@
@
 @
@
 @
@
@
@
@
@
@
@
@
0
 @
@
@
4
4
4
4
4
4
@
@
@
@
@

@
2
@
2
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
 @
 @
@
@
@
@
@
@
@
@
@
@
@
@
@
@
"@
@
@
@
@
@
@
0
 7
@
@
@
@
@
@
@
@
  @
@
@
@
@
@
@
@
@
@
@
@
@
@
"@
@
@
 @
@
@
@
@ @r   r;   ) r-   Z
__future__r    Z__id__Z__version__Z__date__Z__copyright__Z__license__r   Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   r>   r   r   r   r   Z	ax_objectr   Zax_utilitiesr	   Zax_valuer
   r   r   r/   Z	Generatorr;   r   r   r   <module>r>     s   4 B #1 	 % 	   7E "       % ) )#
 #
J}@Y(( }@r   