+
    QisG c                  s|   R t ^ RIHt RtRtRtRtRt^ RIt^ RI	t	^ RI
H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 ^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(](PS                  4        R# )ASuperclass of classes used to generate presentations for objects.)annotationsz$Id:$z$Revision:$z$Date:$zLCopyright (c) 2009 Sun Microsystems Inc.Copyright (c) 2015-2016 Igalia, S.L.ZLGPLN)SequenceMatcher)AnyTYPE_CHECKINGAtspiz2.0)r   )braille)debug)focus_manager)messages)object_properties)settings)settings_manager)AXHypertext)AXObject)AXTable)AXText)AXUtilities)AXValue)scriptc                  s   ] tR t^Bt$ Rt/ tR]R&   / tR]R&   / tR]R&   / t	R]R&   / t
R]R&   / tR]R&   / tR]R	&   / tR]R
&   / tR]R&   / tR]R&   / tR]R&   / tR]R&   / tR]R&   ]P(                  ! 4       tR R lt]R 4       t]R 4       t]R 4       tERR 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t!R" R# lt"R$ t#]R% R& l4       t$]R' R( l4       t%]R) R* l4       t&]R+ R, l4       t']R- R. l4       t(]R/ R0 l4       t)]R1 R2 l4       t*]R3 R4 l4       t+]R5 4       t,]R6 R7 l4       t-]R8 R9 l4       t.]R: R; l4       t/]R< R= l4       t0R> t1]R? R@ l4       t2]RA RB l4       t3]RC RD l4       t4]RE RF l4       t5]RG RH l4       t6]RI RJ l4       t7]RK RL l4       t8]RM RN l4       t9]RO RP l4       t:]RQ RR l4       t;]RS RT l4       t<]RU RV l4       t=]RW RX l4       t>]RY RZ l4       t?]R[ R\ l4       t@]R] R^ l4       tA]R_ R` l4       tB]Ra Rb l4       tC]Rc Rd l4       tD]Re Rf l4       tE]Rg Rh l4       tF]Ri 4       tG]Rj Rk l4       tH]Rl Rm l4       tI]Rn Ro l4       tJ]Rp Rq l4       tK]Rr Rs l4       tLRt tMRu tNRv tORw tPRx tQRy tRERR{ ltS]R| R} l4       tTR~ tU]R R l4       tV]R R l4       tW]R R l4       tX]R R l4       tY]R R l4       tZ]R R l4       t[R t\]R R l4       t]]R R l4       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tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR 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RN ERO ltERP ERQ ltERR ERS ltERT ERU ltERV ERW ltERX ERY ltERZ 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Rn ERo ltERp ERq ltERr ERs ltERt ERu ltERv ERw ltERx ERy ltERz 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R ER ltERtRz# (  	Generatorr    ZdictCACHED_DESCRIPTIONCACHED_IMAGE_DESCRIPTIONCACHED_IS_NAMELESS_TOGGLECACHED_NESTING_LEVELCACHED_STATIC_TEXTCACHED_TEXT_SUBSTRINGCACHED_TEXT_LINECACHED_TEXTCACHED_TEXT_EXPANDING_EOCSCACHED_TREE_ITEM_LEVELCACHED_DESCENDANTSUSED_DESCRIPTION_FOR_NAME USED_DESCRIPTION_FOR_STATIC_TEXTc               s$    V ^8  d   QhRRRRRR/# )   r   zscript.ScriptmodestrreturnZNone Zformat   "3/usr/lib/python3.14/site-packages/orca/generator.py__annotate__Generator.__annotate__U   s&     n
 n
} n
C n
D n
    c                	sL   W n         Wn        / V n        / \        P                  P
                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  bR V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                   V P"                  b\        P                  P$                  V P&                  b\        P                  P(                  V P*                  b\        P                  P,                  V P.                  b\        P                  P0                  V P2                  b\        P                  P4                  V P6                  b\        P                  P8                  V P:                  b\        P                  P<                  V P>                  b\        P                  P@                  V PB                  b\        P                  PD                  V PF                  b\        P                  PH                  V PJ                  b/ \        P                  PL                  V PN                  b\        P                  PP                  V PR                  b\        P                  PT                  V PV                  b\        P                  PX                  V PZ                  b\        P                  P\                  V P^                  b\        P                  P`                  V Pb                  b\        P                  Pd                  V Pf                  b\        P                  Ph                  V Pj                  b\        P                  Pl                  V Pn                  b\        P                  Pp                  V Pr                  bRV Pt                  bRV Pv                  b\        P                  Px                  V Pz                  b\        P                  P|                  V P~                  b\        P                  P                  V P                  bRV P                  b\        P                  P                  V P                  bC/ \        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  bC/ \        P                  P                  V P                  b\        P                  P                  V P                  bRV P                  bRV P                  b\        P                  P                  V P                  b\        P                  P                  V P                  bRV P                  bRV P                  bRV P                  bR	V P                  bR
V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  P                  V P                  b\        P                  EP                   V EP                  bC/ \        P                  EP                  V EP                  b\        P                  EP                  V EP
                  b\        P                  EP                  V EP                  b\        P                  EP                  V EP                  b\        P                  EP                  V EP                  b\        P                  EP                  V EP                  b\        P                  EP                  V EP                  bRV EP                   b\        P                  EP"                  V EP$                  b\        P                  EP&                  V EP(                  b\        P                  EP*                  V EP,                  b\        P                  EP.                  V EP0                  b\        P                  EP2                  V EP4                  b\        P                  EP6                  V EP8                  b\        P                  EP:                  V EP<                  b\        P                  EP>                  V EP@                  b\        P                  EPB                  V EPD                  bC/ \        P                  EPF                  V EPH                  b\        P                  EPJ                  V EPL                  b\        P                  EPN                  V EPP                  b\        P                  EPR                  V EPT                  b\        P                  EPV                  V EPX                  bRV EPZ                  b\        P                  EP\                  V EP^                  b\        P                  EP`                  V EPb                  bRV EPd                  b\        P                  EPf                  V EPh                  b\        P                  EPj                  V EPl                  b\        P                  EPn                  V EPp                  b\        P                  EPr                  V EPt                  b\        P                  EPv                  V EPx                  b\        P                  EPz                  V EP|                  b\        P                  EP~                  V EP                  b\        P                  EP                  V EP                  bC\        P                  EP                  V EP                  \        P                  EP                  V EP                  /CV n        R# )ROLE_ARTICLE_IN_FEEDROLE_DPUB_LANDMARKROLE_DPUB_SECTION	ROLE_FEEDROLE_MATH_ENCLOSEDROLE_MATH_FENCEDROLE_MATH_MULTISCRIPTROLE_MATH_SCRIPT_SUBSUPERROLE_MATH_SCRIPT_UNDEROVERROLE_MATH_TABLEROLE_MATH_TABLE_ROWROLE_REGIONROLE_SWITCHREAL_ROLE_TABLE_CELLN)_mode_script_active_progress_barsr   RoleZALERT_generate_alertZ	ANIMATION_generate_animationZARTICLE_generate_article_generate_article_in_feedBLOCK_QUOTE_generate_block_quoteZCANVAS_generate_canvasZCAPTION_generate_caption	CHECK_BOX_generate_check_boxZCHECK_MENU_ITEM_generate_check_menu_itemZCOLOR_CHOOSER_generate_color_chooserCOLUMN_HEADER_generate_column_headerZ	COMBO_BOX_generate_combo_boxCOMMENT_generate_commentZCONTENT_DELETION_generate_content_deletionZCONTENT_INSERTION_generate_content_insertionZ
DEFINITION_generate_definitionDESCRIPTION_LIST_generate_description_listDESCRIPTION_TERM_generate_description_termDESCRIPTION_VALUE_generate_description_valueZDIAL_generate_dialZDIALOG_generate_dialogZDOCUMENT_EMAIL_generate_document_emailZDOCUMENT_FRAME_generate_document_frameZDOCUMENT_PRESENTATION_generate_document_presentationZDOCUMENT_SPREADSHEET_generate_document_spreadsheetZDOCUMENT_TEXT_generate_document_textZDOCUMENT_WEB_generate_document_web_generate_dpub_landmark_generate_dpub_sectionZEDITBAR_generate_editbarZEMBEDDED_generate_embeddedZENTRY_generate_entry_generate_feedZFOOTNOTE_generate_footnoteZFOOTER_generate_footerZFORM_generate_formZFRAME_generate_frameZGROUPING_generate_groupingZHEADER_generate_headerZHEADING_generate_headingZICON_generate_iconIMAGE_generate_imageZINFO_BAR_generate_info_barZINTERNAL_FRAME_generate_internal_frameZLABEL_generate_labelLANDMARK_generate_landmarkZLAYERED_PANE_generate_layered_paneZLINK_generate_linkZ	LEVEL_BAR_generate_level_barZLIST_generate_listZLIST_BOX_generate_list_boxZ	LIST_ITEM_generate_list_itemZMATH_generate_math_generate_math_enclosed_generate_math_fencedZMATH_FRACTION_generate_math_fractionZ	MATH_ROOT_generate_math_root_generate_math_multiscript_generate_math_script_subsuper_generate_math_script_underover_generate_math_table_generate_math_rowZMARK_generate_markZMENU_generate_menuZ	MENU_ITEM_generate_menu_itemZNOTIFICATION_generate_notificationZPAGE_generate_pageZPAGE_TAB_generate_page_tabZPANEL_generate_panelZ	PARAGRAPH_generate_paragraphZPASSWORD_TEXT_generate_password_textZPROGRESS_BAR_generate_progress_barZPUSH_BUTTON_generate_push_buttonZRADIO_BUTTON_generate_radio_buttonZRADIO_MENU_ITEM_generate_radio_menu_item_generate_regionZ	ROOT_PANE_generate_root_pane
ROW_HEADER_generate_row_headerZ
SCROLL_BAR_generate_scroll_barZSCROLL_PANE_generate_scroll_paneZSECTION_generate_sectionZSLIDER_generate_sliderZSPIN_BUTTON_generate_spin_buttonZ	SEPARATOR_generate_separatorZ
SPLIT_PANE_generate_split_paneSTATIC_generate_staticZ
STATUS_BAR_generate_status_barZ	SUBSCRIPT_generate_subscriptZ
SUGGESTION_generate_suggestionZSUPERSCRIPT_generate_superscript_generate_switchZTABLE_generate_table
TABLE_CELL_generate_table_cell_in_row_generate_table_cellZ	TABLE_ROW_generate_table_rowZTEAROFF_MENU_ITEM_generate_tearoff_menu_itemZTERMINAL_generate_terminalZTEXT_generate_textZTOGGLE_BUTTON_generate_toggle_buttonZTOOL_BAR_generate_tool_barZTOOL_TIP_generate_tool_tipZTREE_generate_treeZ	TREE_ITEM_generate_tree_itemZWINDOW_generate_window_generators)selfr   r#   s   &&&r)   __init__ZGenerator.__init__U   s   
PR"j
JJd22j
JJ  $":":j
 JJ 6 6j
 #D$B$B	j

 JJ""D$>$>j
 JJt44j
 JJ 6 6j
 JJ  $":":j
 JJ&&(F(Fj
 JJ$$d&B&Bj
 JJ$$d&B&Bj
 JJ  $":":j
 JJ 6 6j
 JJ'')H)Hj
 JJ(($*J*Jj
  JJ!!4#<#<!j
" JJ'')H)H#j
$ JJ'')H)H%j
& JJ(($*J*J'j
( JJOOT00)j
* JJt44+j
, JJ%%t'D'D-j
. JJ%%t'D'D/j
0 JJ,,d.R.R1j
2 JJ++T-P-P3j
4 JJ$$d&B&B5j
6 JJ##T%@%@7j
8 !$">">9j
:  !<!<;j
< JJ 6 6=j
> JJ!8!8?j
@ JJd22Aj
B ,,Cj
D JJ!8!8Ej
F JJt44Gj
H JJOOT00Ij
J JJd22Kj
L JJ!8!8Mj
N JJt44Oj
P JJ 6 6Qj
R JJOOT00Sj
T JJd22Uj
V JJ!8!8Wj
X JJ%%t'D'DYj
Z JJd22[j
\ JJ!8!8]j
^ JJ##T%@%@_j
` JJOOT00aj
b JJ  $":":cj
d JJOOT00ej
f JJ!8!8gj
h JJ  $":":ij
j JJOOT00kj
l !$">">mj
n  : :oj
p JJ$$d&B&Bqj
r JJ  $":":sj
t $T%D%Duj
v ()L)Lwj
x )$*N*Nyj
z t88{j
| "4#:#:}j
~ JJOOT00j
@ JJOOT00Aj
B JJ  $":":Cj
D JJ##T%@%@Ej
F JJOOT00Gj
H JJ!8!8Ij
J JJd22Kj
L JJ  $":":Mj
N JJ$$d&B&BOj
P JJ##T%@%@Qj
R JJ""D$>$>Sj
T JJ##T%@%@Uj
V JJ&&(F(FWj
X 400Yj
Z JJ  $":":[j
\ JJ!!4#<#<]j
^ JJ!!4#<#<_j
` JJ""D$>$>aj
b JJ 6 6cj
d JJt44ej
f JJ""D$>$>gj
h JJ  $":":ij
j JJ!!4#<#<kj
l JJt44mj
n JJ!!4#<#<oj
p JJ  $":":qj
r JJ!!4#<#<sj
t JJ""D$>$>uj
x 400yj
z JJd22{j
| JJ!!4#C#C}j
~ #D$=$=j
@ JJ  $":":Aj
B JJ(($*J*JCj
D JJ!8!8Ej
F JJOOT00Gj
H JJ$$d&B&BIj
J JJ!8!8Kj
L JJ!8!8Mj
N JJOOT00Oj
P JJ  $":":JJt44Sj
r,   c                s   a  V 3R lpV# )zDecorator for logging.c                 s   < S! V / VB pR SP                    R2V.p\        P                  ! \        P                  VR4       V# )zGENERATOR: Z:T)__name__r   print_tokens
LEVEL_INFO)argsZkwargsresulttokensfuncs   *,  r)   wrapperZ/Generator.log_generator_output.<locals>.wrapper   sF    4*6*F#DMM?!4f=Fu//>Mr,   r&   )r   r   s   f r)   log_generator_outputZGenerator.log_generator_output   s    	
 r,   c                 s    \         P                  ! ^4       Rp \        P                  ! \        P                  V R4       \
        P                  ;_uu_ 4        / \
        n        / \
        n        / \
        n	        / \
        n
        / \
        n        / \
        n        / \
        n        / \
        n        / \
        n        / \
        n        / \
        n        / \
        n        / \
        n        RRR4       K    + '       g   i     EK  ; i)z*Clears any data we have cached for objectsTzGENERATOR: Clearing cache.N)timeZsleepr   print_messager   r   _lockr   r   r   r   r   r   r   r   r   r   r   r    r!   )msg    r)   _clear_stored_dataZGenerator._clear_stored_data   s     JJqM.C 0 0#t</1	,57	268	313	./1	,24	/-/	*(*	%79	435	0/1	,68	3=?	: !s   BC22D	c                 s~    \         P                  ! \        P                  R7      p RV n        V P                  4        R# )z3Starts thread to periodically clear cached details.)ZtargetTN)	threadingZThreadr   r   Zdaemonstart)Zthreadr   r)   start_cache_clearing_threadZ%Generator.start_cache_clearing_thread   s*     !!)E)EFr,   c           	     	s   V'       d	   V'       g   R # W9   d   \        VP                  4       4      ^8  g%   W!9   dP   \        VP                  4       4      ^8  d2   RV RV R2p\        P                  ! \        P                  VR4       R# \        \        RVP                  4       VP                  4       4      P                  4       ^4      pRV RV RV R	V R
2	p\        P                  ! \        P                  VR4       WS8  # )FzGENERATOR: Treating 'z' as redundant to 'Z'TNzGENERATOR: Similarity between 'z', 'z': z (threshold: ))	lenZsplitr   r   r   Zroundr   ZlowerZratio)r   Zstr1Zstr2Z	thresholdr   Z
similaritys   &&&&  r)   _strings_are_redundantZ Generator._strings_are_redundant   s    LS.2TZZ\IZ]^I^)$/B4&JC 0 0#t<?4tzz|LRRTVWX
-dV4vS M$+Q( 	 	E,,c48&&r,   c                    V ^8  d   QhRRRR/# )r"   contentsr   r%   	list[Any]r&   r'   r(   r)   r*   r+      s       
	r,   c                    . # )z=Returns presentation for a list of [obj, start, end, string].r&   )r   r   r      &&,r)   generate_contentsZGenerator.generate_contents   	     	r,   c               r   r"   objAtspi.Accessibler%   r   r&   r'   r(   r)   r*   r+   	         
	r,   c                r   )zUReturns the presentation of the context of the object. Subclasses must override this.r&   r   r   r   r   r)   generate_contextZGenerator.generate_context	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     s      ,  r,   c                s   VP                  R4      '       g   V P                  V4      VR&   V P                  P                  VP                  R4      ;'       g    \        P                  ! V4      4      pVfS   V P
                  P                  4        R2VR.p\        P                  ! \        P                  VR4       V P                  pVP                  RR4      '       g$   VP                  RR4      '       d   R	VR&   MR
VR&   V P
                  P                  4        R2VRVRV.p\        P                  ! \        P                  VR4       V! V3/ VB pV P
                  P                  4        R2V.p\        P                  ! \        P                  VR4       VP                  R4      '       d)   V'       d!   V^ ,          '       d   V P                  V4       V# )z'Returns the presentation of the object.roleNz GENERATOR:zlacks dedicated generatorT
formatTypeZalreadyFocusedFZfocusedZ	unfocusedZforzargs:z GENERATOR: Results:ZisProgressBarUpdate)get_get_functional_roler   r   get_roler;   Zupperr   r   r   _generate_default_presentation'_set_progress_bar_update_time_and_value)r   r   r   Z
_generatorr   r      &&,   r)   generateZGenerator.generate  s    xx44S9DL%%))HHV66 1 1# 6

 ))+,K8#?Z[Fu//><<Jxxd++xx(%00%.\"%0\"ZZ%%'(4j%gW[\5++VT:C(4(ZZ%%'((<=vF5++VT:88)**v&))88=r,   c               r   )r"   r   r   r%   r$   r&   r'   r(   r)   r*   r+   2  s      +;  r,   c                sP    \         P                  ! WP                  R4      4      pV# )z<Returns a string representing the localized rolename of obj.r   )r   get_localized_role_namer   r   r   r   r      &&, r)   r   Z!Generator.get_localized_role_name2  s"     44S((6:JKr,   c               r   r   r&   r'   r(   r)   r*   r+   8        '7 I r,   c                sD   VP                  R\        P                  ! V4      4      p\        P                  ! W4      '       d   V P
                  ! V3/ VB # \        P                  ! W4      '       d   V P                  ! V3/ VB # \        P                  ! W4      '       d   V P                  ! V3/ VB # \        P                  ! W4      '       d   V P                  ! V3/ VB # \        P                  ! V3/ VB '       d   V P                  ! V3/ VB # \        P                  ! W4      '       d   V P                  ! V3/ VB # \        P                  ! W4      '       d   V P                  ! V3/ VB # \        P                   ! W4      '       d   V P"                  ! V3/ VB # . # )z1Returns an array with the generated state of obj.r   )r   r   r   r   Zis_menu_item$_generate_state_checked_if_checkableis_radio_button)_generate_state_selected_for_radio_buttonZis_radio_menu_itemZis_check_box_generate_state_checkedis_check_menu_item	is_switch"_generate_state_checked_for_switchZis_toggle_button_generate_state_pressedis_table_cell _generate_state_checked_for_cellr   r   r   r   r   r)   get_state_indicatorZGenerator.get_state_indicator8  sa    xx 1 1# 67##C..<<SIDII&&s11AA#NNN))#44AA#NNN##C..//<t<<))#666//<t<<  ++::3G$GG''22//<t<<$$S//88EEE	r,   c               r   r   r&   r'   r(   r)   r*   r+   N  s     
 
- 
) 
r,   c                sF   VP                  R\        P                  ! V4      4      p\        P                  ! W4      '       d   V P
                  ! V3/ VB # \        P                  ! W4      '       g   \        P                  ! W4      '       d   V P                  ! V3/ VB # . # )z*Returns an array with the generated value.r   )	r   r   r   r   Zis_progress_bar_generate_progress_bar_valueZis_scroll_barZ	is_slider_generate_value_as_percentager   r   r)   	get_valueZGenerator.get_valueN  s     xx 1 1# 67&&s1144SADAA$$S//;3H3H3S3S55cBTBB	r,   c               r   r   r&   r'   r(   r)   r*   r+   Z         
	r,   c                	r   Nr&   r   r   r)   _generate_result_separatorZ$Generator._generate_result_separatorZ  s	    
 	r,   c                	s   \         P                  ! V4      '       g   R # \         P                  ! V4      p\        V4      ^8X  d   \	        V4      \        RR4      9   d.   RVR.p\        P                  ! \        P                  VR4       R# \        P                  ! V4      '       d-   RV.p\        P                  ! \        P                  VR4       R# R # )Fi   i  zGENERATOR: Name ofzis in unicode private use area.Tz.GENERATOR: Preferring description over name of)r   get_descriptionget_namer   ZordZranger   r   r   r   Zis_push_button)r   r   namer      &&  r)   _prefer_description_over_nameZ'Generator._prefer_description_over_namec  s    '',,  %t9>4yE&&11.5VW""5#3#3VTB))#..JCP""5#3#3VTBr,   c               r   r   r&   r'   r(   r)   r*   r+   u  s      4D QZ r,   c                	sz   VP                  R 4      '       d   . # \        V4      \        P                  9   d*   \        P                  P                  \        V4      . 4      # \        P                  P                  \        V4      4      '       d   . \        P                  \        V4      &   . # \        P
                  P                  \        V4      4      '       d   . \        P                  \        V4      &   . # \        P                  ! V4      ;'       g    \        P                  ! V4      pV'       g   . \        P                  \        V4      &   . # V P                  \        P                  ! V4      V4      '       d   . \        P                  \        V4      &   . # \        P                  ! 4       P                  4       pV'       dV   W8w  dP   V\        P                  ! V4      \        P                  ! V4      39   d   . \        P                  \        V4      &   . # V.\        P                  \        V4      &   V.# )omitDescription)r   hashr   r   r!   r    r   r   r   get_displayed_descriptionr   r   r   get_managerget_locus_of_focus)r   r   r   descriptionfocus   &&,  r)    _generate_accessible_descriptionZ*Generator._generate_accessible_descriptiont  s   88%&&I9	444//33DIrBB5599$s)DD68I((c3I..2249==68I((c3I..s3aa{7\7\]`7a68I((c3I&&x'8'8'={KK68I((c3I))+>>@S\x0079Q9QRW9XYY68I((c3I3>-	$$T#Y/}r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	sH   \        V4      \        P                  9   d*   \        P                  P                  \        V4      . 4      # \        P
                  ! V4      pV'       g   . \        P                  \        V4      &   . # V.\        P                  \        V4      &   V.# r   )r   r   r   r   r   Zget_image_descriptionr   r   r   r  r   r)   &_generate_accessible_image_descriptionZ0Generator._generate_accessible_image_description  s}     9	:::5599$s)RHH44S9<>I..tCy9I9D	**495}r,   c               r   r   r&   r'   r(   r)   r*   r+     s     	 		 
		r,   c                	sh    . p\         P                  ! V4      pV'       d   VP                  V4       V# r   )r   get_displayed_labelappend)r   r   r   r   labelr  r)   _generate_accessible_labelZ$Generator._generate_accessible_label  s-     //4MM% r,   c               r   r   r&   r'   r(   r)   r*   r+     s     ) )7G )T] )r,   c                	s   \         P                  ! 4       P                  4       pV'       d   W8w  d   \        P                  ! V4      \        P                  ! V4      8w  dp   \        P
                  ! V4      ;'       g    \        P                  ! V4      pV'       d4   V\        P
                  ! V4      \        P                  ! V4      39   d   . # . pV P                  ! V3/ VB pV P                  ! V3/ VB pVP                  R \        P                  ! V4      4      pV'       gb   V'       gZ   V\        P                  P                  8X  d;   V P                  P                  P                  V4      p	V	e   V P                  V	4      pV'       g   V# VP!                  V4       V'       g   V# V'       dZ   V'       dR   V P#                  V^ ,          V^ ,          4      '       d,   \%        V^ ,          4      \%        V^ ,          4      8  d   V# V# VP!                  V4       V'       d   V# \        P&                  ! V4      p
\(        P*                  ! V
4      '       d   V P,                  ! V
3/ VB pV# r   )r   r   r   r   r   r   r   r
  _generate_accessible_namer   r   r>   r   r<   	utilitiesactive_descendantextendr   r   
get_parentr   Zis_autocomplete#_generate_accessible_label_and_name)r   r   r   r  obj_namer   r	  r   r   
descendantparents   &&,        r)   r  Z-Generator._generate_accessible_label_and_name  s   ))+>>@
 S\h&7&7&<@Q@QRW@X&X((-NN1I1I#1NHH):):5)A8C[C[\aCb(cc	//<t<--c:T:xx 1 1# 6745::+@+@#@//AA#FJ%55jA KeMEd99$q'58LL47|c%(m+KdM$$S)&&v..==fMMFr,   c               r   r   r&   r'   r(   r)   r*   r+     s      -= ) r,   c                	s   R \         P                  \        V4      &   \        P                  ! V4      pV'       d   V.# \        P
                  ! V4      pV'       d    R\         P                  \        V4      &   V.# Rp\        P                  ! V4      p\        P                  ! WP                  R4      4      '       d   TpM\        P                  ! V4      '       d   TpV'       d$   \        P                  ! VRR7      pV'       d   V.# \        P                  ! V4      '       d.   \        P                  ! V4      '       d   V P                  V4      # . # )FTNr   )Zremove_extension)r   r    r   r   r   r   r  r   is_linkr   r   Zget_link_basenameZis_iconis_panelr  )r   r   r   r   r  Zlinkr  Zbasename   &&,     r)   r  Z#Generator._generate_accessible_name  s   9>	++DI6  %6M..s3=AI//S	:= $$S)sHHV$455D  ((D"44TDQH z! s##(<(<V(D(D11&99	r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	s   \         P                  ! V4      pVP                  R 4      pV'       d   V\         P                  ! V4      8w  d   V.# VP                  R4      pV'       d   V\         P                  ! V4      8w  d   V.# . # )zplaceholder-textplaceholder)r   get_attributes_dictr   r   )r   r   r   attrsr  r  r)   %_generate_accessible_placeholder_textZ/Generator._generate_accessible_placeholder_text  sp     ,,S1ii 23;(*;*;C*@@= ii.;(*;*;C*@@= 	r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                	r   r   r&   r   r   r)   _generate_accessible_roleZ#Generator._generate_accessible_role  	     	r,   c               r   r   r&   r'   r(   r)   r*   r+     s      4D QZ r,   c                	s   \        V4      \        P                  9   d*   \        P                  P                  \        V4      . 4      # V P                  ! V3/ VB p\        V4      \        P                  \        V4      &   V'       d   V\        P                  \        V4      &   V# VP                  R 4      R8w  d:   V P                  ! V3/ VB pV'       d   V\        P                  \        V4      &   V# V P                  P                  P                  V4      pV F%  pVP                  V P                  ! V3/ VB 4       K'  	  V\        P                  \        V4      &   V# )r   Zancestor)r   r   r   r   r  Zboolr!   )_generate_text_expanding_embedded_objectsr<   r  Zunrelated_labelsr  r  )r   r   r   r   labelsr	  r   r)    _generate_accessible_static_textZ*Generator._generate_accessible_static_text  s   9	444//33DIrBB66sCdC@DV	2249=6<I((c3M88L!Z/CCCP4PF:@	,,T#Y7''88=EMM$88G$GH  39	$$T#Y/r,   c                	s   VP                  R \        P                  ! V4      4      p\        P                  ! V4      '       d   \        P
                  ! V4      '       d   R# \        P                  ! V4      '       d   R# \        P                  ! V4      '       d   R# \        P                  ! V4      '       d   R# \        P                  ! V4      '       d   R# \        P                  ! V4      '       d   R# \        P                  ! V4      '       d   R# \        P                  ! W4      '       d=   \        P                  ! V4      '       d   R# \        P                  ! W4      '       d   R	# \        P                  ! W4      '       d   R
# V P                   P"                  P%                  V4      '       d   \&        P(                  P*                  # \        P,                  ! W4      '       d   \&        P(                  P.                  # \        P0                  ! W4      '       d   \&        P(                  P2                  # \        P4                  ! W4      '       d   \&        P(                  P6                  # \        P8                  ! W4      '       d   \&        P(                  P:                  # \        P<                  ! W4      '       d   \&        P(                  P>                  # \        P@                  ! W4      '       d   R# \        PB                  ! W4      '       d   R# \        P                  ! W4      '       d9   \        PD                  ! V4      '       d   R# \&        P(                  PF                  # V P                   P"                  PI                  V4      '       d7   \        PJ                  ! V4      '       d   \&        P(                  PL                  # V# )r   r4   r5   r3   r1   r2   r6   r7   r.   r/   r9   r-   r0   r8   )'r   r   r   r   Zis_math_relatedZis_math_sub_or_super_scriptZis_math_under_or_over_scriptZis_math_multi_scriptZis_math_encloseZis_math_fencedZis_math_tableZis_math_table_rowZis_dpubZis_landmark
is_sectionr   r<   r  Z	is_anchorr   r>   r   Zis_block_quoterC   Z
is_commentrN   Zis_description_listrS   is_description_termrU   is_description_valuerW   Zis_feed_articleZis_feedZis_landmark_regionrt   Zis_documentZsupports_imagero   r   r   r)   r   ZGenerator._get_functional_role-  st   xx 1 1# 67&&s++66s;;277<<3//44.**3//+))#..)((--(,,S11,s))&&s+++%%c00*  ++ <<!!++C00::$$$%%c00::)))!!#,,::%%%**355::...**355::...++C66::///&&s11)s))""3----c22$::&&&<<!!--c22x7N7Ns7S7S::###r,   c               r   )r"   r   r   r%   zlist[Atspi.Accessible]r&   r'   r(   r)   r*   r+   `  s     0' 0'0@ 0'E[ 0'r,   c                s   \        V4      \        P                  9   d*   \        P                  P                  \        V4      . 4      # \        P
                  ! V4      pV'       g   . \        P                  \        V4      &   . # \        P                  ! V4      p\        P                  ! V4      ;'       g    \        P                  ! V4      p. pV EF  pWa8X  d   K  Wc9   d   K  \        P                  ! V4      '       d   K2  \        P                  ! V4      '       d   KP  \        P                  ! V4      '       d   Kn  \        P                  ! V4      '       d   K  \        P                  ! V4      '       d   K  \        P                  ! V4      '       d   K  \        P                   ! V4      '       d   K  \        P                  ! V4      pV P#                  WG4      '       d   EK  \        P$                  ! V4      '       d?   \&        P(                  ! V4      '       g   EKQ  \        P*                  ! V4      '       d   EKp  VP-                  V4       EK  	  V\        P                  \        V4      &   V# )z1Returns a list of presentable descendants of obj.)r   r   r   r   r   Zget_on_screen_objectsget_is_labelled_byr   r   r  r!  Zis_paragraphZis_table_relatedZ	is_staticr  Zis_imageis_separatorr   is_labelr   Zhas_presentable_textZget_is_label_forr  )r   r   descendantsZlabelled_byr  Zpresentable_descendantschildZ
child_names   &&      r)   _get_presentable_descendantsZ&Generator._get_presentable_descendants_  s    9	444//33DIrBB!77<68I((c3I!44S9$$S)QQ[-L-LS-Q"$ E|#%%e,,''..++E22$$U++""5))##E**''..!**51J**8@@##E**22599//66#**51= !@ 3J	$$T#Y/&&r,   c               r   r   r&   r'   r(   r)   r*   r+     s      )9 i r,   c                	s,   V P                  V4      pV'       g   . # . pR p\        P                  ! V4      ;'       g    \        P                  ! V4      pV F  p\        P
                  ! V4      '       d/   V P                  V\        P                  ! V4      4      '       d   RpV P                  VR RR7      pV'       g   Kk  VP                  V4       VP                  V P                  ! V3/ VB 4       K  	  V\        P                  \        V4      &   V# )FT)includeContextr   )r)  r   r   r   r   r&  r   r   r   r  r   r   r!   r   )	r   r   r   r'  r   Zused_description_as_static_textZobj_descr(  Zchild_results	   &&,      r)   _generate_descendantsZGenerator._generate_descendants  s    77<I*/'++C0^^K4Y4YZ]4^ E##E**..x9J9J59QRR6:3==uVZ=[L|l+d==eLtLM ! A`	2249=r,   c               r   r   r&   r'   r(   r)   r*   r+     s      *: y r,   c                	s   VP                  R 4      p\        P                  ! W4      '       g   \        P                  ! W4      '       g   . # \        P
                  ! V4      '       d'   V P                  P                  P                  V4      pM\        P                  ! V4      .pV'       d   V^ ,          '       g   . # . p\        V P                  V4       F  pVP                  V4       K  	  V# r  )r   r   is_listZis_list_boxr   Zsupports_selectionr<   r  selected_childrenZget_focused_objectmapr  r  )r   r   r   r   Zitemsr   Zitem   &&,    r)   _generate_focused_itemZ Generator._generate_focused_item  s    xx##C..+2I2I#2T2TI&&s++LL**<<SAE 33C89E%((I66>DMM$ ? r,   c               r   r   r&   r'   r(   r)   r*   r+            
	r,   c                	sn   \         P                  ! V4      '       g   . # R p\         P                  ! VR4      pV'       d
   V^ ,          pV'       d=   \        P                  ! V4      pV'       d   V\        P                  ! V4      8w  d   V.# \        P
                  ! V4      pV'       d   \         P                  ! V4      '       d    . # \         P                  ! V4      '       g   \         P                  ! V4      '       d   V P                  V4      pV'       d   V# \        P
                  ! V4      pK  . # )NF)
r   r   r$  r   r   Zget_parent_checkedr,  r  Z	is_fillerr  )r   r   r   Zradio_group_labelr  r   r  r	  r  r)   _generate_radio_button_groupZ&Generator._generate_radio_button_group  s     **3//I //U; &q	$$%67D 1 1# 66v,,S1""6** 	 ##F++{/D/DV/L/L@@H L008F	r,   c                	s   \         P                  ! V4      '       g   . # . p\        P                  ! V4      pV'       dF   \         P                  ! V4      '       d*   VP                  V4       \        P                  ! V4      pKM  V# r   )r   r"  r   Zget_next_siblingr#  r  )r   r   values   && r)   _get_values_for_termZGenerator._get_values_for_term  sa    ..s33I'',k66s;;MM#++C0Cr,   c               r   r   r&   r'   r(   r)   r*   r+     s     	= 	=	= 
		=r,   c                	s~    \        V P                  V4      4      pVR9   d   . # R\        P                  ! V4       R2.# )   (r   )r6  )r   r5  r	   Zvalue_count_for_term)r   r   r   Zcountr   r)   _generate_term_value_countZ$Generator._generate_term_value_count  sD     D--c23GIH11%89;<<r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	sP    \         P                  ! V4      pV'       g   . # R V R2.# )r7  r   )r   Zget_current_item_status_stringr   r   r)   _generate_state_currentZ!Generator._generate_state_current  s,     ;;C@IF81r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	s~   V P                   R 8X  d   \        P                  pMFV P                   R8X  d   \        P                  pM$V P                   R8X  d   \        P                  pM. # \
        P                  ! V4      '       d   V^,          .# \
        P                  ! V4      '       d   V^,          .# V^ ,          .# r   speechsound)r;   r
   ZCHECK_BOX_INDICATORS_BRAILLEZCHECK_BOX_INDICATORS_SPEECHZCHECK_BOX_INDICATORS_SOUNDr   
is_checkedZis_indeterminater   r   r   
indicatorsr   r)   r   Z!Generator._generate_state_checked  s     ::"*GGJZZ8#*FFJZZ7"*EEJI!!#&&qM?"'',,qM?"1r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	s    . pV P                   P                  P                  V4      '       dE   \        P                  P
                  VR &   RVR&   VP                  V P                  ! V3/ VB 4       V# )r   Fr*  )r<   r  has_meaningful_toggle_actionr   r>   rG   r  r   r   r   r)   r   Z*Generator._generate_state_checked_for_cell  sa     <<!!>>sCC :://DL%*D!"MM$--4t45r,   c               r   r   r&   r'   r(   r)   r*   r+   "         
	r,   c                	j   V P                   R 8X  d   \        P                  pMFV P                   R8X  d   \        P                  pM$V P                   R8X  d   \        P                  pM. # \
        P                  ! V4      '       g   \
        P                  ! V4      '       d   V^,          .# V^ ,          .# r;  )r;   r
   ZSWITCH_INDICATORS_BRAILLEZSWITCH_INDICATORS_SPEECHZSWITCH_INDICATORS_SOUNDr   r>  
is_pressedr?  r   r)   r   Z,Generator._generate_state_checked_for_switch!  s     ::"*DDJZZ8#*CCJZZ7"*BBJI!!#&&+*@*@*E*EqM?"1r,   c               r   r   r&   r'   r(   r)   r*   r+   5  s       
	r,   c                	s    \         P                  ! V4      '       g   \         P                  ! V4      '       d   V P                  ! V3/ VB # \         P                  ! V4      '       d   V P                  ! V3/ VB # . # r   )r   Zis_checkabler   r   r>  r   r   r)   r   Z.Generator._generate_state_checked_if_checkable4  sg     ##C((K,J,J3,O,O//<t<<!!#&&//<t<<	r,   c               r   r   r&   r'   r(   r)   r*   r+   C         
	r,   c                	s   V P                   R 8X  d   \        P                  pMFV P                   R8X  d   \        P                  pM$V P                   R8X  d   \        P                  pM. # \
        P                  ! V4      '       d   V^ ,          .# \
        P                  ! V4      '       d   V^,          .# \
        P                  ! V4      '       d   V^ ,          .# . # r;  )	r;   r
   ZEXPANSION_INDICATORS_BRAILLEZEXPANSION_INDICATORS_SPEECHZEXPANSION_INDICATORS_SOUNDr   Zis_collapsedZis_expandedZis_expandabler?  r   r)   _generate_state_expandedZ"Generator._generate_state_expandedB  s     ::"*GGJZZ8#*FFJZZ7"*EEJI##C((qM?"""3''qM?"$$S))qM?"	r,   c               r   r   r&   r'   r(   r)   r*   r+   Z  r   r,   c                	r   r   r&   r   r   r)   _generate_state_has_popupZ#Generator._generate_state_has_popupY  r  r,   c               r   r   r&   r'   r(   r)   r*   r+   b       % %% 
	%r,   c                	s   \         P                  ! V4      '       g   . # \        P                  ! V4      w  r4pVP	                  R 4      pVR8X  d   . # V P
                  R8X  d   \        P                  pMFV P
                  R8X  d   \        P                  pM$V P
                  R8X  d   \        P                  pM. # . pVR8X  d   V^,          p	MVR8X  d   V^,          p	M	V^ ,          p	\         P                  ! V4      ;'       g    Rp
RP                  \        V P                  P                  P                  T
;'       g    . 4      4      pV'       d   VP!                  V	 R	V 24       V# VP!                  V	4       V# )
ZinvalidZfalser   r<  r=  ZspellingZgrammar Z
z: )r   Zis_invalid_entryr   Zget_text_attributes_at_offsetr   r;   r
   ZINVALID_INDICATORS_BRAILLEZINVALID_INDICATORS_SPEECHZINVALID_INDICATORS_SOUNDZget_error_messagejoinr.  r<   r  expand_eocsr  )r   r   r   r  Z_startZ_endZerrorr@  r   Z	indicatorZtargetsZerror_message   &&,         r)   _generate_state_invalidZ!Generator._generate_state_invalida  s<    ++C00I$BB3Gt		)$GI::"*EEJZZ8#*DDJZZ7"*CCJIJ"1Ii"1I"1I//4::		#dll&<&<&H&H'--UW"XYMMYKr-9:  MM)$r,   c               r   r   r&   r'   r(   r)   r*   r+            
	r,   c                	s   \         P                  ! V4      '       d   \        P                  ! V4      '       g   . # V P                  R 8X  d   \
        P                  .# V P                  R8X  d   \
        P                  .# . # )r<  r=  )r   Zis_multiselectabler   get_child_countr;   r
   ZSTATE_MULTISELECT_SPEECHZSTATE_MULTISELECT_SOUNDr   r   r)   _generate_state_multiselectableZ)Generator._generate_state_multiselectable  sh     ..s338P8PQT8U8UI
 ::!%>>??:: %==>>	r,   c               r   r   r&   r'   r(   r)   r*   r+     rB  r,   c                	rC  r;  )r;   r
   Z TOGGLE_BUTTON_INDICATORS_BRAILLEZTOGGLE_BUTTON_INDICATORS_SPEECHZTOGGLE_BUTTON_INDICATORS_SOUNDr   r>  rD  r?  r   r)   r   Z!Generator._generate_state_pressed  s     ::"*KKJZZ8#*JJJZZ7"*IIJI!!#&&+*@*@*E*EqM?"1r,   c               r   r   r&   r'   r(   r)   r*   r+     rN  r,   c                	s   \         P                  ! V4      '       g   . # V P                  R 8X  d   \        P                  .# V P                  R8X  d   \        P
                  .# V P                  R8X  d   \        P                  .# . # r;  )r   Zis_read_onlyr;   r
   ZSTATE_READ_ONLY_BRAILLEZSTATE_READ_ONLY_SPEECHZSTATE_READ_ONLY_SOUNDr   r   r)   _generate_state_read_onlyZ#Generator._generate_state_read_only  sp     '',,I::"%==>>::!%<<==:: %;;<<	r,   c               r   r   r&   r'   r(   r)   r*   r+            
	r,   c                	s   \         P                  ! V4      pV'       gG   \         P                  ! V4      '       d+   \         P                  ! \        P                  ! V4      4      pV'       g   . # V P
                  R 8X  d   \        P                  .# V P
                  R8X  d   \        P                  .# V P
                  R8X  d   \        P                  .# . # r;  )
r   is_requiredr   r   r  r;   r
   ZSTATE_REQUIRED_BRAILLEZSTATE_REQUIRED_SPEECHZSTATE_REQUIRED_SOUND)r   r   r   rS  r   r)   _generate_state_requiredZ"Generator._generate_state_required  s     "--c2{::3??%11(2E2Ec2JKKI::"%<<==::!%;;<<:: %::;;	r,   c               r   r   r&   r'   r(   r)   r*   r+     rB  r,   c                	s2   V P                   R 8X  d   \        P                  pMFV P                   R8X  d   \        P                  pM$V P                   R8X  d   \        P                  pM. # \
        P                  ! V4      '       d   V^,          .# V^ ,          .# r;  )r;   r
   ZRADIO_BUTTON_INDICATORS_BRAILLEZRADIO_BUTTON_INDICATORS_SPEECHZRADIO_BUTTON_INDICATORS_SOUNDr   r>  r?  r   r)   r   Z3Generator._generate_state_selected_for_radio_button  sw     ::"*JJJZZ8#*IIJZZ7"*HHJI!!#&&qM?"1r,   c               r   r   r&   r'   r(   r)   r*   r+     rR  r,   c                	sJ   \         P                  ! V4      '       d   . # \         P                  ! V4      '       d   . # V P                  R 8X  d   \        P
                  .# V P                  R8X  d   \        P                  .# V P                  R8X  d   \        P                  .# . # r;  )r   Zis_sensitiveis_editabler;   r
   ZSTATE_INSENSITIVE_BRAILLEZSTATE_INSENSITIVE_SPEECHZSTATE_INSENSITIVE_SOUNDr   r   r)   _generate_state_sensitiveZ#Generator._generate_state_sensitive  s     ##C((I""3''I::"%??@@::!%>>??:: %==>>	r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                	r   r   r&   r   r   r)   _generate_state_unselectedZ$Generator._generate_state_unselected  r  r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	r   r   r&   r   r   r)   _generate_state_visitedZ!Generator._generate_state_visited  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     s      ,<  r,   c                	s   VP                  R 4      pVP                  R4      p\        V4      W43\        P                  9   d,   \        P                  P                  \        V4      W43. 4      # Ve   Vf=   \        P
                  ! V4      '       g   . \        P                  \        V4      W43&   . # VP                  R\        P                  ! WV4      4      pRV9  d?   \        P
                  ! V4      '       g    V.\        P                  \        V4      W43&   V.# \        P
                  ! V4      '       g   . \        P                  \        V4      W43&   . # )startOffset	endOffsetstring   ￼)r   r   r   r   r   rU  r   Zget_substring)r   r   r   r   endZ	substringr   r)   _generate_text_substringZ"Generator._generate_text_substring  s   'hh{#Iu"i&E&EE2266S	57NPRSS=CK**3//KM	//cE0GHIHHXv';';C'LM	9$**3//LU;	//cE0GH;&&s++GII++T#Y,CD	r,   c               r   r   r&   r'   r(   r)   r*   r+   '  r   r,   c                	s   VP                  R 4      pVP                  R4      p\        V4      W43\        P                  9   d,   \        P                  P                  \        V4      W43. 4      # \        P                  ! W3/ VB pV'       d=   \
        P                  ! V4      '       g   V\        P                  \        V4      W43&   V# \        P                  ! V4      ^ ,          pV'       dF   RV9  d?   \
        P                  ! V4      '       g    V.\        P                  \        V4      W43&   V.# \
        P                  ! V4      '       g   . \        P                  \        V4      W43&   . # )rY  rZ  r\  )	r   r   r   r   r^  r   rU  r   Zget_line_at_offset)r   r   r   r   r]  r   textr/  r)   _generate_text_lineZGenerator._generate_text_line&  s   'hh{#Iu"i&@&@@--1149e2I2NN33DFF**3//FL	**DIu+BCM((-a0HD(**3//GKf	**DIu+BC6M&&s++BDI&&S	5'>?	r,   c               r   r   r&   r'   r(   r)   r*   r+   >  s      *: y r,   c                	sP   \        V4      \        P                  9   d*   \        P                  P                  \        V4      . 4      # \        P                  ! W3/ VB pV'       d;   \
        P                  ! V4      '       g   V\        P                  \        V4      &   V# \        P                  ! V4      pV'       ge   \
        P                  ! V4      '       dI   \
        P                  ! V4      '       d-   R P                  R \        P                  ! V4       4       4      pV'       dD   RV9  d=   \
        P                  ! V4      '       g   V.\        P                  \        V4      &   V.# \
        P                  ! V4      '       g   . \        P                  \        V4      &   . # ) c              3  sN   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   )r   get_all_text)Z.0r(  s   & r)   Z	<genexpr>Z3Generator._generate_text_content.<locals>.<genexpr>K  s      `D_5F//66D_s   #%r\  )r   r   r   r   r^  r   rU  r   rb  Zis_table_cell_or_headerrJ  r   iter_children)r   r   r   r   r_  r  r)   _generate_text_contentZ Generator._generate_text_content=  s)   9	---((,,T#Y;;33DFF**3//39	%%d3i0M""3';;C@@&&s++88`HDZDZ[^D_``DHD(**3//486	%%d3i06M&&s++/1I!!$s),	r,   c               r   r   r&   r'   r(   r)   r*   r+   W  rE  r,   c                	s   VP                  R 4      pVP                  R4      p\        V4      W43\        P                  9   d,   \        P                  P                  \        V4      W43. 4      # V P                  P
                  P                  WP                  R ^ 4      VP                  RR4      4      pVP                  4       '       dr   RV9  dk   V P                  \        P                  ! V4      V4      '       g?   \        P                  ! V4      '       g    V.\        P                  \        V4      W43&   V.# \        P                  ! V4      '       g   . \        P                  \        V4      W43&   . # )rY  rZ  r\  r8  )r   r   r   r   r<   r  rK  stripr   r   r   r   rU  )r   r   r   r   r]  r_  r   r)   r  Z3Generator._generate_text_expanding_embedded_objectsV  s"    'hh{#Iu"i&J&JJ77;;T#Y<SUWXX||%%11-+TXXk2-FH::<<HD0..x/@/@/EtLL**3//OSf	44T#Y5JK6M&&s++LNI00$s)U1HI	r,   c                	s    \         P                  P                  \        V4      4      pVf3   \        P
                  ! V4      pV\         P                  \        V4      &   V# r   )r   r   r   r   r   Zget_nesting_level)r   r   levelr4  r)   _get_nesting_levelZGenerator._get_nesting_levelo  sJ    ..2249==11#6E8=I**495r,   c               r   r   r&   r'   r(   r)   r*   r+   x  s       
	r,   c                	s0   VP                  R 4      e   VP                  R4      e   . # V P                  V4      pV'       g   . # V P                  R8X  d   \        P                  V,          .# V P                  R8X  d   \        P
                  V,          .# . # )rY  rZ  r   r<  )r   rg  r;   r
   ZNESTING_LEVEL_BRAILLEZNESTING_LEVEL_SPEECH)r   r   r   rf  r   r)   _generate_nesting_levelZ!Generator._generate_nesting_levelw  s     88M".488K3H3TI'',I::"%;;uEFF::!%::eDEE	r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                	r   r   r&   r   r   r)   _generate_position_in_listZ$Generator._generate_position_in_list  r  r,   c               r   r   r&   r'   r(   r)   r*   r+     r1  r,   c                	s   \         P                  P                  \        V4      4      pVfB   V P                  P
                  P                  V4      pV\         P                  \        V4      &   V^ 8  d   . # VP                  R4      pVP                  R4      '       d~   V'       dv   \         P                  P                  \        V4      4      pVfB   V P                  P
                  P                  V4      pV\         P                  \        V4      &   WS8X  d   . # V P                  R8X  d    \        P                  V^,           ,          .# V P                  R8X  d    \        P                  V^,           ,          .# . # )NpriorObjnewOnlyr   r<  )r   r   r   r   r<   r  Z
node_levelr;   r
   ZNODE_LEVEL_BRAILLEZNODE_LEVEL_SPEECH)r   r   r   rf  Zprior_objectZ	old_levelr   r)   _generate_tree_item_levelZ#Generator._generate_tree_item_level  s$    0044T#Y?=LL**55c:E:?I,,T#Y719Ixx
+88I<!88<<T,=OPI  LL22==lK	GP	00l1CD!	::"%88EAIFGG::!%77519EFF	r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                	r   r   r&   r   r   r)   _generate_progress_bar_indexZ&Generator._generate_progress_bar_index  r  r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                	r   r   r&   r   r   r)   r   Z&Generator._generate_progress_bar_value  r  r,   c                	s\    \        \        P                  ! 4       P                  R 4      4      # )ZprogressBarUpdateInterval)intr   r   Zget_setting)r      &r)   !_get_progress_bar_update_intervalZ+Generator._get_progress_bar_update_interval  s#    #//1==>YZ[[r,   c                	s>   \         P                  ! V4      pV P                  WR 7      w  rEW58X  d/   RVRV.p\        P                  ! \        P
                  VR4       R# V^d8X  d   R# \        \        P                  ! 4       V,
          4      pWpP                  4       8  # ))Ztypez$GENERATOR: Not presenting update forz. Value stillTF)	r   get_value_as_percent'_get_progress_bar_update_time_and_valuer   r   r   rn  r   rp  )r   r   r   percent	last_time
last_valuer   Zintervalr  r)   #_should_present_progress_bar_updateZ-Generator._should_present_progress_bar_update  s    ..s3 $ L LS L \	 <c?T[\Fu//>c>tyy{Y./AACCCr,   c                	s    \        \        \        P                  V P                  4      4      pV Uu/ uF  q"V P                  P                  V4      bK   	  upV n        R # u upi r   )listfilterr   Zis_validr=   r   )r   Zbarsxs   &  r)   _clean_up_cached_progress_barsZ(Generator._clean_up_cached_progress_bars  sO    F8,,d.H.HIJSW%XSWa(B(B(F(Fq(I&ISW%X"%Xs   $A c                	s    V P                  4        V P                  P                  4       '       g   R# \        V P                  P                  4       R R7      pVR,          w  r#\	        V P                  P                  4       4      R,          W#3# )Nc                s    V ^ ,          # i    r&   ry  ro  r)   <lambda>Z@Generator._get_most_recent_progress_bar_update.<locals>.<lambda>  s    RSTURVr,   )Zkey)N        Nr8  )rz  r=   r3  Zsortedrw  Zkeys)r   Zsorted_valuesZ	prev_timeZ
prev_values   &   r)   $_get_most_recent_progress_bar_updateZ.Generator._get_most_recent_progress_bar_update  su    ++-))0022""t99@@BW -b 1	D..3356r:IQQr,   c                	s"   V P                  4        WP                  9  d   RV P                  V&   V P                  V4      p\        V P                  P	                  4       4      P                  V4      pV^,           \        V P                  4      3# r~  )r~  N)rz  r=   rr  rw  r3  indexr   )r   r   Z
this_valuer  r   r)   "_get_progress_bar_number_and_countZ,Generator._get_progress_bar_number_and_count  sx    ++-000.7D&&s+AA#F
T//6689??
Kqy#d88999r,   c                	sv    WP                   9  d   RV P                   V&   V P                   P                  V4      # r  )r=   r   r   r   r)   rr  Z1Generator._get_progress_bar_update_time_and_value  s5    000.7D&&s+))--c22r,   Nc                	s    T;'       g    \         P                   ! 4       pT;'       g    \        P                  ! V4      pW#3V P                  V&   R # r   )r   r   rq  r=   )r   r   rt  ru  s   &&&&r)   r   Z1Generator._set_progress_bar_update_time_and_value  s@    ,,	DD7#?#?#D
*3*?""3'r,   c               r   r   r&   r'   r(   r)   r*   r+     s       
	r,   c                	sX    . pR VR&   VP                  V P                  ! V3/ VB 4       V# )r:   r   )r  r   r   r   r)   _generate_real_table_cellZ#Generator._generate_real_table_cell  s1     -VdmmC0401r,   c                	sB   \        V4      \        P                  9   d!   \        P                  \        V4      ,          # V P                  P                  P                  V4      '       g   R \        P                  \        V4      &   R # V P                  P                  P                  V4      p\        P                  ! V4      '       g   \        P                  ! V4      '       d   R \        P                  \        V4      &   R # R\        P                  \        V4      &   R# )FT)r   r   r   r<   r  rA  r  r   r   r   rb  )r   r   r  r4  r)   _get_is_nameless_toggleZ!Generator._get_is_nameless_toggle  s    9	;;;66tCyAA||%%BB3GG=BI//S	:\\++==cB
Z((F,?,?
,K,K=BI//S	:9=	++DI6r,   c               r   r   r&   r'   r(   r)   r*   r+     rH  r,   c                	sX   VP                  R 4      RJ ;'       gQ    VP                  R4      R8H  ;'       g5    V P                  P                  P                  WP                  R4      4      pV'       g   V P                  ! V3/ VB # \
        P                  ! V\        P                  4      pV'       dJ   \
        P                  ! V4      '       d.   \        P                  ! V4      '       g   V P                  V4      # RVR &   . p\        P                  ! WP                  P                  P                  V4      R7      p. ROpVP                  4       pV F  p	VP!                  V	R4       K  	  V F  p
W8X  d   V P                  ! V
3/ VB pMV P                  ! V
3/ VB pV'       dM   V'       dE   V P"                  R8X  d4   VP%                  \&        P(                  ! \*        P,                  4      4       VP/                  V4       K  	  VP/                  V P0                  ! V3/ VB 4       V# )	
readingRowTr   detailedWhereAmIrj  )Zclip_to_windowNr   )rY  rZ  r[  )r   r<   r  Zshould_read_full_rowr  r   Zfind_ancestorr   Zis_table_rowr   Zis_layout_onlyr   r   Zget_showing_cells_in_same_rowZis_spreadsheet_cellZcopyZpopr;   r  r   ZRegionr
   ZTABLE_CELL_DELIMITER_BRAILLEr  ri  )r   r   r   Zpresent_allZrowr   ZcellsZdo_not_includeZother_cell_argsZargZcellZcell_resultrL  r)   _generate_table_cell_rowZ"Generator._generate_table_cell_row  s    hh|,4 V Vxx%);;V V||%%::3@TU 	 11#>>>$$S+*B*BC8$$S))+2L2LS2Q2Q==%%!\55 6 6 J J3 OQ @))+!CT* " D{"<<TJTJ"<<TU_Uv$**	*Agnn->-[-[\]MM+&  	d55cBTBCr,   c               r   r   r&   r'   r(   r)   r*   r+   <  s       
	r,   c                	s   V P                  V4      '       g   . # . p\        P                  ! V4      pV'       dR   TP                  \        P
                  ! V^ ,          4      ;'       g    \        P                  ! V^ ,          4      4       V# r{  )r  r   get_column_headersr  r   r   r   rb  )r   r   r   r   headersr  r)   -_generate_column_header_if_toggle_and_no_textZ7Generator._generate_column_header_if_toggle_and_no_text;  sj     ++C00I,,S1MM(++GAJ7ZZ6;N;NwWXz;Z[r,   c               r   r   r&   r'   r(   r)   r*   r+   M  s       
	r,   c                	s   V P                   P                  P                  V4      p\        P                  ! V4      '       d   \
        P                  ! V4      '       g   V P                  ! V3/ VB # \
        P                  ! V4       Uu0 uF  p\
        P                  ! V4      kK  	  ppR P                  \        R V4      4      pV'       g   V P                  ! V3/ VB # V.# u upi )ra  c                s    V # r   r&   r|  ro  r)   r}  ZKGenerator._generate_real_active_descendant_displayed_text.<locals>.<lambda>X  s    qr,   )r<   r  r  r   r   r   rO  rd  rc  r   rJ  rx  )r   r   r   Zradry  ZcontentZrvr/  r)   /_generate_real_active_descendant_displayed_textZ9Generator._generate_real_active_descendant_displayed_textL  s     ll$$66s;))#..83K3KC3P3P..s;d;;191G1G1LM1LA8$$Q'1LMXXf['23..s;d;;t	 Ns   	C$c               r   r   r&   r'   r(   r)   r*   r+   ^  s     & && 
	&r,   c                	s   VP                  R 4      '       d   V P                  V4      '       g   . # . pVP                  R4      '       d'   \        P                  ! WP                  R4      4      pM\        P                  ! V4      p. pV F  pV P                  V4      pV'       d8   V^ ,          P                  4       '       d   VP                  V^ ,          4       KS  V P                  V4      pV'       g   Kn  V^ ,          P                  4       '       g   K  VP                  V^ ,          4       K  	  V'       g   V# RP                  V4      pV P                  V4      '       g   V P                  V\        P                  P                  R7      p	V P                  R8X  dB   \        P                   \        P"                  8X  d   VP                  R4      R	9  d   V RV	 2pMV P                  R8X  d   V RV	 2pVP                  V4       V# 
r  rk  rj  z. r  r<  r   ra  r   )ZbasicWhereAmIr  )r   r  r   Zget_new_column_headersr  r  re  r  rd  rJ  r   r   r>   rK   r;   r   speechVerbosityLevelVERBOSITY_LEVEL_VERBOSE
r   r   r   r   r  r   Zheaderr   r_  Zrole_string
   &&,       r)   "_generate_table_cell_column_headerZ,Generator._generate_table_cell_column_header]  s    88L!!$*F*Fs*K*KI88I44S((::NOG005GF11&9DQd1g&226:4DGMMOOMM$q'*  Myy ++C0066sAYAY6ZKzzX%00H4T4TTHH\*2WW"V1[M2Dy(q.dr,   c               r   r   r&   r'   r(   r)   r*   r+     rH  r,   c                	s   VP                  R 4      '       d   . # . pVP                  R4      '       d'   \        P                  ! WP                  R4      4      pM\        P                  ! V4      p. pV F  pV P	                  V4      pV'       d8   V^ ,          P                  4       '       d   VP                  V^ ,          4       KS  V P                  V4      pV'       g   Kn  V^ ,          P                  4       '       g   K  VP                  V^ ,          4       K  	  V'       g   V# RP                  V4      pV P                  V\        P                  P                  R7      p	V P                  R8X  dB   \        P                  \        P                   8X  d   VP                  R4      R	9  d   V RV	 2pMV P                  R8X  d   V RV	 2pVP                  V4       V# r  )r   r   Zget_new_row_headersZget_row_headersr  re  r  rd  rJ  r   r   r>   r   r;   r   r  r  r  r  r)   _generate_table_cell_row_headerZ)Generator._generate_table_cell_row_header  so    88L!!I88I11#xx
7KLG--c2GF11&9DQd1g&226:4DGMMOOMM$q'*  Myy 33Cejj>S>S3T::!,,0P0PP88L)1VVq.ZZ9$V1[M*Ddr,   c               r   r   r&   r'   r(   r)   r*   r+     s     	 		 
		r,   c                	sH    \         P                  ! V4      pV'       g   . # V.# r   )r   Z&get_presentable_sort_order_from_headerr  r   r)   _generate_table_sort_orderZ$Generator._generate_table_sort_order  s$     DDSII}r,   c                	s   \         P                  ! VR 4      pRV9   d   VP                  R4      # \         P                  ! V4      '       g5   \         P                  ! V4      ;'       g    \
        P                  ! V4      # \        \         P                  ! V\        P                  4      4      p\        V4      ^8X  d   \
        P                  ! V^ ,          4      # V P                  P                  P                  V4      pT;'       g;    V P                  P                  P                  \         P                  ! V^ 4      4      p\        V4      ^8X  dC   \         P                  ! V^ ,          4      ;'       g    \
        P                  ! V^ ,          4      # \         P                  ! V4      ;'       g    \
        P                  ! V4      # )FZ	valuetext)r   r  r   rO  r   r   rb  rw  rc  r   Zis_text_inputr   r<   r  r-  Z	get_child)r   r   r  ZchildrenZselecteds   &&   r)   _get_combo_box_valueZGenerator._get_combo_box_value  sF   ,,S%8%99[))'',,$$S)EEV-@-@-EE..sK4M4MNOx=A&&x{33<<));;C@cct||55GGHZHZ[^`aHbcx=A$$Xa[1UUV5H5HRS5UU  %AA)<)<S)AAr,   c               r   r   r&   r'   r(   r)   r*   r+     rN  r,   c                	sX   \         P                  ! WP                  R 4      4      '       d   V P                  V4      pV.# \         P                  ! WP                  R 4      4      '       d   \         P
                  ! V4      '       g   . # \        P                  ! V4      pV'       d   V.# . # r  )r   Zis_combo_boxr   r  r%  Z
is_focusedr   Zget_current_value_text)r   r   r   Zvaluer   r  r)   _generate_valueZGenerator._generate_value  s     ##C&)9::--c2E7N##C&)9::;CYCYZ]C^C^I//48O	r,   c               r   r   r&   r'   r(   r)   r*   r+     s     	 		 
		r,   c                	sF    \         P                  ! V4      pVe   V R2.# . # )NZ%)r   rq  )r   r   r   rs  r   r)   r   Z'Generator._generate_value_as_percentage  s-     ..s3iqM?"	r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z5Provides a default/role-agnostic presentation of obj.r&   r   r   r)   r   Z(Generator._generate_default_presentation  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z6Generates presentation for the accelerator-label role.r&   r   r   r)   _generate_accelerator_labelZ%Generator._generate_accelerator_label  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z*Generates presentation for the alert role.r&   r   r   r)   r?   ZGenerator._generate_alert  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z.Generates presentation for the animation role.r&   r   r   r)   r@   ZGenerator._generate_animation
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z0Generates presentation for the application role.r&   r   r   r)   _generate_applicationZGenerator._generate_application  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z*Generates presentation for the arrow role.r&   r   r   r)   _generate_arrowZGenerator._generate_arrow  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   %  r   r,   c                r   )z,Generates presentation for the article role.r&   r   r   r)   rA   ZGenerator._generate_article%  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   .  r   r,   c                r   )zJGenerates presentation for the article role when the article is in a feed.r&   r   r   r)   rB   Z#Generator._generate_article_in_feed.  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   7  r   r,   c                r   )z*Generates presentation for the audio role.r&   r   r   r)   _generate_audioZGenerator._generate_audio7  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   @  r   r,   c                r   )z1Generates presentation for the autocomplete role.r&   r   r   r)   _generate_autocompleteZ Generator._generate_autocomplete@  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   I  r   r,   c                r   )z0Generates presentation for the block-quote role.r&   r   r   r)   rD   ZGenerator._generate_block_quoteI  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   R  r   r,   c                r   )z-Generates presentation for the calendar role.r&   r   r   r)   _generate_calendarZGenerator._generate_calendarR  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   [  r   r,   c                r   )z+Generates presentation for the canvas role.r&   r   r   r)   rE   ZGenerator._generate_canvas[  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   d  r   r,   c                r   )z,Generates presentation for the caption role.r&   r   r   r)   rF   ZGenerator._generate_captiond  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   m  r   r,   c                r   )z*Generates presentation for the chart role.r&   r   r   r)   _generate_chartZGenerator._generate_chartm  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   v  r   r,   c                r   )z.Generates presentation for the check-box role.r&   r   r   r)   rH   ZGenerator._generate_check_boxv  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z4Generates presentation for the check-menu-item role.r&   r   r   r)   rI   Z#Generator._generate_check_menu_item  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z2Generates presentation for the color-chooser role.r&   r   r   r)   rJ   Z!Generator._generate_color_chooser  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z2Generates presentation for the column-header role.r&   r   r   r)   rL   Z!Generator._generate_column_header  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z.Generates presentation for the combo-box role.r&   r   r   r)   rM   ZGenerator._generate_combo_box  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z,Generates presentation for the comment role.r&   r   r   r)   rO   ZGenerator._generate_comment  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z5Generates presentation for the content-deletion role.r&   r   r   r)   rP   Z$Generator._generate_content_deletion  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z6Generates presentation for the content-insertion role.r&   r   r   r)   rQ   Z%Generator._generate_content_insertion  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z0Generates presentation for the date-editor role.r&   r   r   r)   _generate_date_editorZGenerator._generate_date_editor  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z/Generates presentation for the definition role.r&   r   r   r)   rR   ZGenerator._generate_definition  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z5Generates presentation for the description-list role.r&   r   r   r)   rT   Z$Generator._generate_description_list  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z5Generates presentation for the description-term role.r&   r   r   r)   rV   Z$Generator._generate_description_term  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z6Generates presentation for the description-value role.r&   r   r   r)   rX   Z%Generator._generate_description_value  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z2Generates presentation for the desktop-frame role.r&   r   r   r)   _generate_desktop_frameZ!Generator._generate_desktop_frame  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z1Generates presentation for the desktop-icon role.r&   r   r   r)   _generate_desktop_iconZ Generator._generate_desktop_icon  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the dial role.r&   r   r   r)   rY   ZGenerator._generate_dial  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z+Generates presentation for the dialog role.r&   r   r   r)   rZ   ZGenerator._generate_dialog  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z3Generates presentation for the directory_pane role.r&   r   r   r)   _generate_directory_paneZ"Generator._generate_directory_pane  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z2Generates presentation for document-related roles.r&   r   r   r)   _generate_documentZGenerator._generate_document  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   !  r   r,   c                r   )z3Generates presentation for the document-email role.r&   r   r   r)   r[   Z"Generator._generate_document_email!  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   *  r   r,   c                r   )z3Generates presentation for the document-frame role.r&   r   r   r)   r\   Z"Generator._generate_document_frame*  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   3  r   r,   c                r   )z:Generates presentation for the document-presentation role.r&   r   r   r)   r]   Z)Generator._generate_document_presentation3  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   <  r   r,   c                r   )z9Generates presentation for the document-spreadsheet role.r&   r   r   r)   r^   Z(Generator._generate_document_spreadsheet<  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   E  r   r,   c                r   )z2Generates presentation for the document-text role.r&   r   r   r)   r_   Z!Generator._generate_document_textE  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   N  r   r,   c                r   )z1Generates presentation for the document-web role.r&   r   r   r)   r`   Z Generator._generate_document_webN  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   W  r   r,   c                r   z1Generates presentation for the dpub section role.r&   r   r   r)   ra   Z!Generator._generate_dpub_landmarkW  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   `  r   r,   c                r   r  r&   r   r   r)   rb   Z Generator._generate_dpub_section`  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   i  r   r,   c                r   )z1Generates presentation for the drawing-area role.r&   r   r   r)   _generate_drawing_areaZ Generator._generate_drawing_areai  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   r  r   r,   c                r   )z,Generates presentation for the editbar role.r&   r   r   r)   rc   ZGenerator._generate_editbarr  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   {  r   r,   c                r   )z-Generates presentation for the embedded role.r&   r   r   r)   rd   ZGenerator._generate_embedded{  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z*Generates presentation for the entry role.r&   r   r   r)   re   ZGenerator._generate_entry  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the feed role.r&   r   r   r)   rf   ZGenerator._generate_feed  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z1Generates presentation for the file-chooser role.r&   r   r   r)   _generate_file_chooserZ Generator._generate_file_chooser  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z+Generates presentation for the filler role.r&   r   r   r)   _generate_fillerZGenerator._generate_filler  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z1Generates presentation for the font-chooser role.r&   r   r   r)   _generate_font_chooserZ Generator._generate_font_chooser  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z+Generates presentation for the footer role.r&   r   r   r)   rh   ZGenerator._generate_footer  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z-Generates presentation for the footnote role.r&   r   r   r)   rg   ZGenerator._generate_footnote  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the form role.r&   r   r   r)   ri   ZGenerator._generate_form  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z*Generates presentation for the frame role.r&   r   r   r)   rj   ZGenerator._generate_frame  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z/Generates presentation for the glass-pane role.r&   r   r   r)   _generate_glass_paneZGenerator._generate_glass_pane  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z-Generates presentation for the grouping role.r&   r   r   r)   rk   ZGenerator._generate_grouping  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z+Generates presentation for the header role.r&   r   r   r)   rl   ZGenerator._generate_header  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z,Generates presentation for the heading role.r&   r   r   r)   rm   ZGenerator._generate_heading  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z3Generates presentation for the html-container role.r&   r   r   r)   _generate_html_containerZ"Generator._generate_html_container  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the icon role.r&   r   r   r)   rn   ZGenerator._generate_icon  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z*Generates presentation for the image role.r&   r   r   r)   rp   ZGenerator._generate_image  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z.Generates presentation for the image-map role.r&   r   r   r)   _generate_image_mapZGenerator._generate_image_map  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z-Generates presentation for the info-bar role.r&   r   r   r)   rq   ZGenerator._generate_info_bar  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   &  r   r,   c                r   )z8Generates presentation for the input-method-window role.r&   r   r   r)   _generate_input_method_windowZ'Generator._generate_input_method_window&  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   /  r   r,   c                r   )z3Generates presentation for the internal-frame role.r&   r   r   r)   rr   Z"Generator._generate_internal_frame/  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   8  r   r,   c                r   )z*Generates presentation for the label role.r&   r   r   r)   rs   ZGenerator._generate_label8  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   A  r   r,   c                r   )z-Generates presentation for the landmark role.r&   r   r   r)   ru   ZGenerator._generate_landmarkA  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   J  r   r,   c                r   )z1Generates presentation for the layered-pane role.r&   r   r   r)   rv   Z Generator._generate_layered_paneJ  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   S  r   r,   c                r   )z.Generates presentation for the level-bar role.r&   r   r   r)   rx   ZGenerator._generate_level_barS  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   \  r   r,   c                r   )z)Generates presentation for the link role.r&   r   r   r)   rw   ZGenerator._generate_link\  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   e  r   r,   c                r   )z)Generates presentation for the list role.r&   r   r   r)   ry   ZGenerator._generate_liste  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   n  r   r,   c                r   )z-Generates presentation for the list-box role.r&   r   r   r)   rz   ZGenerator._generate_list_boxn  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   w  r   r,   c                r   )z.Generates presentation for the list-item role.r&   r   r   r)   r{   ZGenerator._generate_list_itemw  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z(Generates presentation for the log role.r&   r   r   r)   _generate_logZGenerator._generate_log  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the mark role.r&   r   r   r)   r   ZGenerator._generate_mark  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z,Generates presentation for the marquee role.r&   r   r   r)   _generate_marqueeZGenerator._generate_marquee  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the math role.r&   r   r   r)   r|   ZGenerator._generate_math  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z2Generates presentation for the math-enclosed role.r&   r   r   r)   r}   Z!Generator._generate_math_enclosed  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z0Generates presentation for the math-fenced role.r&   r   r   r)   r~   ZGenerator._generate_math_fenced  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z2Generates presentation for the math-fraction role.r&   r   r   r)   r   Z!Generator._generate_math_fraction  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z5Generates presentation for the math-multiscript role.r&   r   r   r)   r   Z$Generator._generate_math_multiscript  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z.Generates presentation for the math-root role.r&   r   r   r)   r   ZGenerator._generate_math_root  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z-Generates presentation for the math-row role.r&   r   r   r)   r   ZGenerator._generate_math_row  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z9Generates presentation for the math script subsuper role.r&   r   r   r)   r   Z(Generator._generate_math_script_subsuper  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z:Generates presentation for the math script underover role.r&   r   r   r)   r   Z)Generator._generate_math_script_underover  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z/Generates presentation for the math-table role.r&   r   r   r)   r   ZGenerator._generate_math_table  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z)Generates presentation for the menu role.r&   r   r   r)   r   ZGenerator._generate_menu  r   r,   c               r   r   r&   r'   r(   r)   r*   r+     r   r,   c                r   )z-Generates presentation for the menu-bar role.r&   r   r   r)   _generate_menu_barZGenerator._generate_menu_bar  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z.Generates presentation for the menu-item role.r&   r   r   r)   r   ZGenerator._generate_menu_item	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z1Generates presentation for the notification role.r&   r   r   r)   r   Z Generator._generate_notification	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z0Generates presentation for the option-pane role.r&   r   r   r)   _generate_option_paneZGenerator._generate_option_pane	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   "	  r   r,   c                r   )z)Generates presentation for the page role.r&   r   r   r)   r   ZGenerator._generate_page"	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   +	  r   r,   c                r   )z-Generates presentation for the page-tab role.r&   r   r   r)   r   ZGenerator._generate_page_tab+	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   4	  r   r,   c                r   )z2Generates presentation for the page-tab-list role.r&   r   r   r)   _generate_page_tab_listZ!Generator._generate_page_tab_list4	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   =	  r   r,   c                r   )z*Generates presentation for the panel role.r&   r   r   r)   r   ZGenerator._generate_panel=	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   F	  r   r,   c                r   )z.Generates presentation for the paragraph role.r&   r   r   r)   r   ZGenerator._generate_paragraphF	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   O	  r   r,   c                r   )z2Generates presentation for the password-text role.r&   r   r   r)   r   Z!Generator._generate_password_textO	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   X	  r   r,   c                r   )z/Generates presentation for the popup-menu role.r&   r   r   r)   _generate_popup_menuZGenerator._generate_popup_menuX	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   a	  r   r,   c                r   )z1Generates presentation for the progress-bar role.r&   r   r   r)   r   Z Generator._generate_progress_bara	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   j	  r   r,   c                r   )z0Generates presentation for the push-button role.r&   r   r   r)   r   ZGenerator._generate_push_buttonj	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   s	  r   r,   c                r   )z5Generates presentation for the push-button-menu role.r&   r   r   r)   _generate_push_button_menuZ$Generator._generate_push_button_menus	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   |	  r   r,   c                r   )z1Generates presentation for the radio-button role.r&   r   r   r)   r   Z Generator._generate_radio_button|	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z4Generates presentation for the radio-menu-item role.r&   r   r   r)   r   Z#Generator._generate_radio_menu_item	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z+Generates presentation for the rating role.r&   r   r   r)   _generate_ratingZGenerator._generate_rating	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z4Generates presentation for the region landmark role.r&   r   r   r)   r   ZGenerator._generate_region	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z.Generates presentation for the root-pane role.r&   r   r   r)   r   ZGenerator._generate_root_pane	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z/Generates presentation for the row-header role.r&   r   r   r)   r   ZGenerator._generate_row_header	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z*Generates presentation for the ruler role.r&   r   r   r)   _generate_rulerZGenerator._generate_ruler	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z/Generates presentation for the scroll-bar role.r&   r   r   r)   r   ZGenerator._generate_scroll_bar	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z0Generates presentation for the scroll-pane role.r&   r   r   r)   r   ZGenerator._generate_scroll_pane	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z,Generates presentation for the section role.r&   r   r   r)   r   ZGenerator._generate_section	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z.Generates presentation for the separator role.r&   r   r   r)   r   ZGenerator._generate_separator	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z+Generates presentation for the slider role.r&   r   r   r)   r   ZGenerator._generate_slider	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z0Generates presentation for the spin-button role.r&   r   r   r)   r   ZGenerator._generate_spin_button	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z/Generates presentation for the split-pane role.r&   r   r   r)   r   ZGenerator._generate_split_pane	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   	  r   r,   c                r   )z+Generates presentation for the static role.r&   r   r   r)   r   ZGenerator._generate_static	  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z/Generates presentation for the status-bar role.r&   r   r   r)   r   ZGenerator._generate_status_bar
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z.Generates presentation for the subscript role.r&   r   r   r)   r   ZGenerator._generate_subscript
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z/Generates presentation for the suggestion role.r&   r   r   r)   r   ZGenerator._generate_suggestion
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z0Generates presentation for the superscript role.r&   r   r   r)   r   ZGenerator._generate_superscript
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   '
  r   r,   c                r   )z+Generates presentation for the switch role.r&   r   r   r)   r   ZGenerator._generate_switch'
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   0
  r   r,   c                r   )z*Generates presentation for the table role.r&   r   r   r)   r   ZGenerator._generate_table0
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   9
  r   r,   c                r   )z/Generates presentation for the table-cell role.r&   r   r   r)   r   ZGenerator._generate_table_cell9
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   B
  r   r,   c                r   )zIGenerates presentation for the table-cell role in the context of its row.r&   r   r   r)   r   Z%Generator._generate_table_cell_in_rowB
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   K
  r   r,   c                r   )z8Generates presentation for the table-column-header role.r&   r   r   r)   _generate_table_column_headerZ'Generator._generate_table_column_headerK
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   T
  r   r,   c                r   )z.Generates presentation for the table-row role.r&   r   r   r)   r   ZGenerator._generate_table_rowT
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   ]
  r   r,   c                r   )z5Generates presentation for the table-row-header role.r&   r   r   r)   _generate_table_row_headerZ$Generator._generate_table_row_header]
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   f
  r   r,   c                r   )z6Generates presentation for the tearoff-menu-item role.r&   r   r   r)   r   Z%Generator._generate_tearoff_menu_itemf
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   o
  r   r,   c                r   )z-Generates presentation for the terminal role.r&   r   r   r)   r   ZGenerator._generate_terminalo
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   x
  r   r,   c                r   )z)Generates presentation for the text role.r&   r   r   r)   r   ZGenerator._generate_textx
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z*Generates presentation for the timer role.r&   r   r   r)   _generate_timerZGenerator._generate_timer
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z.Generates presentation for the title-bar role.r&   r   r   r)   _generate_title_barZGenerator._generate_title_bar
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z2Generates presentation for the toggle-button role.r&   r   r   r)   r   Z!Generator._generate_toggle_button
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z-Generates presentation for the tool-bar role.r&   r   r   r)   r   ZGenerator._generate_tool_bar
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z-Generates presentation for the tool-tip role.r&   r   r   r)   r   ZGenerator._generate_tool_tip
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z)Generates presentation for the tree role.r&   r   r   r)   r   ZGenerator._generate_tree
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z.Generates presentation for the tree-item role.r&   r   r   r)   r   ZGenerator._generate_tree_item
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z/Generates presentation for the tree-table role.r&   r   r   r)   _generate_tree_tableZGenerator._generate_tree_table
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z,Generates presentation for the unknown role.r&   r   r   r)   _generate_unknownZGenerator._generate_unknown
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z*Generates presentation for the video role.r&   r   r   r)   _generate_videoZGenerator._generate_video
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z-Generates presentation for the viewport role.r&   r   r   r)   _generate_viewportZGenerator._generate_viewport
  r   r,   c               r   r   r&   r'   r(   r)   r*   r+   
  r   r,   c                r   )z+Generates presentation for the window role.r&   r   r   r)   r   ZGenerator._generate_window
  r   r,   )r=   r   r;   r<   )gffffff?)NN)r   Z
__module__Z__qualname__Z__firstlineno____doc__r   Z__annotations__r   r   r   r   r   r   r   r   r   r   r    r!   r   ZLockr   r   Zstaticmethodr   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r   r   r)  r+  r0  r2  r5  r9  r:  r   r   r   r   rF  rG  rM  rP  r   rQ  rT  r   rV  rW  rX  r^  r`  rd  r  rg  rh  ri  rl  rm  r   rp  rv  rz  r  r  rr  r   r  r  r  r  r  r  r  r  r  r  r   r   r  r?   r@   r  r  rA   rB   r  r  rD   r  rE   rF   r  rH   rI   rJ   rL   rM   rO   rP   rQ   r  rR   rT   rV   rX   r  r  rY   rZ   r  r  r[   r\   r]   r^   r_   r`   ra   rb   r  rc   rd   re   rf   r  r  r  rh   rg   ri   rj   r  rk   rl   rm   r  rn   rp   r  rq   r  rr   rs   ru   rv   rx   rw   ry   rz   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   Z__static_attributes__r&   r,   r)   r   r   B   s   K!!%'d'&(t(!#$#!!"$4$dK'))#%D%!!&(t(-/$d/NNEn
`   @ @,  '"@,
"  B    	 	 ) )V  8       . / /b 0' 0'd  ,  $  8
 	= 	=    (    $    ,   % %N  "  $  "  (  $  (      *  ,  0  0    $    <    \DYR:3@  " % %P       & &P % %N 	 	B&  " 	 	 r,   r   )*r  Z
__future__r   Z__id__Z__version__Z__date__Z__copyright__Z__license__r   r   Zdifflibr   Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   rI  r   r   r   r	   r
   r   r   Zax_hypertextr   Z	ax_objectr   Zax_tabler   Zax_textr   Zax_utilitiesr   Zax_valuer   r   r   r   r&   r,   r)   <module>r     s   8 H #7   # % 	   7E "         %    % i* i*VU 
 % % 'r,   