
    ?gb                        d dl Z d dlmZ d dlZ ej                  dd       d dlmZmZ d dlm	Z	m
Z
 d dl dZg d	Zd
 ed      ddd
gd ed      ddd
gd ed      ddd
gd ed      ddd
gd ed      ddd
gd ed      ddd
gd ed      ddd
gd ed      ddd
gd ed      ddd
gd ed       ddd
gd! ed"      ddd
gd# ed$      ddd
gd% ed&      ddd
gd' ed(      ddd
gd) ed*      ddd
gd+ ed,      ddd
gd- ed.      ddd
gd/ ed0      ddd
gd1 ed2      ddd
gd3 ed4      ddd
gd5 ed6      ddd
gd7 ed8      ddd
gd9 ed:      ddd
gd; ed<      dd=d>gd? ed@      dd=d>gdA edB      ddCd
ggZ ed dD      \  ZZZZZdE edF      gdG edH      ggZ ed dI      \  ZZdJ ZdRdKZ G dL dM      Z G dN dOej8                        Z G dP dQe
      Zy)S    N)
cmp_to_keyGtkz3.0)Gior   )SidePageSettingsWidget)*org.cinnamon.gestures)enabledswipe-percent-thresholdpinch-percent-threshold DisabledFnoneWORKSPACE_NEXTzSwitch to right workspaceTWORKSPACE_PREVIOUSzSwitch to left workspaceTOGGLE_EXPOz"Show the workspace selector (Expo)TOGGLE_OVERVIEWz Show the window selector (Scale)MINIMIZEzMinimize windowMAXIMIZEzMaximize windowCLOSEzClose windowWINDOW_WORKSPACE_NEXTzMove window to right workspaceWINDOW_WORKSPACE_PREVIOUSzMove window to left workspace
FULLSCREENzMake window fullscreenUNFULLSCREENzExit window fullscreenPUSH_TILE_UPzPush tile upPUSH_TILE_DOWNzPush tile downPUSH_TILE_LEFTzPush tile leftPUSH_TILE_RIGHTzPush tile rightTOGGLE_DESKTOPzShow desktop	VOLUME_UPz	Volume upVOLUME_DOWNzVolume downTOGGLE_MUTEzVolume muteMEDIA_PLAY_PAUSEzToggle Play / Pause
MEDIA_NEXTz
Next trackMEDIA_PREVIOUSzPrevious trackZOOM_INzZoom desktop inslider50ZOOM_OUTzZoom desktop outEXECzRun a commandentry   startzTrigger at gesture startendzTrigger at gesture end   c                 ~    | j                  d      }t        |      dk(  r|d   d|d   fS t        |      dk(  r|S g dS )N::r/   r   r         )r   r   r   )splitlen)stringpiecess     </usr/share/cinnamon/cinnamon-settings/modules/cs_gestures.pyparse_settingr9   <   sH    \\$F
6{aq	2vay))	V	    c                 4    | dk(  ry|
| d|d|S | d|S )Nr   r1    )actioncommandphases      r8   setting_to_stringr@   F   s*    |%w66!5))r:   c                   T    e Zd ZdZdZ ed      Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zy)ModulegesturesprefszManage touch gesturesc                 x    t        d      }t        t        d      d||d|       }|| _        d | _        d | _        y )Nzgesture, swipe, pinch, touchGestureszcs-gesturesi0  )module)_r   sidePagegesture_settingsdisabled_box)selfcontent_boxkeywordsrI   s       r8   __init__zModule.__init__T   s>    34AjM=(KQT]ab  $ r:   c                 p    t         j                  d      } j                         } j                  Ut	        j
                  t               _         j                           j                  j                  d j                          j                  j                  d      } j                  	sbt        d       t                j                  _         j                  j!                   j                  j                         t#               } j                  j                  j%                  |d       |j'                  d       t)        j*                  t(        j,                  j.                  dt(        j0                  j2                  d	      }|j5                  |d
d
d       t)        j6                  dt(        j8                  j:                        }|j5                  |ddd       t)        j<                  d
       _        |j5                   j>                  ddd       t)        j@                   j                  j                  d      d
t(        j0                  jB                         _"         jD                  j                  d jF                         |j5                   jD                  ddd       t)        jH                  tK        d      d
t(        j0                  jB                         _&         jL                  j                  d fd       |j5                   jL                  ddd       t)        jH                  tK        d      d
t(        j0                  jB                         _'         jN                  j                  d fd       |j5                   jN                  ddd       t        jP                  jS                         }|jU                  t        d
      }|jW                         }	g dfd}
tY        |	D cg c]  }|tZ        vs| c}t]        |
            }t#               } j                  j                  j_                  |dtK        d             t(        j`                  jc                  t(        jd                  jf                        }|ji                  tK        d      tK        d            }|D ]B  } jk                  |dd      }|stm        | j                  ||       }|jo                  |       D |ji                  tK        d!            }|D ]B  } jk                  |dd"      }|stm        | j                  ||       }|jo                  |       D |ji                  tK        d#            }|D ]B  } jk                  |dd$      }|stm        | j                  ||       }|jo                  |       D |ji                  tK        d%      tK        d            }|D ]B  } jk                  |dd&      }|stm        | j                  ||       }|jo                  |       D t#               } j                  j                  j_                  |d'tK        d(             t(        j`                  jc                  t(        jd                  jf                        }tq        dd&      D ]f  }|ji                  tK        d)      |z        }|D ]B  } jk                  |d'|      }|stm        | j                  ||       }|jo                  |       D h |ji                  tK        d*      tK        d            }|D ]B  } jk                  |d'd&      }|stm        | j                  ||       }|jo                  |       D t#               } j                  j                  j_                  |d+tK        d,             t(        j`                  jc                  t(        jd                  jf                        }|ji                  tK        d,      tK        d            }tq        dd-      D ]I  }|D ]B  } jk                  |d+|      }|stm        | j                  ||       }|jo                  |       D K t#               } j                  j                  j_                  |d.tK        d/             t(        j`                  jc                  t(        jd                  jf                        }|ji                  tK        d0            }ts        tK        d1      d2d      }|jo                  |       |ji                  tK        d3      tK        d4            }tu        tK        d      d2d5tK        d6      tK        d7      d8d9d&d
:	      }|jw                  d;t(        jx                  jz                  d        |jo                  |       tu        tK        d(      d2d<tK        d6      tK        d7      d8d9d&d
:	      }|jw                  d=t(        jx                  jz                  d        |jo                  |        jD                  j}                  d        jL                  j}                  d        jN                  j}                  d       |s&tK        d>      } jL                  j                          n j                  j                  d      s' jD                  j}                  d
       tK        d?      }n]|s[tK        d@      } j                  j                  d      r jN                  j}                  d
        jL                  j                           j                  j                  j                  t(        j                  j                         |r|r|s" j>                  j                  dA dB       d}nd}t         j                   j                  |       y c c}w )CNtouchegg)	schema_idzchanged::enabledr
   zLoading Gestures moduledisabled
      )orientationspacingvalign
margin_topTr   ztouch-disabled-symbolic)	icon_name	icon_sizeF)expand)activeno_show_allhalignnotify::activezCheck again)labelr^   r_   clickedc                 $    j                         S N)on_module_selectedwrL   s    r8   <lambda>z+Module.on_module_selected.<locals>.<lambda>   s    DD[D[D] r:   Disablec                 <    j                   j                  dd      S )Nr
   F)rJ   set_booleanrf   s    r8   rh   z+Module.on_module_selected.<locals>.<lambda>   s    4K`K`KlKlmvx}K~ r:   leftrightupdowninoutc                 f    d}d}t              D ]  \  }}|| v r|}||v s|} ||k  ry||kD  ryy)Nr   r2   )	enumerate)key1key2v1v2ikorders         r8   sort_by_directionz4Module.on_module_selected.<locals>.sort_by_direction   sV    %e, DAqDyDy	 77r:   )keyswipeSwipezSwipe with 2 fingerszTouchscreen onlyr/   )
size_groupzSwipe with 3 fingersr3   zSwipe with 4 fingers   zSwipe with 5 fingersr,   pinchPinchzPinch with %d fingerszPinch with 5 fingerstapTap   tweaksSettingsGeneralzEnable gesturesr	   zActivation thresholdsz"In percentage of the touch surfacer   z20%z80%   P   )step
show_value<   r   (   z;The touchegg package must be installed for gesture support.zGestures are disabledz#The Touchegg service is not runningz<big><b>z
</b></big>)FGLibfind_program_in_pathtest_daemon_aliverJ   r   r   SCHEMAmigrate_settingsconnecton_enabled_changedget_booleanloadedprintSettingsStackrI   stack
add_widgetSettingsPage	add_namedset_spacingr   BoxOrientationVERTICALAlignSTART
pack_startImageIconSizeDIALOGLabeldisabled_labelSwitchCENTERdisabled_page_switchenabled_switch_changedButtonrH   disabled_retry_buttondisabled_page_disable_buttonSettingsSchemaSourceget_defaultlookup	list_keyssortedNON_GESTURE_KEYSr   
add_titled	SizeGroupnewSizeGroupMode
HORIZONTALadd_sectionget_key_labelGestureComboBoxadd_rowrangeGSettingsSwitchGSettingsRangeadd_markPositionTypeTOPset_visibleshowset_transition_typeStackTransitionTypeNONE
set_markupidle_addset_initial_page)rL   	installedaliver
   pageboximagessourceschemaall_keysr}   r~   keysr   sectionra   widgetfingerstextr|   s   `                  @r8   re   zModule.on_module_selected\   s	   --j9	&&(  ($'LL6$BD!!!#!!))*<d>U>UV''33I>{{+,"//DMMMM$$T]]%8%89>DMM))$
;R ''coo&>&>SVS\S\SbSborsCOOCtQ/II(AS\\M`M`aENN5%2"%))4"8DNN4..ua@(+

$:O:O:[:[\e:ftx  BE  BK  BK  BR  BR  )SD%%%--.>@[@[\NN444eUAF),!M:JX\eheneneueu)vD&&&..y:]^NN455ueQG03

9[_hkhqhqhxhx0yD---55iA~NN4<<eUAN..::<G^^FD1F'')H@E (R3cAQ6Q3RXbctXuvD>DMM**4!G*E**3+<+<+G+GHJ&&q)?'@!DVBWXG (**3;(0E0EsWab'( &&q)?'@AG (**3;(0E0EsWab'( &&q)?'@AG (**3;(0E0EsWab'( &&q)?'@!DVBWXG (**3;(0E0EsWab'(  >DMM**4!G*E**3+<+<+G+GHJ A; 
,**1-D+E+OP ,C ..sGWEE  ,UD4I4I3[efFOOF+,
, &&q)?'@!DVBWXG (**3;(0E0EsWab'(  >DMM**4%A**3+<+<+G+GHJ&&qx3E1FGG A; , ,C ..sE7CE  ,UD4I4I3[efFOOF+,,  >DMM**41Z=I**3+<+<+G+GHJ&&q|4G$Q'8%9;RT]^FOOF#&&q)@'A'()M'NPG $AgJ0GIbdefkdlnopunvxz|~  FG  TX  YFOOB 0 0 4 4d;OOF##AgJ0GIbdefkdlnopunvxz|~  FG  TX  YFOOB 0 0 4 4d;OOF#!!--e4""..u5))55e<RSD&&++-&&229=%%11$7,-D:;D$$00;11==dC&&++-//0G0G0L0LMe9**XdV:+FGDDd++T2I Ss   <n3
n3c                    |dk(  r8t         j                  j                         j                  j	                  d       n7t         j                  j                         j                  j	                  d       | j
                  j                  j                  |t        j                  j                         | j
                  j                  j                  t        j                  j                         y )NrS   r   g      ?)r   Applicationr   stack_switcherset_opacityrI   r   set_visible_child_fullr   r   	CROSSFADEr   SLIDE_LEFT_RIGHT)rL   r   s     r8   r   zModule.set_initial_page!  s    :OO'')88DDQGOO'')88DDSI2249P9P9Z9Z[//0G0G0X0XYr:   c                 X    | j                   j                  d|j                                y )Nr
   )rJ   rk   
get_active)rL   r   pspecs      r8   r   zModule.enabled_switch_changed*  s!    )))V5F5F5HIr:   c                 2   	 | j                   j                  | j                         |j	                  d      }| j                   j                  |       | j                          | j                   j                  d| j                         y # t        $ r Y nw xY w)Nr
   r`   )r   disconnect_by_funcr   	TypeErrorr   
set_activere   r   )rL   settingsr~   r
   s       r8   r   zModule.on_enabled_changed-  s    	%%889T9TU &&y1!!,,W5!!!))*:D<W<WX  		s   %B
 
	BBc                 Z   |j                  d      }||d   k7  ry t        d      t        d      t        d      t        d      t        d      t        d      d	}|d
v r)t        |d         |k7  ry |d   }|j                  |d       S |dk(  r t        |d         |k7  ry t        d      |z  S y )N-r   LeftRightUpDownInOutrl   )r   r   r/   r2   r   zTap with %d fingers)r4   rH   intget)rL   r~   gtyper   partsgesture_directions	directions          r8   r   zModule.get_key_label:  s    		#E!H&'i!G*$%dGQvY$%dGAeH> &&58}'aI%)))T::E>58}'*+g55r:   c                     	 t         j                  j                  dt         j                  j                  d d       }|j                  d        y# t        j                  $ r Y yw xY w)Nzunix:abstract=toucheggTF)r   DBusConnectionnew_for_address_syncDBusConnectionFlagsAUTHENTICATION_CLIENT
close_syncr   Error)rL   conns     r8   r   zModule.test_daemon_aliveN  s_    	%%::;S;>;R;R;h;h;?GD OOD!zz 		s   AA A$#A$c                 *   t         j                  j                         }|r|j                  t        d      }|r|j                         }|D ]  }|t        vs| j                  j                  |      }|dk(  sd|v r1dx}}|j                  d      r6|j                  d      \  }}|dk(  r| j                  j                  |d       ||}|dk(  r | j                  j                  || d       | j                  j                  || d| d        y y y )NTr   r1   zEXEC::z::end)r   r   r   r   r   r   r   rJ   
get_string
startswithr4   
set_string)rL   sourcer   r   r~   valaction_stringcustom_strings           r8   r   zModule.migrate_settingsZ  s   ))557]]640F!++-# lC"22"33>>sC"9$8::>>'2;>99S>8M=,2 $ 5 5 @ @b I (,/M(B. 11<<S]OSXBYZ 11<<S]OSUVcUddiBjk'l  r:   N)__name__
__module____qualname__namecategoryrH   commentrO   re   r   r   r   r   r   r   r<   r:   r8   rB   rB   O   sE    DH'(G!C3JZJY(
lr:   rB   c                       e Zd Zd ZddZy)NonScrollingComboBoxc                 J    t        j                  j                  | g|i | y rd   )r   ComboBoxrO   )rL   argskwargss      r8   rO   zNonScrollingComboBox.__init__v  s    d4T4V4r:   Nc                 D    t         j                  j                  | |       y rd   )r   Widgetdo_scroll_event)rL   eventdatas      r8   r  z$NonScrollingComboBox.do_scroll_eventy  s     	

""4/r:   rd   )r  r  r  rO   r  r<   r:   r8   r  r  u  s    50r:   r  c                   J     e Zd Zd	 fd	Zd Zd Zd Zd Zd Zd Z	d Z
 xZS )
r   c                    t         t        |           d| j                  _        i | _        i | _        d | _        d | _        d | _	        d| _
        d| _        || _        || _        t        j                  t        j                   j"                  d      }| j%                  |ddd       t'        |      | _        d| j(                  j                  _        d| j(                  j                  _        t        j                  t        j                   j.                  d      }|j%                  | j(                  ddd       |j%                  |ddd       t        j                  t        j                   j.                  d      }|j1                  |ddd       t3        d      | _        t        j6                         }| j4                  j%                  |d       | j4                  j9                  |d	t:               |j%                  | j4                  ddd       t        j<                  t?        d
      d      | _         t        jB                  | j@                  t        jD                  jF                  dd      | _$        |j%                  | jH                  ddd       t3        d      | _%        t        j6                         }| jJ                  j%                  |d       | jJ                  j9                  |d	tL               t        jB                  | jJ                  t        jD                  jF                  dd      | _'        |j%                  | jN                  ddd       t        jP                  jS                  t        j                   j"                  ddd      | _*        | jT                  jW                  dt        jX                  jZ                  d        | jT                  j]                  dddddt        jX                  j^                         t        j                  t        j                   j.                  d      }	t        j`                  t?        d            }
|	j%                  |
ddd       t        j                  t        j                   j"                  d      }t        j`                  t?        d            }|jc                         je                  d       t        j`                  t?        d            }|jc                         je                  d       |j%                  |ddd       |j%                  | jT                  ddd       |j%                  |ddd       |	j%                  |ddd       |	jg                          t        jB                  |	t        jD                  jF                  dd      | _4        |j%                  | jh                  ddd       | jk                          | j                  jm                  d|z   | jn                         | jo                  ||       | j4                  jm                  d| jp                         | jJ                  jm                  d| jp                         | j@                  jm                  d| jr                         | jT                  jm                  d| jt                         |r7|jw                  | j4                         |jw                  | jJ                         y y )Nr   Fr   )rV   rW   Tg        r   )visibler   zEnter a command)placeholder_textr  rU   )childtransition_typetransition_durationr^   i2   r/   )r  inverteddigits
has_origin
draw_value	value_posSensitivity)ra   Lessz	dim-labelMorez	changed::changedzvalue-changed)<superr   rO   propsmargin
action_map	phase_mapaction_valuecustom_valuephase_valueupdating_from_settingupdating_settingsr   r~   r   r   r   r   r   SettingsLabelra   xalignyalignr   pack_endr  action_comboCellRendererTextadd_attributeACTION_LABEL_COLEntryrH   custom_entryRevealerRevealerTransitionType
SLIDE_DOWNcustom_revealerphase_comboPHASE_LABEL_COLphase_revealerScalenew_with_rangeadjust_ranger   r   r   set_propertiesBOTTOMr   get_style_context	add_classshow_allrange_revealerset_optionsr   on_setting_changedon_my_value_changedon_custom_entry_changedon_range_value_changedr   )rL   ra   r   r~   r   hbox
label_vboxcontrols_vboxrenderer_text	range_boxrange_label
range_hbox
less_label
more_label	__class__s                 r8   rO   zGestureComboBox.__init__  s>   ot-/

  %*"!& ww3??#=#=qIdD!,"5)
"%

"%

WW)A)A1M
djj%:
E5!4COO,D,DaPmUE15 1>,,.$$]D9''v?OP  !2!2E5!DIIq9J7KUYZ"||$2C2C<?<V<V<a<a@C8< >
 	  !5!5ueQG/=,,.##M48&&}foN!ll1A1A;>;U;U;`;`?B7;=
 	  !4!4eUAFII44S__5O5OQTVXZ[\""1c&6&6&:&:DA((26014949363C3C3J3J 	) 	L GG(@(@!L	iia&67[%:WW)C)CQO
YYQvY/
$$&00=YYQvY/
$$&00=j%:d//tQ?j%:Zq9!ll;>;U;U;`;`?B7;=
 	  !4!4eUAFkC/1H1HI#.!!)T-E-EF  D,D,DE!!)T-I-IJ!!/43N3NO!!$"3"34!!$"2"23 r:   c                 |   | j                   ry |j                         }||| j                  k(  r| j                  |   t           | _        | j                  | j                  j                            t           }| j                  | j                  j                            t           }|dk(  r%| j                  j                  t        |             nK|dk(  rF| j                  j                  d       n*|| j                  k(  r| j                  |   t           | _        | j#                          | j%                          y y )Nr'   r+   r   )r5  get_active_iterr;  action_modelACTION_ID_COLr2  ACTION_EXTRA_WIDGET_TYPE_COLACTION_DEFAULT_CUSTOM_VALUE_COLrJ  	set_valuer   r@  set_textrE  phase_modelPHASE_ID_COLr4  update_control_visibilitiesstore_action_settings)rL   r   	tree_itercustom_typedefault_vals        r8   rS  z#GestureComboBox.on_my_value_changed  s   %%**,	 ***$($5$5i$@$O!"//0A0A0Q0Q0STUqr"//0A0A0Q0Q0STUtu(*%%//K0@A G+%%..r24+++#'#3#3I#>|#L ,,.&&( !r:   c                    | j                   dk(  r| j                  j                  d       | j                  j                          | j                  j                  d       | j                  j                          | j
                  j                  d       | j
                  j                          y | j                  | j                  j                            t           }| j                  j                  |       | j                  j                  |       | j                   dk(  }| j                  j                  |       | j                  j                  |       | j                  | j                  j                            t           dk(  }| j
                  j                  |       | j
                  j                  |       y )Nr   Fr*   r'   )r2  rG  set_reveal_childhiderD  rP  rb  r;  ra  ACTION_ALLOW_PHASE_SELECT_COLr   rd  )rL   phase_combo_visiblecustom_entry_visiblerange_visibles       r8   rj  z+GestureComboBox.update_control_visibilities  sc   "007$$&  11%8  %%'007$$&"//0A0A0Q0Q0STUrs''(;<,,-@A#00F:(()=>--.BC))$*;*;*K*K*MNOklpxx''6,,];r:   c                 h    | j                   ry |j                         | _        | j                          y rd   )r5  get_textr3  rk  )rL   r+   s     r8   rT  z'GestureComboBox.on_custom_entry_changed  s)    %%!NN,""$r:   c                     | j                   ry t        | j                  j                               | _        | j                          y rd   )r5  r   rJ  	get_valuer3  rk  )rL   r   s     r8   rU  z&GestureComboBox.on_range_value_changed  s6    %% 1 1 ; ; =>""$r:   c                     d| _         | j                  dk(  r| j                  dk(  ry t        | j                  | j                  | j                        }| j
                  j                  | j                  |       d| _         y )NTr*   r   F)r6  r2  r3  r@   r4  r   r  r~   )rL   r  s     r8   rk  z%GestureComboBox.store_action_settings"  sh    !%&4+<+<+B 1 143D3DdFVFVW  3/!&r:   c                    | j                   ry d| _        t        |j                  |            \  | _        | _        | _        | j                  dk(  rh| j
                  dk7  r)| j                  j                  | j                  d          ncd| _        | j                  j                  | j                  d          n3	 | j                  j                  | j                  | j                            	 | j                  j                  | j                  | j                            | j                  | j                  j                            t           }|dk(  r&| j                   j#                  | j
                         n~|dk(  ry| j
                  dk(  r:| j                  | j                  j                            t$           }t'        |      }nt'        | j
                        }| j(                  j+                  |       | j-                          d| _        y # t        $ r, | j                  j                  | j                  d          Y Vw xY w#  | j                  j                  | j                  d          Y TxY w)NTr*   r   r.   r+   r'   F)r6  r5  r9   r  r2  r3  r4  r;  set_active_iterr0  KeyErrorrE  r1  rb  ra  rd  r@  rg  re  r   rJ  rf  rj  )rL   r   r~   rm  default_valuer  s         r8   rR  z"GestureComboBox.on_setting_changed.  s   !!%)"ANxObObcfOgAh>4,d.>&  B&!!11$//&2IJ$&!!!11$//"2EFG!!11$//$BSBS2TU	D,,T^^D<L<L-MN ''(9(9(I(I(KLMij'!&&t'8'89H$  B& $ 1 1$2C2C2S2S2U VWv w-($++,'',((*%*"-  G!!11$//"2EFG
	D,,T^^E-BCs   :2H -2I 1II*I3c                    t        j                  t        t        t        t        t              | _        t
        D ]-  }| j                  j                  |      | j                  |d   <   / | j                  j                  | j                         | j                  j                  d       t        j                  t        t              | _        t        D ]5  }| j                  j                  |d   |d   g      | j                  |d   <   7 | j                  j                  | j                         | j                  j                  d       y )Nr   r2   )r   	ListStorestrboolrb  ACTIONSappendr0  r;  	set_modelset_id_columnrh  PHASESr1  rE  )rL   optionr?   s      r8   rQ  zGestureComboBox.set_optionsW  s   MM#sD#sC 	JF)-):):)A)A&)IDOOF1I&	J 	##D$5$56''*==c2 	UE'+'7'7'>'>a%PQ(?S'TDNN58$	U 	""4#3#34&&q)r:   )NNN)r  r  r  rO   rS  rj  rT  rU  rk  rR  rQ  __classcell__)r_  s   @r8   r   r     s.    c4J)*<,%%
''+R*r:   r   )r   Nr.   )
subprocess	functoolsr   girequire_versiongi.repositoryr   r   SettingsWidgetsr   r   xapp.GSettingsWidgetsr   r   rH   r  r   rc  r>  rr  rd  re  r  ri  rF  r9   r@   rB   r  r  r   r<   r:   r8   <module>r     s      	   5%   " 4 #	   :vr*q45tVRH178$K A:;T62N<=tVRP$%tVR8$%tVR8avr2a @A4QST !$C"DdFTVW1-.fbAQ/0$CQ~&fb9q)*D&"=q)*D&"=+,dFB?q($;!K.%4Am$eVR8Am$dFB7014D1\?D&"5q)*D&"=#$eXt<%&x>Qw3;@ CH  IJ  LM  CN  "?A]_~ a*+,
A&'(

 #(1+ *dl dlL	
03<< 
0e*n e*r:   