Ë
    âß²jç, ã                   ó¾(  — d Z ddœd„Zi dd“di “dg “dd	d
i“di “ddg“dddddœ“dddi“dd“dd“dddi“di dd“dd“dd“dd“d d!“d"d#d$d%dd&d'œ“d(d
“d)d*“d+d“d,d-“d.d/“d0d!“d1d2“d3dd4d5œ“d6d“d7d8“d9d“i d:d%“d;d%“d<d%“d=d“d>d“d?d“d@d“dAd“dBd“dCd%“dDd“dEd“dFd/“dGdH“dIdJ“dKd$“dLdM“¥dNd/dOd$d*dPdJd%g i dHdQdRdSœdTœ¥“dUi dVdW“dXd%“dYdZ“d[d\“d]d“d^d“d_dM“d`d2“dadQ“dbg “dcdd“ded%“dfg “dgd“dhdi“djg “dki “i dldm“dndi“dodi“dpdq“drds“dtdu“dvdw“dxd“dyg “dzdH“d{d“d|g “d}d~“ddH“d€dH“d�d“d‚d“¥“dƒdddd„ddi ddPg d…œ
“d†i dVd“d‡dˆ“d‰d*“dŠd„“d‹dH“dŒdH“d�dH“dŽd%“d�d“d�d“d‘dH“d’dH“d“d“d”dH“d•dH“d–d—“d˜dN“dHdddHdHd™dšœdHdHd›œdœœ¥“d�dHdPdždŸdd d¡d¢œ“d£d“i d¤d¥“d¦d§“d¨d©“dªdR“d«dd¬d­œ“d®d¯d°d°d±œ“d²ddHdd³d/d³d´œd!d&d!d´œdµdµd¶œd·œ“d¸i d¹d“dºdH“d»dH“d¼d½“d¾d¿“dÀdÁ“dÂdÃ“dÄdP“dÅds“dÆd/“dÇd
“dÈdÉ“dÊd“dËdH“dÌds“dÍd°“dÎdÏ“i dÐd*“dÑd-“dÒdN“dÓdŸ“dÔdˆ“dÕd-“dÖd/“d×dH“dØd“dÙd“dÚdÛ“dÜdH“dÝd“dÞd“dßi “dàd
“¥“dádâdãi“däddNdådæœ“dçddg d$dèœdddédêdëœdìœ“díi dîd³“dïdH“dðd“dñg “dò edˆd*¬ó«      “d¸ edˆd¬ô«      “dõ ed*«      “dö ed*«      “d÷d%dddddøœ“d« ed*«      “dùddd%ddHddd*i dddúœ“dû ed&dH¬«      “dü ed*«      “dý edˆ«      “dþ edM«      “dÿ ed8«      “�d  ed8«      “ ed-«       ed8«      d¹di edˆ«      ¥ edJdH¬«       edJdH¬«      �dœ¥“�di �ddH“�dd“�d�d“�ddŸ“�ddN“�d	�d
“�dd/“�dd“�d�d“�dd“�dd“�d�d“�ddH“�dd“�dd“�ddH“�ddH“i �dd“�ddH“�d�d“�d�d“�ddH“�ddH“�d �d!“�d"�d#“�d$d“�d%�d
“�d&dH“�d'd“�d(d“�d)d“�d*d“�d+d“�d,dH“¥i �d-dH“�d.dH“�d/�d0“�d1�d2“�d3�d4“�d5�d6“�d7�d8“�d9dH“�d:d³d³�d;œ“�d<d“�d=dH“�d>d“�d?dH“�d@d
“�dAd“�dBd“�dCd“¥�dDi �dEd
�ddi�ddHi�ddHi�ddi�dFœdHg �dG¢�dHœ�dIg id%dHdd%�dJd
�dKœ�dLœ	¥“�dM�d2dH�dNd/dHg �dO�dO�dOdQddd�dPœddddd
�dQœ�dR�dS�dTœd�dUœ“�dV�dWdHi“�dX�dY�dZdPi�d[�d\i�d]�d^�d_œ�d`�dad�db�dcœ�dd�dedHd�dfœ�dg�d4�d8dHd
�db�dh�diœ�dj�dk�dlœ�dm�dn�dlœ�do�dp�dqœdd�dr�ds�dtœ�d[�duid�d2�dqœ�dvœ“�dwdd�d4d�dxdN�dyddddž�dz�d{d
�d|œ�d}d�d~œ�ddd8ds�d€œ�d�d�d~œ�d3di�d‚ddHdH�dƒœddi�d„œ“¥i �d[i �d…�d†“�d‡�dˆ�d‰d�dŠœ“�d‹�dŒ“�d��dŽ“�d�dˆ“�d�dH“�d‘d“�d’d“�d“�d”“�d•d“�d–�d
“�d—�d˜“�d™d“�dšd½“�d›�d˜“�dœ�d�g““dò�džd�dŸœ“�d dHd%dd%�d¡�d¢�dzd/dd�d£d�d¤œ�d¥di�d¦�d§i�d¨œ“�d©�dª�d«�d¬�d­œ“�d®�d¯d�d°ds�d±�d²œ�d³œ“�d´dddH�dµ�d¶dŸd�d·œ“�d¸i dd“�d¹d“dd“�dºd“�d»d“�d¼d“�d½i “�d¾d
“�d¿d“�dÀ�dÁ“�dÂ�db“�dÃd
“�dÄd“�dÅdŸ“�dÆdH“�dÇds“�dÈd“d³dHdH�dÉœ¥“�dÊd“�dËddPi“�dÌd*�dÍd8dJ�dÎœ“�dÏ�d2ddHdd�d2�dÐ�dÑ�dÒœdä�dÓ�dÒœgdä�dÔ�dÒœd�dÕœi�dÖœ“�d×g ddg g ddHdŸdHddHd�dØ�dÙœ“�dÚd�dÛd³�dÜd*dHdHd
dd³�dÝœ�dÞœ	“�dßi “�dàd“�dádddddHdHi �dâœ“�dãi �däd“�dåd“�dæd“�dçd“�dèdH“�dédH“�dêd“�dëd“�dìdµ“�dídHd�dî�dÍdŸd/�dïœ“�dðd“�dñ�dN“�dòd³“�dód8“�dôd*“�dõ�dö“�d÷i “dddH�dødHdNdˆdHdd�dù�dú�d8dg �dû¢�düœ�dýœ¥“¥i �dþi “�dÿdHi ddHdHdH�d œ�dœ“�ddddi �dœ“�dddd�dœ“�d�ddN�d�d�ddd/g dd�d	œ
“�d
g “�di “�di “�dd*dŸdH�dœ“�di “�ddH“�di “�dd�d�dœ“�ddHg ddH�d�d�dœdg d�dd!ddHg g �dœg d�dœ“�di �dd“�ddH“�dd“dd“�dd“�d¹d“�d �d!ddd�d"œ“�d#d“�d$�d%di“�d&dH“�d'd“�d(dµ“�d)d$“�d*dŸ“�d+dN“�d,dH“�d-�d.““�d/i �d0d“�d1d“�d2d“�d3d“�d4d8“�d5d³“�d6�d7“�d8ds“�d9d“�d:d“�d;d“�d<d“�d=d“�d>d“�d?d/“�d@�dö“�dAd“�dBd*i¥“�dCdJdˆ�dDœ“¥i �dE�dFdd¬�dGœ“�dHd%d!d!�dId%�dJg �dK¢�dLœd¹di�dMœ“�dN�dOd!d/�dPœ“�dQd�dRdPi �dSœ“�dTi “�dU�dVdi“�dW�dXdHi“�dYddHdddd8d!�dZ�d[�d\œ�d]œ�d^dHdi �d_œi�d`œ“�dai �dbds“�dcd“�ddd*“�ded“�df�dg“�dh�di“�djd/“�dkdH“�dlddPdNd-�dmœ“�dnd“�dodN“�dpd“�dqd“�drd“�dsg “�dt�dud³i“�dvd/d8dN�dwœ“d!dˆ�dxœd¹dHi�dyddHg dd-dŸd
�dzœ�d{œ	¥“�ddHd%�d|d¡�d}�d±�d~œ“�dd�d€dHd/dd*d¡�d�d�d‚�dƒ�dƒ�d„œ“�d…i �d†�d‡œ“�dˆ�d‰dHdH�dŠ�d‹œi“�dŒ�d�dŸi“�dŽd�d�d!�d�d�d‘d�d’œ“�d“d�d”d¥�d±�d±g d%�d•dQi �d–œ
“�d—�d˜ddMd³�d™œ“¥ddd�dš�d›œdd�dœœ�d�œdH�džddNdHd
�dŸœddd�d œdHi d�dšddNd�d¡œ�d¢œd!d!d°dHdH�d£�d¤�d
d�d¥ddH�d¦œ	dH�d§d�d¨ddHdg �d©œddg g g d
d%d%d%ddd�dNd³�dªœ�d«œdJ�d¬d�d­œd�d®�d¯œdH�d°d%d¬d
g �d±œ�d²�d³œ¥Z�d´„ Z e«       Z�dµ„ Z e�d¹dd�¬¶«      Z e�d·ddH�¬¶«      Z e�d¸dHdH�¬¶«      Z	 e�d¹dd�¬¶«      Z
 e�dºdHdH�¬¶«      Z�dÚ�d»„Zi �d¼ e�d½«      “�d¾ e�d¿�dÀd�d¹d�¬Á«      “�dÂ e�dÃ�dÄ�dÅd�dÆg�d¹d�¬Ç«      “�dÈ e�dÉ�dÊ�dË«      “�dÌ e�dÍ�dÎ�dË«      “�dÏ e�dÐ�dÑ«      “�dÒ e�dÓ�dÔ�dÕdH�¬Ö«      “�d× e�dØ�dØ�dÙ«      “�dÚ e�dÛ«      “�dÜ e�dÝ�dÞ�dß«      “�dà e�dá�dâddH�¬Ö«      “�dã e�dä�dåd«      “�dæ e�dç«      “�dè e�dé�dê�dë«      “�dì e�dí�dî�dë«      “�dï e�dí�dî�dë«      “�dð e�dñ«      “i �dò e�dó�dô�dõ«      “�dö e�d÷�dø«      “�dù e�dú�dû�dõ«      “�dü e�dý�dý�dþ«      “�dÿ e�d «      “�d e�d�d�d«      “�d e�d�d«      “�d e�d�d�d	«      “�d
 e�d«      “�d e�d�d�d«      “�d e�d�d�d«      “�d e�d�d�d«      “�d e�d«      “�d e�d�d�d«      “�d e�d«      “�d e�d �d!�d"dH�¬#«      “�d$ e�d%�d&ddHdH�¬¶«      “¥i �d' e�d(�d)�d*dH�¬#«      “�d+ e�d,�d-ddH�¬Ö«      “�d. e�d/�d0ddH�¬Ö«      “�d1 e�d2�d3�d4«      “�d5 e�d6�d7�d8«      “�d9 e�d:«      “�d; e�d<�d=�d4«      “�d> e�d?«      “�d@ e�dA�dB�dCdH�¬#«      “�dD e�dE�dF«      “�dG e�dH�dI�dJ«      “�dK e�dL�dMddH�¬Ö«      “�dN e�dO�dP�dQdH�¬#«      “�dR e�dS�dTddH�¬Ö«      “�dU e�dV�dW�dXdH�¬#«      “�dY e�dZ�d[ddH�¬Ö«      “�d\ e�d]�d^�d_dH�¬Ö«      “¥i �d` e�da�dbddH�¬Ö«      “�dc e�dd�de�dfdH�¬#«      “�dg e�dh�diddH�¬Ö«      “�dj e�dk�dl�dm�dn�dog�¬p«      “�dq e�dr�ds�dt�dn�dog�¬p«      “�du e�dv�dw�dx�dn�dog�¬p«      “�dy e�dz�d{ddHd�¬¶«      “�d| e�d}�d~ddHd�¬¶«      “�d e�d€�d�ddHd�¬¶«      “�d‚ e�dƒ�d„ddHd�¬¶«      “�d… e�d†�d‡ddHd�¬¶«      “�dˆ e�d‰�dŠddHd�¬¶«      “�d‹ e�dŒ�d�dd�¬#«      “�dŽ e�d��d��d‘�dn�dog�¬p«      “�d’ e�d“�d”�d•�dn�dog�¬p«      “�d– e�d—�d˜�d™�dn�dog�¬p«      “�dš e�d›�dœ�d��dngdH�¬ž«      “¥i �dŸ e�d �d¡�d¢�dng�¬p«      “�d£ e�d¤�d¥�d¦�d§�d¨g�¬p«      “�d© e�dª�d«�d¦�d§�d¨gdH�¬ž«      “�d¬ e�d­�d®�d¯�d§�d¨g�¬p«      “�d° e�d±�d²�d§�d¨gdH�¬ž«      “�d³ e�d´�dµ�d¶g �d·¢dH�d·d�¬¸«      “�d¹ e�dº�d»�d¼�d§�d¨gdH�¬ž«      “�d½ e�d¾�d¿�d¼�d§�d¨gd�¬À«      “�dÁ e�dÂ�dÃ�dÄ�dÅ�dÆg�¬p«      “�dÇ e�dÈ�dÉ�dÊ�dÅg�¬p«      “�dË e�dÌ�dÍ�dÎ�dÏ�dÐg�¬p«      “�dÑ e�dÒ�dÓ�dÔ�dÕ�dÏg�¬p«      “�dÖ e�d×�dØ�dÙ«      “�dÚ e�dÛ�dÜ�dÝ«      “�dÞ e�dß�dà�dá«      “�dâ e
�dã�dä�då«      “�dæ e
�dç�dè�dé«      “¥i �dê e
�dë�dì�dí«      “�dî e
�dï�dð�dñ«      “�dò e�dó�dô�dõ�dög�¬p«      “�d÷ e�dø�dùd�¬Ö«      “�dú e�dû�dü�dý�dþg�¬p«      “�dÿ e�d �ddd�¬¶«      “�d e�d�d�d�dg�¬p«      “�d e�d�d	�d
�dg�¬p«      “�d e�d�d�d�dg�¬p«      “�d e�d�ddd�¬¶«      “�d e�d�d�d�dg�¬p«      “�d e�d�d�dg�¬p«      “�d e�d�ddd�¬¶«      “�d  e�d!�d"�d#dH�¬Ö«      “�d$ e�d%�d&�d#«      “�d' e�d(�d)ddHd�¬¶«      “�d* e	�d+�d,�d-d�¬Ö«      “¥i �d. e	�d/�d0�d1«      “�d2 e	�d3�d4«      “�d5 e	�d6�d7�d8d�¬Ö«      “�d9 e	�d:�d;d«      “�d< e	�d=�d>d«      “�d? e	�d@�dA�dB�dCd�¬D«      “�dE e	�dF�dG�dB�dHd�¬D«      “�dI e	�dJ�dK�dB�dL�¬M«      “�dN e	�dO�dP�dQ«      “�dR e	�dS�dTdd�¬Ö«      “�dU e	�dV�dWd«      “�dX e	�dY�dZd«      “�d[ e	�d\�d]d«      “�d^ e	�d_�d`�da«      “�db e	�dc�dddd�¬Ö«      “�de e	�df�dgd«      “�dh e	�di�djd«      “¥i �dk e	�dl�dmdd�¬#«      “�dn e	�do�dpdd�¬#«      “�dq e	�dr�dsdd�¬#«      “�dt e	�du�dvdd�¬#«      “�dw e	�dx�dydd�¬#«      “�dz e	�d{�d|ddd�¬¶«      “�d} e	�d~�d�d€«      “�d� e	�d‚�dƒdd�¬Ö«      “�d„ e	�d…�d†d«      “�d‡ e	�dˆ�d‰d�¬Ö«      “�dŠ e	�d‹�dŒ�d�d�¬Ö«      “�dŽ e	�d��d�d�¬Ö«      “�d‘ e	�d’�d“d�¬Ö«      “�d” e	�d•�d–d�¬Ö«      “�d— e	�d˜�d™d�¬Ö«      “�dš e	�d›�dœd�¬Ö«      “�d� e	�dž�dŸd�¬Ö«      “¥i �d  e	�d¡�d¢d�¬Ö«      “�d£ e	�d¤�d¥d«      “�d¦ e	�d§�d¨d«      “�d© e	�dª�d«d«      “�d¬ e	�d­�d®ddd�¬¶«      “�d¯ e	�d°�d±ddd�¬¶«      “�d² e	�d³�d´dd�¬#«      “�dµ e	�d¶�d·dd�¬#«      “�d¸ e	�d¹�dºddd�¬¶«      “�d» e	�d¼�d½dd�¬#«      “�d¾ e	�d¿�dÀdd�¬#«      “�dÁ e	�dÂ�dÃdd�¬#«      “�dÄ e	�dÅ�dÆdd�¬#«      “�dÇ e	�dÈ�dÉddd�¬¶«      “�dÊ e	�dË�dÌd«      “�dÍ e	�dÎ�dÏd«      “�dÐ e	�dÑ�dÒdd�¬Ö«      “¥ e�dÓ�dÔdd�¬Ö«       e�dÕ�dÖd«       e�d×�dØd«      �dÙœ¥Zy(Û  uÈ   Default configuration data for Hermes Agent: DEFAULT_CONFIG and OPTIONAL_ENV_VARS.

Pure-data leaf module â€” must not import from hermes_cli.config. Comments are the user-facing
docs of config.yaml.
T)Úreasoning_effortc                óH   — dddd| i dœ}|rd|d<   |j                  |«       |S )zÖStandard auxiliary-task model block (see DEFAULT_CONFIG["auxiliary"]).

    reasoning_effort=False omits that key (MoA blocks configure depth per slot);
    ``extra`` keys are appended after the standard ones.
    ÚautoÚ )ÚproviderÚmodelÚbase_urlÚapi_keyÚtimeoutÚ
extra_bodyr   ©Úupdate)r
   r   ÚextraÚds       ú?/home/ubuntu/.hermes/hermes-agent/hermes_cli/config_defaults.pyÚ_auxr      s6   € ð  b°bÀRÐT[ÐkmÑn€AÙØ "ˆÐ
ÑØ‡H�HˆU„OØ€Hó    r   r   Ú	providersÚfallback_providersÚfallbackÚmin_switch_reset_secondsé    Úcredential_pool_strategiesÚtoolsetsz
hermes-cliÚdatabaseÚwalN)Újournal_modeÚwal_autocheckpointÚjournal_size_limitÚruntimeÚnofile_soft_limiti   Úmax_concurrent_sessionsÚmax_live_sessionsé   ÚsessionÚterminal_continueÚagentÚ	max_turnsÚbudget_warning_ratioÚrun_budget_secondsÚgateway_timeouti  Úgateway_turn_lease_timeouté   Úagent_cacheé€   i  r   é   )Úmax_sizeÚidle_ttl_secsÚmemory_high_mbÚmax_evictions_per_passÚprotect_recentÚrestart_drain_timeoutÚcron_drain_timeouté   Úrestart_after_turn_timeoutÚbuild_wait_timeoutiX  Úapi_max_retriesé   Úauto_recovery_cyclesÚstream_drain_timeoutg       @Úempty_response_guardg      Ð?)ÚenabledÚcost_threshold_usdÚservice_tierÚfast_auto_secondsé<   Útext_verbosityÚtool_use_enforcementÚexecution_guidanceÚintent_ack_continuationÚstall_guardsÚtask_completion_guidanceÚparallel_tool_call_guidanceÚenvironment_probeÚbot_mode_protocolÚenvironment_hintÚcoding_contextÚcoding_instructionsÚverify_guidanceÚmax_verify_nudgesÚverify_on_stopFÚgateway_timeout_warningi„  Úclarify_timeoutÚgateway_notify_intervalé´   i,  i   é   g     À‚@g      .@)Ú	timeout_sÚpoll_s)Úsession_stall_timeoutÚ#sanitizer_heal_escalation_thresholdÚreconnect_attention_afterÚgateway_auto_continue_freshnessÚ%gateway_startup_restore_drain_timeoutÚgateway_startup_warmup_timeoutÚlocal_stream_stale_timeoutÚimage_input_modeÚdisabled_toolsetsÚreasoning_overridesÚreasoning_echoÚturn_livenessÚterminalÚbackendÚlocalÚ
modal_modeÚdegraded_modeÚwarnÚcwdú.Útemp_dirÚfont_familyr
   Údaemon_term_grace_secondsÚoneshot_completion_wait_secondsÚenv_passthroughÚsync_back_max_bytesl        Ú	home_modeÚshell_init_filesÚauto_source_bashrcÚdocker_imagez*nikolaik/python-nodejs:python3.11-nodejs20Údocker_forward_envÚ
docker_envÚsingularity_imagez3docker://nikolaik/python-nodejs:python3.11-nodejs20Úmodal_imageÚdaytona_imageÚvercel_runtimeÚnode24Úcontainer_cpué   Úcontainer_memoryi   Úcontainer_diski È  Úcontainer_persistentÚdocker_volumesÚdocker_mount_cwd_to_workspaceÚdocker_networkÚdocker_extra_argsÚdocker_shm_sizeÚ1gÚdocker_run_as_host_userÚdocker_snap_compatÚdocker_shared_container_keyÚpersistent_shellÚwebi˜:  )
rg   Úsearch_backendÚextract_backendÚextract_char_limitÚkeyless_fallbackÚkeyless_rescueÚprovider_tierÚcache_enabledÚcache_ttl_minutesÚcache_exempt_hostsÚbrowserÚinactivity_timeoutéx   Úcommand_timeoutÚsnapshot_thresholdÚrecord_sessionsÚheadedÚallow_private_urlsÚengineÚauto_local_for_private_urlsÚcdp_urlÚuse_real_profileÚreal_profile_autocloseÚreal_profile_pinÚallow_unsafe_evaluateÚrestrict_evaluateÚdialog_policyÚmust_respondÚdialog_timeout_szhost.docker.internal)Úmanaged_persistenceÚuser_idÚsession_keyÚadopt_existing_tabÚrewrite_loopback_urlsÚloopback_host_alias)r?   Údeveloper_mode)ÚcamofoxÚextension_controlÚcheckpointsiô  é
   é   é   )r?   Úmax_snapshotsÚmax_total_size_mbÚmax_file_size_mbÚ
auto_pruneÚretention_daysÚmin_interval_hoursÚcontext_file_max_charsÚcontext_file_read_timeoutg      @Úfile_read_max_charsi † Úmcp_discovery_timeoutg      ø?Ú"mcp_single_query_discovery_timeoutÚmcpé   )Úauto_reload_on_config_changeÚdiscovery_concurrencyÚtool_outputiPÃ  iÐ  )Ú	max_bytesÚ	max_linesÚmax_line_lengthÚtool_loop_guardrailsé   )Úexact_failureÚsame_tool_failureÚidempotent_no_progressé2   )Úmax_web_searchesÚmax_subagents)Úwarnings_enabledÚhard_stop_enabledÚ!non_interactive_hard_stop_enabledÚ
warn_afterÚhard_stop_afterÚ	loop_capsÚcompressionr?   Úcheckpoint_requiredÚprogress_noticesÚ	thresholdg      à?Úthreshold_tokensi è Útarget_ratiogš™™™™™É?Ú	tail_modeÚleanÚprotect_last_nÚmin_tail_user_messagesÚmax_attemptsÚproactive_prune_tokensÚ proactive_prune_min_result_charsi@  Ú"proactive_prune_min_reclaim_tokensÚmicro_compactÚmicro_compact_every_n_turnsÚ%micro_compact_defrag_threshold_tokensÚhygiene_hard_message_limitiˆ  Úhygiene_timeout_secondsÚhygiene_total_ceiling_secondsÚ hygiene_failure_cooldown_secondsÚhygiene_max_turn_hold_secondsÚcontext_timeout_secondsÚcontext_total_ceiling_secondsÚprotect_first_nÚabort_on_summary_failureÚcodex_gpt55_autoraiseÚcodex_gpt55_autoraise_noticeÚcodex_app_server_autoÚnativeÚcodex_responses_nativeÚ!codex_responses_compact_thresholdÚin_placeÚmodel_thresholdsÚidle_compact_after_secondsÚprompt_cachingÚ	cache_ttlÚ5mÚ
openroutergÍÌÌÌÌÌä?)Úresponse_cacheÚresponse_cache_ttlÚmin_coding_scoreÚbedrock)r?   Úprovider_filterÚrefresh_intervalÚasyncÚdisabled)Úguardrail_identifierÚguardrail_versionÚstream_processing_modeÚtrace)ÚregionÚ	discoveryÚ	guardrailÚ	auxiliaryÚtransient_retriesÚ	free_onlyÚopenrouter_modelÚstream_only_base_urlsÚvision)Údownload_timeout)Úno_progress_timeoutÚ
skills_hubÚapprovalÚreview)r   r   r   r	   Úapi_modeÚtitle_generation)r?   Úmodel_upgrade_enabledr   r   Úprefer_fast_modelr   r	   r
   r   r   ÚlanguageÚmemory_query_rewriteÚtts_audio_tagsÚtriage_specifierÚkanban_decomposerÚprofile_describerÚ
goal_judge)ÚcuratorÚmonitorÚbackground_reviewÚmoa_referenceÚmoa_aggregatorÚdisplayÚcompactÚpersonalityÚresume_displayÚfullÚresume_exchangesÚresume_max_user_charsÚresume_max_assistant_charséÈ   Úresume_max_assistant_linesÚresume_skip_tool_onlyÚbusy_input_modeÚ	interruptÚbusy_steer_ack_enabledÚcli_multiline_shortcutsÚ	interfaceÚcliÚtui_auto_resume_recentÚresume_last_sessionÚtui_agents_nudgeÚbell_on_completeÚbell_on_promptÚshow_reasoningÚreasoning_fullÚmemory_notificationsÚonÚ background_process_notificationsÚconciseÚ	streamingÚ
timestampsÚtimestamp_formatz%H:%MÚfinal_response_markdownÚstripÚpersistent_outputÚpersistent_output_max_linesÚ cli_rebuild_scrollback_on_redrawÚpersist_promptsÚinline_diffsÚfile_mutation_verifierÚcredits_noticesÚturn_completion_explainerÚ	show_costÚbatteryÚ
focus_viewÚfocus_saved_tool_progressÚallÚskinÚdefaultr  ÚenÚtui_status_indicatorÚkaomojiÚcli_refresh_intervalg      ð?Úvim_modeÚuser_message_preview)Úfirst_linesÚ
last_linesÚinterim_assistant_messagesÚsuppress_warning_notificationsÚshow_commentaryÚtool_progress_commandÚtool_preview_lengthÚfriendly_tool_labelsÚturn_summaryÚspinner_token_flowÚ
accumulateÚcode)ÚtelegramÚdiscordÚslackÚwecom)r   Úcontext_pctrl   )r?   Úfieldsrq  g…ëQ¸Õ?)r?   ÚslugÚrender_modeÚscaleÚunicode_cols)	Útool_progress_groupingÚstatus_phrasesÚreasoning_styleÚephemeral_system_ttlÚ	platformsÚruntime_footerÚ
status_barÚcopy_shortcutÚpetÚ	dashboardé   g      4@)Ú	client_idÚ
portal_url)ÚusernameÚpassword_hashÚpasswordÚsecretÚsession_ttl_secondsÚdrainé+   )ÚscopeÚmin_secret_chars)ÚthemeÚturn_isolationÚcompute_host_heartbeat_secsÚcompute_host_respawn_maxÚshow_token_analyticsÚtrusted_proxiesÚws_ping_intervalÚws_ping_timeoutÚws_orphan_reap_grace_sÚws_orphan_activity_stale_sÚstartup_orphan_sweepÚoauthÚ
basic_authÚ
drain_authÚ
public_urlÚprivacyÚ
redact_piiÚttsÚedgeÚmin_lenÚvoicezen-US-AriaNeuralÚpNInz6obpgDQGcFmaJgBÚeleven_multilingual_v2)Úvoice_idÚmodel_idzgpt-4o-mini-ttsÚalloyiÀ]  )r   r   Úconsent_attestationÚpcm_sample_ratezgemini-2.5-flash-preview-ttsÚKore)r   r   Ú
audio_tagsÚpersona_prompt_fileÚevei ô )r£  r  ÚspeedÚauto_speech_tagsÚoptimize_streaming_latencyÚsample_rateÚbit_ratezvoxtral-mini-tts-2603z$c69964a6-ab8b-4f8a-9465-ec0925096ec8)r   r£  zspeech-02-hdÚEnglish_expressive_narratorz!KittenML/kitten-tts-nano-0.8-int8ÚJasper)r   r   zneuphonic/neutts-air-q4-ggufÚcpu)Ú	ref_audioÚref_textr   Údevicezen_US-lessac-medium)r   rF  rž  Ú
elevenlabsÚopenaiÚgeminiÚxaiÚmistralÚminimaxÚ	kittenttsÚneuttsÚpiperÚ	deepinfraÚsttiØÿÿÿÚbaseg333333ã?g      ð¿)r   r  Úinitial_promptÚvadÚvad_min_silence_msÚno_speech_prob_thresholdÚlogprob_thresholdÚunload_after_idle_secondszwhisper-large-v3-turbo)r   r  z	whisper-1)r   r  r
   Úmax_retrieszvoxtral-mini-latestÚ	scribe_v2)r¤  Úlanguage_codeÚtag_audio_eventsÚdiarize)r?   Úecho_transcriptsr  Úcloud_trim_silenceÚcloud_trim_threshold_dbÚcloud_trim_keep_msrh   Úgroqr¸  r»  rº  r·  rÀ  Úvoice_chat_modeÚchainedÚgpt_livez
gpt-live-1Úmarin)r   r   ÚinstructionsÚ
record_keyzctrl+bÚsubmit_modeÚdirectÚmax_recording_secondsÚauto_ttsÚclient_directÚbeep_enabledÚbeep_volumeg333333Ó?Úthinking_soundÚsilence_thresholdÚsilence_durationg      @Úbarge_inÚbarge_in_grace_secondsÚbarge_in_threshold_multiplierÚstop_phrasesÚstopi   )Úembed_target_bytesÚmax_calls_per_imageÚ	wake_wordÚopenwakewordz
hey hermesÚ
hey_hermes)r   Úinference_frameworkÚ	model_dirÚkeywordÚjarvis)r?   ÚsurfaceÚinput_deviceÚcapturer   ÚphraseÚsensitivityÚconfirmation_framesÚstart_new_sessionÚprofile_routingrë  ÚsherpaÚ	porcupineÚhuman_delayÚoffi   iÄ	  )ÚmodeÚmin_msÚmax_msÚcontextÚ
compressorg      N@g        )r?   Úcooldown_secondsÚlog_every_nÚinfo_log_min_delta_mb)r    Úmemory_trimÚmemoryi˜  i_  )Úmemory_enabledÚuser_profile_enabledÚwrite_approvalÚmemory_char_limitÚuser_char_limitÚnudge_intervalr   Ú
delegationr   r   r	   r  Úrequest_overridesÚcompression_threshold_tokensÚinherit_mcp_toolsetsÚmax_iterationséú   Úmax_summary_charsÚchild_timeout_secondsr   Úmax_concurrent_childrenÚindependent_completionsÚmax_spawn_depthÚorchestrator_enabled)Úoneshot_max_childrenÚsubagent_auto_approveÚ#surface_child_process_notificationsÚprefill_messages_fileÚgoalsÚloopséd   )Úmin_interval_secondsÚ	max_ticksÚself_paced_floor_secondsÚself_paced_ceiling_secondsÚmoazopenai-codexzgpt-5.5)r   r   zdeepseek/deepseek-v4-prozanthropic/claude-opus-4.8)Úreference_modelsÚ
aggregatorr?   )Údefault_presetÚactive_presetÚsave_tracesÚ	trace_dirÚprivacy_filterÚpresetsÚskillsi  P )Úexternal_dirsÚ
create_dirÚproject_discoveryÚtrusted_project_dirsÚ	auto_loadÚtemplate_varsÚinline_shellÚinline_shell_timeoutÚguard_agent_createdÚtier1_advisoryr	  ÚledgerÚledger_max_bytesr%  é¨   é   )r?   Úkeep)	r?   Úinterval_hoursÚmin_idle_hoursÚstale_after_daysÚarchive_after_daysÚconsolidateÚprune_builtinsÚarchive_ttl_daysÚbackupÚhonchoÚtimezonern  )Úrequire_mentionÚfree_response_channelsÚallowed_channelsÚrequire_mention_channelsÚignore_other_user_mentionsÚthread_require_mentionÚchannel_promptsrm  rG  rH  rI  Úauto_threadÚfree_response_auto_threadrL  Úbots_require_inline_mentionÚhistory_backfillÚhistory_backfill_limitÚmissed_message_backfilli`T  )r?   ÚchannelsÚwindow_secondsÚlimitÚmax_dispatchesrã   Ú	reactionsÚ#websocket_liveness_interval_secondsÚ$websocket_liveness_failure_thresholdÚ'websocket_heartbeat_ack_max_age_secondsÚwebsocket_max_latency_secondsÚ#websocket_event_max_silence_secondsi@8  rM  i   g
×£p=
Ç?g¸…ëQ¸®?)zLet me look into that.zOne moment.zChecking on that now.zGive me a sec.zOn it.)r?   Úambient_enabledÚambient_pathÚambient_gainÚ	duck_gainÚspeech_gainÚack_enabledÚack_phrases)Údm_role_auth_guildÚserver_actionsÚallow_any_attachmentÚmax_attachment_bytesÚapproval_mentionsÚ(voice_channel_inactivity_timeout_secondsÚvoice_playback_timeout_secondsÚvoice_fxÚwhatsapprl  )Úrich_messagesÚrich_draftsÚallow_cjk_rich_messages)rX  rM  Úallowed_chatsr   Ú
mattermost)rG  rH  rI  rM  Úmatrix)rG  Úfree_response_roomsÚallowed_roomsÚ	approvalsÚsmartÚdeny)
rý  r
   Ú	cron_modeÚsingle_query_modeÚunattended_modeÚsmart_policyÚdenial_breaker_thresholdrx  Úmcp_reload_confirmÚdestructive_slash_confirmÚcommand_allowlistÚquick_commandsÚplatform_hintsÚplugins)Úhook_callback_timeoutÚload_timeout_secondsÚallow_deprecated_importsÚhooksÚhooks_auto_acceptÚpersonalitiesÚauthÚdevice_code)Úadopt_external_loginsÚcodex_login_flowÚsecurityÚbuiltin)Ú	transportÚtransport_fallbackÚtirith)r?   ÚdomainsÚshared_files)rŸ   Úfake_ip_rangesÚredact_secretsÚ(allow_data_training_tiers_noninteractiver  Úprotected_instruction_filesÚ$protected_instruction_extra_patternsÚtirith_enabledÚtirith_pathÚtirith_timeoutÚtirith_fail_openÚwebsite_blocklistÚacked_advisoriesÚallow_lazy_installsÚcronÚcatch_up_missedÚallow_agent_schedulingÚ	preflightÚmodel_providerÚchronoszhttps://portal.nousresearch.com)r‚  Úcallback_urlÚexpected_audienceÚnas_jwks_urlÚwrap_responseÚdeliveryÚnotifyÚmirror_deliveryÚmax_parallel_jobsÚoutput_retentionÚscript_timeout_secondsÚsession_db_timeout_secondsÚmedia_send_timeout_secondsÚrequire_restart_safe_scopeÚfailure_repeat_alert_hoursé   ÚkanbanÚauto_subscribe_on_createÚnotify_in_gatewayÚdispatch_in_gatewayÚreview_dispatchÚdispatch_interval_secondsÚfailure_limitÚworker_log_rotate_bytesi    Úworker_log_backup_countÚorchestrator_profileÚdefault_assigneeÚmax_in_progressÚmax_in_progress_per_profileÚdispatch_profilesÚauto_decomposeÚauto_decompose_per_tickÚdispatch_stale_timeout_secondsÚreconcile_orphansÚdone_sub_retention_daysÚbot_mode)Úenvelope_ttl_secondsÚturn_wait_secondsÚcode_executionÚproject)rý  Úkernel_idle_timeoutÚmax_session_kernelsÚtoolsé   i   )Úcomputer_useÚsession_searchÚimage_generateÚ	todo_listÚprocess_manageÚcronjob_manageÚdrive_previewÚgui_tourÚdesktop_previewÚannotate_previewÚshow_tipÚdesktop_projectÚclose_terminalÚapply_layoutÚread_terminalÚread_window_belowÚ
focus_pane)r?   Úthreshold_pctÚsearch_default_limitÚmax_search_limitÚlistingÚlisting_max_tokensÚdefer)Útool_searchÚ
connectorsÚloggingÚINFO)ÚlevelÚmax_size_mbÚbackup_countÚmodel_catalogzAhttps://hermes-agent.nousresearch.com/docs/api/model-catalog.json)r?   ÚurlÚttl_minutesr   Úmodel_overridesÚ
models_devrñ  ÚnetworkÚ
force_ipv4Ú
monitoringzhermes-gatewayÚ
production)zservice.namezdeployment.environment.name)r?   Úmetrics_enabledÚdiagnostic_events_enabledÚwarning_error_events_enabledÚexport_interval_secondsÚlogs_export_interval_secondsÚresource_attributesÚotlp)r?   ÚendpointÚheaders_env)Ú
install_idÚgateway_health_exportÚexportÚgatewayÚsignal_interrupt_grace_timeoutÚdelivery_ledgerÚplatform_connect_timeoutÚloop_watchdogÚloop_watchdog_probe_interval_sg      >@Úloop_watchdog_probe_timeout_sg      $@Úloop_watchdog_max_strikesÚallow_all_usersÚbot_loop_guard)r?   Ú
max_eventsrU  r  Ústartup_watchdogÚ startup_watchdog_timeout_secondsÚwrite_sessions_jsonÚmultiplex_profilesÚauto_multiplex_migrationÚprofile_routesÚscale_to_zeroÚidle_timeout_minutesÚrestart_loop_guard)Úmax_restartsrU  Úmax_gap_seconds)Ú
max_startsrU  i   )Úmax_concurrent_runsÚhistory_tool_output_max_chars)	Úrespawn_stormÚmessage_timestampsÚmax_inbound_media_bytesÚ	trust_envÚstrictÚmedia_delivery_allow_dirsÚtrust_recent_filesÚtrust_recent_files_secondsÚ
api_servergš™™™™™é?u    â–‰)r?   r�  Úedit_intervalÚbuffer_thresholdÚcursorÚfresh_final_after_secondsÚsessionséZ   Úadviseiè  i N  )r»   r¼   Úauto_archiveÚauto_archive_daysÚvacuum_after_pruneÚmin_vacuum_interval_daysr½   Úfts_optimize_noticeÚcjk_ftsÚsearch_slow_msÚmax_resume_messagesÚmax_export_messagesÚ
onboardingÚask)ÚseenÚprofile_buildÚ	telemetryÚshared_metricsz/https://telemetry.nousresearch.com/v1/telemetry)r?   Úsendr   ÚdoctorÚlive_probe_timeoutÚupdatesÚquickÚstashÚswitch)ÚcheckÚpre_update_backupÚbackup_keepÚnon_interactive_local_changesÚauto_switch_parked_branchÚparked_branch_strategyÚrefresh_cua_driverÚlspÚdocumentÚnpm)
r?   Ú	wait_modeÚwait_timeoutÚwarmup_timeoutÚbroken_retry_secondsÚexclude_rootsÚinstall_strategyÚpackage_managerÚidle_timeoutÚserversÚx_searchzgrok-4.5)r   r   Útimeout_secondsÚretriesÚOP_SERVICE_ACCOUNT_TOKEN)r?   ÚaccountÚbinary_pathÚservice_account_token_env)r?   r\  )ÚonepasswordÚ	bitwardenÚBWS_ACCESS_TOKEN)r?   Úmax_stale_seconds)r?   Úaccess_token_envÚ
project_idÚcache_ttl_secondsÚencrypted_cacheÚoverride_existingÚauto_installÚ
server_url)r?   Úenvr[  r]  r\  rd  rf  )r_  r^  i°  ÚsomÚstandard)	Úcua_telemetryÚnative_waylandÚmax_image_dimensionÚcapture_after_modeÚax_max_elementsÚ
no_overlayÚpermission_modeÚcapability_manifestÚallow_unsigned_driveri‚#  ri  )r?   Útunnel_portrg  Úcredential_sourceÚenforce_on_dockerÚallow_env_fallbackÚupstream_deny_cidrsÚextra_allowed_hosts)r?   Úfreshness_minutesrã   )ro   Úrepo_scan_enabledÚrepo_scan_rootsÚrepo_scan_exclude_pathsÚelectron_flagsÚrenderer_max_old_space_mbÚozone_platform_hintÚdisable_gpuÚpassword_storeÚmanage_launcher_entryÚmacos_signing_identityÚauto_continueÚchat)Úkeepalive_interval_secondsÚanthropic_wireÚguestÚglobal)rc  r  Úb10964)r?   Útagrg   Ú
models_maxÚportÚdetect_portsé-   )ÚvaultÚsecretsÚpaste_collapse_thresholdÚ!paste_collapse_threshold_fallbackÚpaste_collapse_char_thresholdrÒ  ÚproxyÚdesktopÚnousÚvertexÚlocal_runtimeÚ_config_versionc                 ó   — | |dœ|¥S )zJOne OPTIONAL_ENV_VARS entry; keyword order is preserved as dict key order.©ÚdescriptionÚprompt© )rŸ  r   Úkeyss      r   Ú_envr£  F
  s   € à&°&ÑA¸DÐAÐAr   c                 ó:   ‡ — t         ft         t         ||dœˆ fd„}|S )a  Entry factory for one category with its usual password/advanced defaults.

    ``url``/``help``/``tools`` are only written when passed; ``password=None`` omits the key;
    ``advanced`` is only written when true. Key order matches the plain ``_env`` entries.
    )ÚhelprÐ  r…  Úadvancedc                óz   •— | |dœ}|j                  d„ d|fd|fd|ffD «       «       |�||d<   ‰|d<   |rd|d	<   |S )
Nrž  c              3   ó<   K  — | ]  \  }}|t         usŒ||f–— Œ y ­w©N©Ú_OMIT)Ú.0ÚkÚvs      r   ú	<genexpr>z*_category.<locals>.make.<locals>.<genexpr>W
  s!   è ø€ Òg™D˜A˜qÐXYÔafÒXf�!�Q”Ñgùs   ‚“	r¥  rñ  rÐ  r…  ÚcategoryTr¦  r   )	rŸ  r   rñ  r¥  rÐ  r…  r¦  r   r°  s	           €r   Úmakez_category.<locals>.makeT
  s\   ø€ à'°6Ñ:ˆØ	�‰Ñg f¨d ^°e¸S°\ÀGÈUÐCSÐ$TÔgÔgØÐØ$ˆAˆj‰MØ ˆˆ*‰ÙØ ˆAˆj‰MØˆr   rª  )r°  r…  r¦  r±  s   `   r   Ú	_categoryr²  N
  s#   ø€ ô ',ð 	´UÄ%ÐRZØö	ð €Kr   )r…  r¦  ÚtoolÚ	messagingÚskillÚsettingc                 ó8   — |xs | › d�}t        | › d�|dd¬«      S )z@Provider ``*_BASE_URL`` override entry (advanced, not a secret).z# base URL (leave empty for default)z base URL overrideNF©r…  )Ú_prov)ÚnameÚprompt_namer   s      r   Ú	_base_urlr¼  h
  s.   € àÒ#˜tÐ$Ð$GÐH€FÜ�D�6Ð+Ð,¨f°dÀUÔKÐKr   ÚNOUS_BASE_URLzNous PortalÚHERMES_ANON_API_SECRETzŒShared secret for the Nous free-tier sign-up endpoints while they are in their gated integration phase (not needed once the gate is removed)z;Nous free-tier shared secret (leave empty unless given one))r…  r°  r¦  ÚOPENROUTER_API_KEYz>OpenRouter API key (for vision, web scraping helpers, and MoA)zOpenRouter API keyzhttps://openrouter.ai/keysÚvision_analyze)rñ  r…  rÐ  r°  r¦  ÚGOOGLE_API_KEYz<Google AI Studio API key (also recognized as GEMINI_API_KEY)zGoogle AI Studio API keyz&https://aistudio.google.com/app/apikeyÚGEMINI_API_KEYz3Google AI Studio API key (alias for GOOGLE_API_KEY)zGemini API keyÚGEMINI_BASE_URLzGoogle AI StudioÚGeminiÚVERTEX_CREDENTIALS_PATHuI  Path to a Google Cloud service account JSON for Vertex AI (Gemini). Vertex uses OAuth2, not a static API key â€” this points at the credentials Hermes mints short-lived tokens from. Falls back to GOOGLE_APPLICATION_CREDENTIALS, then to ADC (gcloud auth application-default login). Set project/region under vertex: in config.yaml.zZVertex service account JSON path (leave empty to use ADC / GOOGLE_APPLICATION_CREDENTIALS)z4https://cloud.google.com/iam/docs/keys-create-deleter¸  ÚXAI_API_KEYzxAI API keyzhttps://console.x.ai/ÚXAI_BASE_URLÚxAIÚNVIDIA_API_KEYz;NVIDIA NIM API key (build.nvidia.com or local NIM endpoint)zNVIDIA NIM API keyzhttps://build.nvidia.com/ÚNVIDIA_BASE_URLzJNVIDIA NIM base URL override (e.g. http://localhost:8000/v1 for local NIM)z-NVIDIA NIM base URL (leave empty for default)Ú
LM_API_KEYz5LM Studio bearer token for auth-enabled local serversz LM Studio API key / bearer tokenÚLM_BASE_URLz	LM StudioÚGLM_API_KEYzBZ.AI / GLM API key (also recognized as ZAI_API_KEY / Z_AI_API_KEY)zZ.AI / GLM API keyzhttps://z.ai/ÚZAI_API_KEYz$Z.AI API key (alias for GLM_API_KEY)zZ.AI API keyÚZ_AI_API_KEYÚGLM_BASE_URLz
Z.AI / GLMÚKIMI_API_KEYzKimi / Moonshot API keyzKimi API keyzhttps://platform.moonshot.cn/ÚKIMI_BASE_URLzKimi / MoonshotÚKimiÚKIMI_CN_API_KEYzKimi / Moonshot China API keyzKimi (China) API keyÚSTEPFUN_API_KEYzStepFun Step Plan API keyzhttps://platform.stepfun.com/ÚSTEPFUN_BASE_URLzStepFun Step PlanÚARCEEAI_API_KEYzArcee AI API keyzhttps://chat.arcee.ai/ÚARCEE_BASE_URLzArcee AIÚArceeÚGMI_API_KEYzGMI Cloud API keyzhttps://www.gmicloud.ai/ÚGMI_BASE_URLz	GMI CloudÚACTUAL_API_KEYz&Actual Computer inference key (ac_...)zActual Computer inference keyzhttps://actual.inc/user/keysÚFIREWORKS_API_KEYzFireworks AI API keyz0https://app.fireworks.ai/settings/users/api-keysÚMINIMAX_API_KEYzMiniMax API key (international)zMiniMax API keyzhttps://www.minimax.io/ÚMINIMAX_BASE_URLÚMiniMaxÚMINIMAX_CN_API_KEYz MiniMax API key (China endpoint)zMiniMax (China) API keyzhttps://www.minimaxi.com/ÚMINIMAX_CN_BASE_URLzMiniMax (China)ÚDEEPSEEK_API_KEYz+DeepSeek API key for direct DeepSeek accesszDeepSeek API Keyz&https://platform.deepseek.com/api_keys)r¦  ÚDEEPSEEK_BASE_URLz'Custom DeepSeek API base URL (advanced)zDeepSeek Base URLÚDASHSCOPE_API_KEYz>Alibaba Cloud DashScope API key (Qwen + multi-provider models)zDashScope API Keyz-https://modelstudio.console.alibabacloud.com/ÚDASHSCOPE_BASE_URLzGCustom DashScope base URL (default: coding-intl OpenAI-compat endpoint)zDashScope Base URLÚHERMES_QWEN_BASE_URLzBQwen Portal base URL override (default: https://portal.qwen.ai/v1)z.Qwen Portal base URL (leave empty for default)ÚOPENCODE_ZEN_API_KEYz=OpenCode Zen API key (pay-as-you-go access to curated models)zOpenCode Zen API keyzhttps://opencode.ai/authÚCOMMANDCODE_API_KEYuL   CommandCode API key (GOAT/Pro/Max/Provider plans â€” 30+ models via one key)zCommandCode API keyzhttps://commandcode.ai/studio/ÚOPENCODE_ZEN_BASE_URLzOpenCode ZenÚOPENCODE_GO_API_KEYz<OpenCode Go API key ($10/month subscription for open models)zOpenCode Go API keyÚOPENCODE_GO_BASE_URLzOpenCode GoÚHF_TOKENzVHugging Face token for Inference Providers (20+ open models via router.huggingface.co)zHugging Face Tokenz&https://huggingface.co/settings/tokensÚHF_BASE_URLz Hugging Face Inference ProvidersÚHFÚOLLAMA_API_KEYu>   Ollama Cloud API key (ollama.com â€” cloud-hosted open models)zOllama Cloud API keyzhttps://ollama.com/settingsÚOLLAMA_BASE_URLz?Ollama Cloud base URL override (default: https://ollama.com/v1)z)Ollama base URL (leave empty for default)ÚXIAOMI_API_KEYzhXiaomi MiMo API key for MiMo models (mimo-v2.5-pro, mimo-v2.5, mimo-v2-pro, mimo-v2-omni, mimo-v2-flash)zXiaomi MiMo API Keyzhttps://platform.xiaomimimo.comÚXIAOMI_BASE_URLzFXiaomi MiMo base URL override (default: https://api.xiaomimimo.com/v1)z)Xiaomi base URL (leave empty for default)ÚUPSTAGE_API_KEYz$Upstage API key for Solar LLM modelszUpstage API Keyz#https://console.upstage.ai/api-keysÚUPSTAGE_BASE_URLz>Upstage base URL override (default: https://api.upstage.ai/v1)z*Upstage base URL (leave empty for default)Ú
AWS_REGIONz?AWS region for Bedrock API calls (e.g. us-east-1, eu-central-1)z
AWS RegionzIhttps://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.htmlÚAWS_PROFILEzFAWS named profile for Bedrock authentication (from ~/.aws/credentials)zAWS ProfileÚAZURE_FOUNDRY_API_KEYz0Azure Foundry API key for custom Azure endpointszAzure Foundry API Keyzhttps://ai.azure.com/ÚAZURE_FOUNDRY_BASE_URLzLAzure Foundry base URL (set via 'hermes model' for endpoint-specific config)zAzure Foundry base URLÚEXA_API_KEYz1Exa API key for AI-native web search and contentszExa API keyzhttps://exa.ai/Ú
web_searchÚweb_extract)rÐ  ÚPARALLEL_API_KEYz5Parallel API key for AI-native web search and extractzParallel API keyzhttps://parallel.ai/ÚFIRECRAWL_API_KEYz-Firecrawl API key for web search and scrapingzFirecrawl API keyzhttps://firecrawl.dev/ÚFIRECRAWL_API_URLz6Firecrawl API URL for self-hosted instances (optional)z)Firecrawl API URL (leave empty for cloud)ÚFIRECRAWL_GATEWAY_URLzQExact Firecrawl tool-gateway origin override for Nous Subscribers only (optional)z9Firecrawl gateway URL (leave empty to derive from domain)ÚTOOL_GATEWAY_URLzSExact shared tool-gateway origin for on-origin vendors and media uploads (optional)z;Shared tool-gateway URL (leave empty to derive from domain)ÚCONNECTOR_GATEWAY_URLz@Exact connector-gateway origin for the connectors API (optional)z9Connector-gateway URL (leave empty to derive from domain)ÚTOOL_GATEWAY_DOMAINz•Shared tool-gateway domain suffix for Nous Subscribers only, used to derive vendor hosts, e.g. nousresearch.com -> firecrawl-gateway.nousresearch.comzTool-gateway domain suffixÚTOOL_GATEWAY_SCHEMEz�Shared tool-gateway URL scheme for Nous Subscribers only, used to derive vendor hosts (`https` by default, set `http` for local gateway testing)zTool-gateway URL schemeÚTOOL_GATEWAY_USER_TOKENzuExplicit Nous Subscriber access token for tool-gateway requests (optional; otherwise read from the Hermes auth store)zTool-gateway user tokenÚTAVILY_API_KEYuh   Tavily API key for AI-native web search and extract (optional â€” keyless works when Tavily is selected)zTavily API keyzhttps://app.tavily.com/homeÚPERPLEXITY_API_KEYzaPerplexity API key for the Search API web backend (ranked results + query-relevant page snippets)zPerplexity API keyz%https://www.perplexity.ai/account/apiÚKEENABLE_API_KEYuw   Keenable API key for fast independent-index web search and page fetch (optional â€” keyless free tier works without it)zKeenable API keyzhttps://keenable.aiÚSEARXNG_URLz<URL of your SearXNG instance for free self-hosted web searchz(SearXNG URL (e.g. http://localhost:8080)z"https://searxng.github.io/searxng/)rÐ  r…  ÚBRAVE_SEARCH_API_KEYzABrave Search API subscription token (free tier: 2,000 queries/mo)zBrave Search subscription tokenzhttps://brave.com/search/api/ÚBROWSERBASE_API_KEYuU   Browserbase API key for cloud browser (optional â€” local browser works without this)zBrowserbase API keyzhttps://browserbase.com/Úbrowser_navigateÚbrowser_clickÚBROWSERBASE_PROJECT_IDuC   Browserbase project ID (optional â€” only needed for cloud browser)zBrowserbase project IDÚBROWSER_USE_API_KEYuU   Browser Use API key for cloud browser (optional â€” local browser works without this)zBrowser Use API keyzhttps://browser-use.com/ÚFIRECRAWL_BROWSER_TTLz@Firecrawl browser session TTL in seconds (optional, default 300)zBrowser session TTL (seconds)ÚAGENT_BROWSER_ENGINEz‚Local browser engine: auto (default Chrome), lightpanda (faster, no screenshots; Browser Use mode spawns lightpanda serve), chromez'Browser engine (auto/lightpanda/chrome)z=https://lightpanda.io/docs/run-locally/installation/one-liner)Úbrowser_execr  Úbrowser_snapshotr  Úbrowser_vision)rñ  rÐ  r…  r°  r¦  ÚCAMOFOX_URLzYCamofox browser server URL for local anti-detection browsing (e.g. http://localhost:9377)zCamofox server URLz)https://github.com/jo-inc/camofox-browserÚCAMOFOX_API_KEYz[Optional bearer token sent as Authorization header to a remote/authenticated Camofox serverzCamofox API key)rÐ  r¦  ÚFAL_KEYz*FAL API key for image and video generationzFAL API keyzhttps://fal.ai/rÔ  Úvideo_generateÚKREA_API_KEYz9Krea API key for Krea 2 image generation (Medium + Large)zKrea API keyz'https://www.krea.ai/settings/api-tokensÚVOICE_TOOLS_OPENAI_KEYz?OpenAI API key for voice transcription (Whisper) and OpenAI TTSz&OpenAI API Key (for Whisper STT + TTS)z$https://platform.openai.com/api-keysÚvoice_transcriptionÚ
openai_ttsÚELEVENLABS_API_KEYzMElevenLabs API key for premium text-to-speech voices and Scribe transcriptionzElevenLabs API keyzhttps://elevenlabs.io/Úelevenlabs_ttsÚMISTRAL_API_KEYz7Mistral API key for Voxtral TTS and transcription (STT)zMistral API keyzhttps://console.mistral.ai/ÚPORCUPINE_ACCESS_KEYzqPicovoice access key for the Porcupine 'Hey Hermes' wake word engine (optional; openWakeWord is the free default)zPicovoice access keyzhttps://console.picovoice.ai/ÚGITHUB_TOKENzCGitHub token for Skills Hub (higher API rate limits, skill publish)zGitHub Tokenz"https://github.com/settings/tokensÚNOTION_API_KEYz5Notion integration token (used by the `notion` skill)zNotion API keyz%https://www.notion.so/my-integrationsÚLINEAR_API_KEYz4Linear personal API key (used by the `linear` skill)zLinear API keyz,https://linear.app/settings/account/securityÚAIRTABLE_API_KEYz=Airtable personal access token (used by the `airtable` skill)zAirtable API keyz"https://airtable.com/create/tokensÚTENOR_API_KEYz=Tenor API key for GIF search (used by the `gif-search` skill)zTenor API keyz5https://developers.google.com/tenor/guides/quickstartÚHONCHO_API_KEYz.Honcho API key for AI-native persistent memoryzHoncho API keyzhttps://app.honcho.devÚhoncho_contextÚHONCHO_BASE_URLz=Base URL for self-hosted Honcho instances (no API key needed)z,Honcho base URL (e.g. http://localhost:8000)ÚHINDSIGHT_API_KEYz3Hindsight API key for graph-aware persistent memoryzHindsight API keyzhttps://hindsight.vectorize.ioÚhindsight_recallÚHINDSIGHT_API_URLzLBase URL for the Hindsight API (default: https://api.hindsight.vectorize.io)zHindsight API URLÚSUPERMEMORY_API_KEYz=Supermemory API key for conversation-scoped persistent memoryzSupermemory API keyzhttps://supermemory.aiÚsupermemory_searchÚMEM0_API_KEYz4Mem0 Platform API key for semantic persistent memoryzMem0 API keyzhttps://app.mem0.aiÚmem0_searchÚRETAINDB_API_KEYz&RetainDB API key for persistent memoryzRetainDB API keyzhttps://retaindb.comÚretaindb_searchÚRETAINDB_BASE_URLzOBase URL for self-hosted RetainDB instances (default: https://api.retaindb.com)zRetainDB base URLÚBRV_API_KEYuG   ByteRover API key (optional, for cloud sync â€” local-first by default)zByteRover API keyzhttps://app.byterover.devÚ	brv_queryÚOPENVIKING_API_KEYz3OpenViking API key (leave blank for local dev mode)zOpenViking API keyÚviking_searchÚOPENVIKING_ENDPOINTz6OpenViking server URL (default: http://127.0.0.1:1933)zOpenViking endpointÚHERMES_LANGFUSE_PUBLIC_KEYz'Langfuse project public key (pk-lf-...)zLangfuse public keyzhttps://cloud.langfuse.comÚHERMES_LANGFUSE_SECRET_KEYz'Langfuse project secret key (sk-lf-...)zLangfuse secret keyÚHERMES_LANGFUSE_BASE_URLz9Langfuse server URL (default: https://cloud.langfuse.com)z8Langfuse server URL (leave empty for cloud.langfuse.com)ÚTELEGRAM_BOT_TOKENzaComplete Telegram bot token created by @BotFather (numeric bot ID followed by a colon and secret)zTelegram bot tokenzhttps://t.me/BotFatherÚTELEGRAM_ALLOWED_USERSz{Optional comma-separated numeric Telegram user IDs allowed immediately; leave blank to approve new users through DM pairingz+Allowed Telegram user IDs (comma-separated)zhttps://t.me/userinfobotÚTELEGRAM_PROXYzaProxy URL for Telegram connections (overrides HTTPS_PROXY). Supports http://, https://, socks5://zTelegram proxy URL (optional)ÚDISCORD_BOT_TOKENz'Discord bot token from Developer PortalzDiscord bot tokenz+https://discord.com/developers/applicationsÚDISCORD_ALLOWED_USERSz7Comma-separated Discord user IDs allowed to use the botz*Allowed Discord user IDs (comma-separated)ÚDISCORD_REPLY_TO_MODEz‡Discord reply threading mode: 'off' (no reply references), 'first' (reply on first message only, default), 'all' (reply on every chunk)z"Discord reply mode (off/first/all)ÚSLACK_BOT_TOKENzþSlack bot token (xoxb-). Get from OAuth & Permissions after installing your app. Required scopes: chat:write, app_mentions:read, channels:history, groups:history, im:history, im:read, im:write, mpim:history, mpim:read, users:read, files:read, files:writezSlack Bot Token (xoxb-...)zhttps://api.slack.com/appsz‡In your Slack app, add the required bot scopes, install the app to the workspace, then copy OAuth & Permissions > Bot User OAuth Token.)r¥  r…  ÚSLACK_APP_TOKENuÐ   Slack app-level token (xapp-) for Socket Mode. Get from Basic Information â†’ App-Level Tokens. Also ensure Event Subscriptions include: message.im, message.channels, message.groups, message.mpim, app_mentionzSlack App Token (xapp-...)zyIn your Slack app, enable Socket Mode, then create Basic Information > App-Level Tokens with the connections:write scope.ÚSLACK_ALLOWED_USERSz‡Comma-separated Slack member IDs allowed to use Hermes, e.g. U01ABC2DEF3. Without this, Slack may connect but deny messages by default.zAllowed Slack member IDszvIn Slack, open your profile, choose More or the three-dot menu, then Copy member ID. Add multiple IDs comma-separated.)r¥  ÚMATTERMOST_URLz3Mattermost server URL (e.g. https://mm.example.com)zMattermost server URLzhttps://mattermost.com/deploy/ÚMATTERMOST_TOKENz-Mattermost bot token or personal access tokenzMattermost bot tokenÚMATTERMOST_ALLOWED_USERSz:Comma-separated Mattermost user IDs allowed to use the botz-Allowed Mattermost user IDs (comma-separated)ÚMATTERMOST_REQUIRE_MENTIONzaRequire @mention in Mattermost channels (default: true). Set to false to respond to all messages.zRequire @mention in channelsÚ!MATTERMOST_FREE_RESPONSE_CHANNELSzJComma-separated Mattermost channel IDs where bot responds without @mentionz+Free-response channel IDs (comma-separated)ÚMATRIX_HOMESERVERz7Matrix homeserver URL (e.g. https://matrix.example.org)zMatrix homeserver URLz%https://matrix.org/ecosystem/servers/ÚMATRIX_ACCESS_TOKENz3Matrix access token (preferred over password login)zMatrix access tokenÚMATRIX_USER_IDz)Matrix user ID (e.g. @hermes:example.org)zMatrix user ID (@user:server)ÚMATRIX_ALLOWED_USERSzLComma-separated Matrix user IDs allowed to use the bot (@user:server format)z)Allowed Matrix user IDs (comma-separated)ÚMATRIX_REQUIRE_MENTIONzZRequire @mention in Matrix rooms (default: true). Set to false to respond to all messages.z&Require @mention in rooms (true/false)ÚMATRIX_FREE_RESPONSE_ROOMSzCComma-separated Matrix room IDs where bot responds without @mentionz(Free-response room IDs (comma-separated)ÚMATRIX_AUTO_THREADz@Auto-create threads for messages in Matrix rooms (default: true)z)Auto-create threads in rooms (true/false)ÚMATRIX_DM_AUTO_THREADz>Auto-create threads for DM messages in Matrix (default: false)z'Auto-create threads in DMs (true/false)ÚMATRIX_DEVICE_IDzNStable Matrix device ID for E2EE persistence across restarts (e.g. HERMES_BOT)z)Matrix device ID (stable across restarts)ÚMATRIX_RECOVERY_KEYuƒ   Matrix recovery key for cross-signing verification after device key rotation (from Element: Settings â†’ Security â†’ Recovery Key)zMatrix recovery keyÚBLUEBUBBLES_SERVER_URLzOBlueBubbles server URL for iMessage integration (e.g. http://192.168.1.10:1234)zBlueBubbles server URLzhttps://bluebubbles.app/ÚBLUEBUBBLES_PASSWORDuJ   BlueBubbles server password (from BlueBubbles Server â†’ Settings â†’ API)zBlueBubbles server passwordÚBLUEBUBBLES_ALLOWED_USERSzJComma-separated iMessage addresses (email or phone) allowed to use the botz,Allowed iMessage addresses (comma-separated)ÚBLUEBUBBLES_ALLOW_ALL_USERSz-Allow all BlueBubbles users without allowlistzAllow All BlueBubbles UsersÚ	QQ_APP_IDz.QQ Bot App ID from QQ Open Platform (q.qq.com)z	QQ App IDzhttps://q.qq.comÚQQ_CLIENT_SECRETz*QQ Bot Client Secret from QQ Open PlatformzQQ Client SecretÚQQ_ALLOWED_USERSz2Comma-separated QQ user IDs allowed to use the botzQQ Allowed UsersÚQQ_GROUP_ALLOWED_USERSz=Comma-separated QQ group IDs allowed to interact with the botzQQ Group Allowed UsersÚQQ_ALLOW_ALL_USERSz4Allow all QQ users without an allowlist (true/false)zAllow All QQ UsersÚQQBOT_HOME_CHANNELz<Default QQ channel/group for cron delivery and notificationszQQ Home ChannelÚQQBOT_HOME_CHANNEL_NAMEz$Display name for the QQ home channelzQQ Home Channel NameÚ
QQ_SANDBOXz;Enable QQ sandbox mode for development testing (true/false)zQQ Sandbox ModeÚ
IRC_SERVERz*IRC server hostname (e.g. irc.libera.chat)z
IRC serverÚIRC_CHANNELz"IRC channel to join (e.g. #hermes)zIRC channelÚIRC_NICKNAMEz)Bot nickname on IRC (default: hermes-bot)zIRC nicknameÚIRC_SERVER_PASSWORDz!IRC server password (if required)zIRC server passwordÚIRC_NICKSERV_PASSWORDz)NickServ password for nick identificationzNickServ passwordÚGATEWAY_ALLOW_ALL_USERSzMAllow all users to interact with messaging bots (true/false). Default: false.zAllow all users (true/false)ÚAPI_SERVER_ENABLEDzrEnable the OpenAI-compatible API server (true/false). Allows frontends like Open WebUI, LobeChat, etc. to connect.zEnable API server (true/false)ÚAPI_SERVER_KEYz|Bearer token for API server authentication. Required whenever the API server is enabled; server refuses to start without it.zAPI server auth keyÚAPI_SERVER_PORTz(Port for the API server (default: 8642).zAPI server portÚAPI_SERVER_HOSTzsHost/bind address for the API server (default: 127.0.0.1). API_SERVER_KEY is still required even on loopback binds.zAPI server hostÚAPI_SERVER_MODEL_NAMEz›Model name advertised on /v1/models. Defaults to the profile name (or 'hermes-agent' for the default profile). Useful for multi-user setups with OpenWebUI.zAPI server model nameÚGATEWAY_PROXY_URLu  URL of a remote Hermes API server to forward messages to (proxy mode). When set, the gateway handles platform I/O only â€” all agent work is delegated to the remote server. Use for Docker E2EE containers that relay to a host agent. Also configurable via gateway.proxy_url in config.yaml.z=Remote Hermes API server URL (e.g. http://192.168.1.100:8642)ÚGATEWAY_PROXY_KEYz�Bearer token for authenticating with the remote Hermes API server (proxy mode). Must match the API_SERVER_KEY on the remote host.zRemote API server auth keyÚWEBHOOK_ENABLEDzREnable the webhook platform adapter for receiving events from GitHub, GitLab, etc.zEnable webhooks (true/false)ÚWEBHOOK_PORTz1Port for the webhook HTTP server (default: 8644).zWebhook portÚWEBHOOK_SECRETz[Global HMAC secret for webhook signature validation (overridable per route in config.yaml).zWebhook secretzySudo password for terminal commands requiring root access; set to an explicit empty string to try empty without promptingzSudo passwordzFPath to JSON file with ephemeral prefill messages for few-shot primingzPrefill messages file pathzOEphemeral system prompt injected at API-call time (never persisted to sessions)zEphemeral system prompt)ÚSUDO_PASSWORDÚHERMES_PREFILL_MESSAGES_FILEÚHERMES_EPHEMERAL_SYSTEM_PROMPTr©  )Ú__doc__r   ÚDEFAULT_CONFIGr£  Úobjectr«  r²  r¹  Ú_toolÚ_msgÚ_skillÚ_settingr¼  ÚOPTIONAL_ENV_VARSr¡  r   r   ú<module>rz     sö2  ðñð '+ô 
ðn(ØˆRðn(à�ðn(ð ˜"ðn(ð Ð+¨QÐ/ðn(ð ! "ðn(ð ��ðn(ð Øà"Ø"ñ	ðn(ð& Ð# TÐ*ð'n(ð* ˜tð+n(ð2 ˜ð3n(ð4 ð 	˜Tð	ð5n(ð@ ð ^ð 	�Tð^ð 	 ð^ð 	˜dð^ð 	˜4ð^ð" 	% að#^ð( 	ØØ!ð %ð ')Øñ
ð)^ðH 	  ðI^ðX 	˜bðY^ðd 	% dðe^ðp 	˜cðq^ðx 	˜1ðy^ðD 	 ðE^ðN 	 ðO^ðV 	Øð #'ñ	!
ðW^ðf 	˜ðg^ðh 	˜Rði^ðn 	˜"ño^ðv 	 ðw^ðB 	˜fðC^ðN 	" 6ðO^ðX 	˜ðY^ð^ 	# Dð_^ðf 	& tðg^ðn 	˜Tðo^ðr 	˜Tðs^ðz 	˜Bð{^ðH 	˜&ðI^ðP 	˜rðQ^ðX 	˜4ðY^ð\ 	˜Qð]^ðh 	˜%ði^ðl 	" 3ðm^ð| 	˜4ð}^ðB 	" 3ñC^ðP "%ð 01ð &*ð
 ,0ð 24ð
 +-ð
 '*ð #Øð  "ð  ð (-¸Ñ=ò{^ðAn(ð@ ð [Ø�7ð[à�fð[ð 	˜ð[ð 	ˆsð[ð 	�Bð[ð  	�rð![ð" 	�3ð#[ð( 	$ Sð)[ð8 	*¨5ð9[ð> 	˜2ð?[ðD 	Ð5ðE[ðL 	�VðM[ðX 	˜BðY[ðd 	˜dðe[ðf 	ÐDðg[ðh 	˜bði[ðp 	�bñq[ðr 	ÐRðs[ðt 	ÐCðu[ðv 	ÐEðw[ðx 	˜(ðy[ð| 	˜ð}[ð~ 	˜Dð[ð@ 	˜%ðA[ðB 	 ðC[ðJ 	˜"ðK[ðL 	(¨ðM[ðN 	˜$ðO[ðP 	˜RðQ[ðX 	˜4ðY[ðb 	" 5ðc[ðj 	˜eðk[ðn 	& rðo[ðt 	˜Dñu[ðAn(ðz
 
ØØØà#ð !ð ð ð Øð !ñ9ð{
n(ðx ð Fð
 	�2ðFð 	˜cðFð 	˜2ðFð 	˜eðFð 	˜5ðFð 	�%ðFð 	˜eðFð$ 	�&ð%Fð( 	& tð)Fð* 	�2ð+Fð< 	˜Eð=FðJ 	! %ðKFðR 	˜BðSFðZ 	  ð[Fð\ 	˜Uð]Fðd 	˜ðeFðf 	˜CðgFðn $)àØØ"'ð &+Ø#9ñ
ð" */À%ÑHòKFðyn(ðL Øàð !àð ØØ ñ%ðMn(ðz ˜dñ{n(ð@   ðAn(ðF ˜7ðGn(ðR ˜SðSn(ð\ )¨$ð]n(ð^ 
ð
 )-ð
 "#ñð_n(ð|  °TÈdÑSð}n(ðB Ø Ø"ð .2Ø()ÀÐ]^Ñ_à°QÐRSñ
ð !#Øñ
ñðCn(ðh ð yØ�4ðyð 	˜uð	yð 	˜Eðyð 	�Tðyð" 	˜Gð#yð& 	˜ð'yð0 	�Vð1yð6 	˜"ð7yð< 	! !ð=yðB 	˜ðCyðN 	! !ðOyðT 	+¨DðUyðZ 	-¨dð[yðd 	˜ðeyðj 	& qðkyðn 	0°ðoyðr 	% dñsyðx 	" 2ðyyð~ 	(¨ðyð@ 	+¨CðAyðJ 	(¨ðKyðV 	" 3ðWyð` 	(¨ðayðf 	˜1ðgyðn 	# Eðoyðx 	  ðyyð| 	'¨ð}yðD 	  ðEyðJ 	! %ðKyðP 	,¨TðQyð\ 	�Dð]yðf 	˜Bðgyðp 	% añqyðin(ðd �{ DÐ)ðen(ðr  TÀÐZ^Ñ_ðsn(ðt ØàØ!Ø $ñ
ð %'Ø!#Ø&-Øñ	
ñðun(ðl ð Oð 	˜Qð	Oð 	�UðOð 	˜BðOð  	  ð!Oð* 	‘$�s¨RÔ0ð+Oð6 	‘t˜C°TÔ:ð7Oð8 	‘d˜2“hð9Oð: 	‘D˜“Hð;OðB 	˜v°ÀÈrÐ_aÑbðCOðD 	‰t�B‹xðEOðH 	ØØ%)ð ØØ!&ØØØØØ "Øñ
ðIOðh 	¡ Q¸Ô ?ðiOðj 	™$˜r›(ðkOðp 	™D ›IðqOðr 	™T #›YðsOðt 	™T "›XðuOñv 	‘d˜2“hðwOñ| ˜“9Ù˜“8ð (¨Ð;±°c³Ð;ñ ˜c°EÔ:Ù˜s°UÔ;ó]Oðmn(ñN ð qÙ�5ðqá�rðqñ 	™&ðqñ
 	˜Bðqñ 	  ðqñ 	%¡cðqñ 	% aðqñ 	  ðqñ 	™;ðqñ 	! $ðqñ& 	" 4ð'qñ, 	‘Uð-qñ2 	! %ð3qñ6 	˜tð7qñ: 	˜Dð;qñ< 	˜Eð=qñ> 	˜%ñ?qñD 	˜$ðEqñJ 	˜%ðKqñR 	¡ðSqñZ 	+©Ið[qñ\ 	�Uð]qñ^ 	�eð_qñ` 	™Gðaqñb 	"¡7ðcqñh 	˜Tðiqñj 	&¡sðkqñp 	+¨Eðqqñt 	˜4ðuqñv 	˜ðwqñ~ 	! $ðqñD 	˜4ðEqñL 	$ TðMqñN 	�UòOqñP 	�5ðQqñX 	�eðYqñZ 	$¡Uð[qñ\ 	‘	ð]qñb 	‘Dðcqñf 	¡	ðgqñp 	¡ðqqñv 	�Eðwqñx 	ØØò!
ðyqñD 	% dðEqñJ 	)¨%ðKqñP 	˜4ðQqñR 	  ðSqñX 	˜qðYqñ^ 	 ð_qñd 	˜ðeqñh 	˜dñiqñp #/ð
 ñ "ð !"ñ % dÐ+Ù# UÐ+Ù! 5Ð)á! 4Ð(ò
ð ó 6ò	
ñ �bð
ð  ð Øð "ñ Øò

óMqðOn(ñt áð  Ù')Ø$%ð
 !&ð ñ !Ùñ #'ð
 ',ð !%ð
 Øò
ð ØØØØ#$ò
ñ !(¹RÒ@ð òECðun(ñ~ Ù�eððn(ñL  
ñ ñ �rð
ñ Ñ'ð
ñ
 /Ù0ò
ñ
 'ñ ð $&ñ  %ò
ñ 4Ùàð $&ò
ñ ÙÙØ %Ø*+Ù Ùò
ñ -Ù>ò
ñ ,Ñ9VÒWá8Ùò
ð
 ØÙ3Ùò	
ñ Ñ*ð
ð Ùò
òKJðM n(ñd" 
Øà ñ
 ð #Ù#&Ø!áØØ ð Ø"%Ù(+Ù!%Ø)*ò
ñ .Øò
ñ !ØØØò
ñ +Øò
ñ
 ˜ð
ñ $ØØ %Øò	
ð �Rð
òi8òe"n(ñX$ ð "ñ 	™9ð"ñ 	Ù!Ùàò	
ð"ñ 	‘hð"ñ 	‘xð"ñ  	  ð!"ñ" 	�Eð#"ñ( 	˜ð)"ñ* 	˜ð+"ñ, 	‘sð-"ñ. 	˜$ð/"ñ0 	™Sð1"ñ2 	™Cð3"ñ4 	�Dð5"ñ8 	! #ð9"ñ< 	(©ð="ñB 	™˜ðC"ðY$n(ðb% ñ )ð  $òðc%n(ñx% ØØØØñ #ñ Ùð  !Ø!àñ "ð $&ò
ñ ˜ð
ñ ‘xð
ò="ðy%n(ñ@' ™E©S¹DÒAðA'n(ñJ' Ùð Ù $Øá%(ò
ò
ðK'n(ñ`' ØØ $ð  Ù!Ùàð òða'n(ñD( ð AØ�ðAá�BðAð 	˜dðAñ 	�BðAñ 	�2ðAñ 	�BðAñ$ 	˜Rð%Añ4 	'¨ð5Añ: 	 ð;Añ> 	™#ð?AñH 	™UðIAñP 	  ðQAñV 	˜BðWAñ\ 	" 2ð]Añb 	" 5ðcAñf 	˜1ðgAñh 	 ðiAðp !"ð "'ð 05óAAðE(n(ñL* ˜RðM*n(ñT* ð 	�RððU*n(ñd* Ø "ÙØ$&Ø&)ò	ðe*n(ñv* 
Ù#Øð Øð áá!/¹)ÒDØ!-Ñ8RÒSð%ð ,8ÑB]Ò^àòð

òðw*n(ñp+ Øð ð "à "ð àð Ø "ð  %ð
 ð  ð
 ñ ,òW,ðq+n(ñT- ØÙ ØÙØ ð ð
  ð ð
 Øò
ò)ðU-n(ñJ. ˆbðK.n(ñN. �ðO.n(ñR. ØØ"$ØØ$&ð ',Ø"'Øò
ðS.n(ñj. ð OÙ˜4ðOá  "ðOñ 	˜BðOñ 	�tð	Oñ 	$ UðOñ 	! %ðOñ 	& tðOñ 	˜DðOñ 	! "ðOñ" 	"ØØÙ#ÙØ Øò$
ð#Oñ2 	�Tð3Oñ8 	.©rð9Oñ: 	/°ð;Oñ< 	2°2ð=Oñ> 	(¨ð?OñD 	.©uðEOñH 	˜2ðIOðR !ð
 ð !&ñ !)ð #à47ð +.ð Ø#ØÙ ÙÙØóò
óOòk.n(ñL1 ð ðM1n(ñT1 ØàØð #ð !ð (-ò

òðU1n(ñx1 ØØ"$ØØò	ðy1n(ñF2 ØØ!ØòðG2n(ñb2 ñ ØÙÙ#Ù!ð ð %&ð ð #ð &*òG$ðc2n(ñn3 ˜ðo3n(ñr3 �bðs3n(ñ|3 �bð}3n(ñB4 ð "$ð !#ð %*òðC4n(ñd4 ˆRðe4n(ñl4 ˜ðm4n(ñr4 �Rðs4n(ñt4 ð "&ñ *òðu4n(ñR5 Ø#ð Øð 5:ñ
 #,Á6ÒJð (,Ø02ØÙØØ Ø).¸2ÈrÒRð ð  $òA!ðS5n(ñX6 ð RÙ˜4ðRñ 	! %ðRñ 	�TðRð 	�ðRñ$ 	˜"ð%Rñ. 	�Bð/Rñ4 	ñ <ð Ø!#ð ò
ð5RñP 	˜ðQRñR 	ñ �dð	
ðSRñl 	˜5ðmRñr 	˜TðsRñx 	˜BðyRñ~ 	! $ðRñF 	% bðGRñN 	% cðORñV 	% eðWRñb 	%¡aðcRðY6n(ñD9 ð Fñ 	# Dð	Fñ 	˜TðFñ 	˜tðFñ 	˜4ðFñ 	$ RðFñ$ 	˜ð%Fñ* 	"¡?ð+Fñ, 	" 1ð-Fñ2 	 ð3Fñ8 	˜Bð9FñN 	˜4ðOFñ\ 	& tð]Fñh 	˜TðiFñn 	˜$ðoFñt 	" 1ðuFñz 	)©%ð{FñB 	˜TðCFñJ 	" 2ñKFðE9n(ñV; ð !$ð !ò	òW;n(ñj; ñ
 ð  $Ø òðk;n(ñT< ð ð à$%á "ð
 ñ #'óò7#
ðN ! $Ð'òQ)ðU<n(ñh= ÙØØòði=n(ñx= ØÙRð ð ò
ðy=n(ñh> �rði>n(ñp> Ùˆrððq>n(ñx> ñ 	�eððy>n(ñJ? ð àØ#Ø)-Ø,0Ø')Ø,-á 0ÑQ]ò$ò
"
ñ  u¸"ÈRÒPÐQò#ðK?n(ñp? ð Oñ 	)¨!ðOñ 	˜4ðOñ" 	# Bð#Oñ, 	˜ð-Oñ6 	)©$ð7Oñ8 	(©ð9Oñ: 	$ Qð;Oñ> 	˜5ð?OñB 	 d¸"ÐPSÐilÒmðCOñL 	˜DðMOñN 	+¨CðOOñV 	˜tðWOñH 	˜dðIOñV 	# DðWOñ^ 	˜"ð_Oñj 	Ñ0°!Ð4ðkOñv 	¨qÀBÐ[^Ò_ðwOð@ )*¸SÒAð  )¨%Ð0ñ
 $-ð ð ð
 &(ð
 #ð '*ð
 $&ð ./ò
óGOðq?n(ñTD Øð áàÙñ &)òðUDn(ñvD ð
 ñ ð àð #à$&ð !ñ  (ð
 ñ ñ  %ñ  %òk6ðwDn(ñhF Øñ ò	ðiFn(ñzF ÙØð ñ Jò
ð
ð{Fn(ñRG á˜bððSGn(ñ\G àñ %ð ñ
 *1ð
 &*ñ
 #+ð #òC"ð]Gn(ñhH 
Øñ  Øñ ñ !$ð
 ð #ñ
 !ð ð òK&ðiHn(ñzI áà ààò	ñ{In(ð`J ØØá)Cò
ð Øò
òð& ñ !3Øð "%ð ,1ÀqÒIð "&à ð ò'
ð, Øàñ *Dàà!$à!%ò
ò3(ðZ !"Ø)*Ø%)ð
 Øñ  $ñ $ñ ð ñ &ð  "ð "'òO(ð\ áàñ #ð "ð $ð  $ð  "ò+ð6 à!ØØ#%ð ð &'ð  &ð ð
 !ð "&ð #%ð á!#Øò	
òQ.ðh '*ñ !ð
 ò%ð2 ñ òð áð ØØàòñ ó[Qn(€óbQBñ
 	‹€óñ& 	‘* t°dÕ;€Ù‘& 4°%Õ8€Ù‘ u°uÕ=€Ù	‘7 T°DÕ	9€Ù‘Y¨¸Õ?€õLðfá‘Y™}Ó-ðfñ ™dñ	BáEÐPTÙ dõ	,ðfñ ™$Ñ_ÙÑ">ÈÑVfÐUgÙ dõ,ðfñ ‘eÑZÙ"Ñ$LóNðfñ ‘eÑQÑScÙ0ó2ðfñ ‘yÑ!3±XÓ>ðfñ  ™uñ	Wñ	*Ù+aØõ ð!fñ0 ‘5™©Ñ7NÓOð1fñ2 ‘I™eÓ$ð3fñ4 ‘eÑYÙÑ9ó;ð5fñ8 ‘uÙTÙ7¸ÈõOð9fñ> ‘%ÑOÙ*¨Dó2ð?fñB ‘9™[Ó)ðCfñD ‘5Ñ]Ù™oó/ðEfñH ‘5Ñ?ÁÑQ`ÓaðIfñJ ‘EÑ@Á.ÑRaÓbðKfñL ‘I™lÓ+ñMfñN ‘EÑ3±^Ù'ó)ðOfñR ‘YÑ0±&Ó9ðSfñT ‘uÑ<Ñ>TÙ'ó)ðUfñX ‘uÑ8Ñ:UÙ'ó)ðYfñ\ ™	Ñ"5Ó6ð]fñ^ ‘uÑ/Ñ1CÑE]Ó^ð_fñ` ‘i¡
©GÓ4ðafñb ‘5Ñ,Ñ.AÑC]Ó^ðcfñd ‘I™kÓ*ðefñf ‘eÑDÙ'Ñ)GóIðgfñj ™Ñ5Ñ7MÙ:ó<ðkfñn ‘uÑ>Ñ@QÙ!ó#ðofñr ™	¡)Ó,ðsfñt ™%Ñ BÑD]Ù#ó%ðufñx ™9Ñ%6Ó7ðyfñz ™ÑKÑM_Ù0¸5õBð{fñ~ ™ÑHÑJ]Ð_aØ õ(òfñB ™Ñ_ÙÑLÐW\õ^ðCfñF ™%ÙQÙ˜b¨5õ2ðGfñL ™EÙLÙ8¸$ÈõPðMfñR ™EÑ"aÙÑ :ó<ðSfñV ™5ÙVÙÑ?óAðWfñ\ ™Y¡~Ó6ð]fñ^ ™5Ñ!_ÙÑ9ó;ð_fñb ™I¡mÓ4ðcfñd ‘Ù`ÙÑFÐQVõXðefñj ‘9Ñ?ÁÓFðkfñl ‘eÑ\ÙÑ =ó?ðmfñp ‘uÑ^Ù3°TÀEõKðqfñt ‘eñ	'Ù(=Ñ?`Øõðufñ| ‘uÙPÙ3°TÀEõKð}fñB ‘uÑCÑEVÙ-¸õ?ðCfñF ™Ñ^Ù4°dÀUõLðGfñJ ‘%ÑYÙÑaØõòKfñP ‘5ÑaÙ�t eõ-ðQfñT ™UÑ#UÙÑ!8À5õJðUfñX ™eÙVÙ  $°õ8ðYfñ` ‘5ÑLÉmÙ¡,±Ð!>õ@ðafñd ™ÑUÙÑ2¹<ÉÐ:WõYðefñh ™ÑNÑPcÙ ©±}Ð(EõGðifñl ™ÑWÙ3°TÀEÐTXõZðmfñp ™UÙ[ÙCÀTÐTYØõðqfñx ™Ù]ÙEÀtØ õ'ðyfñ@ ™UÙJÙCÀTØ õ'ðAfñH ™5ñ	Má$ d°UÀTõKðIfñP ™5ñ	EÙF_Ø�u tõ-ðQfñX ™uñ	+Ù,EÀtÐVZõ \ðYfñ^ ‘eñ	Ù/Ñ1NÙ™]Ð+õ-ð_fñf ™%ñ	Ù)Ñ+RÙ™]Ð+õ-ðgfñn ™ñ	.Ù/AÑCXÙ™]Ð+õ-ðofñv ‘5ÑWÙ2Ñ4XÙˆn uõ.òwfñ| ™EÙKÙ)Ñ+JÑS_ÐR`õbð}fñB ™5Ù_ÙÑ9Ù!¡?Ð3õ5ðCfñJ ™eÙMÙ Ñ"<Ù!¡?Ð3¸eõEðKfñR ™5Ù_ÙÑ9Ù!¡?Ð3õ5ðSfñZ ™UÙJÙ'Ñ0BÁOÐ/TØõð[fñb ™Dñ	+Ù,UÙKÛiØ¡°$õ8ðcfñn ‘5ÙcÙÑIÙ!¡?Ð3¸eõEðofñv ‘uñ	Ù#Ñ%PÙ!¡?Ð3¸dõDðwfñ~ ‰uÑAÁ=ÑRcÙÑ!1Ð2õ4ðfñB ‘EÑUÙÑAÑJZÐI[õ]ðCfñF ™eÙIÙ0Ñ2XÙ$¡lÐ3õ5ðGfñN ™%ÙWÙÑ6ÙÑ!6Ð7õ9ðOfñV ‘uÑVÙÑ8ó:ðWfñZ ™Eñ	,Ù-CÙ'ó)ð[fñb ‘EÑ_ÙÑ<ó>ðcfñl ‘fÑTÙÑAóCðmfñp ‘fÑSÙÑHóJòqfñt ™Ñ^ÙÑ@óBðufñx ‘VÑ[ÙÑPóRðyfñ~ ‘eÑLÑN^Ù Ñ)9Ð(:õ<ðfñB ‘uÑ\Ù6ÀõGðCfñH ™ÑTÙÑ=ÑFXÐEYõ[ðIfñL ™ÙVÙ d°Tõ;ðMfñT ™5Ñ!`ÙÑ7Ñ@TÐ?UõWðUfñZ ‘EÑPÑR`Ù¡m _õ6ð[fñ` ™ÑFÑHZÙÑ'8Ð&9õ;ðafñd ™ÙYÙ d°Tõ;ðefñl ‘5ÑbÙÑ8ÁÀõOðmfñr ™%Ñ UÙ¡_Ð$5õ7ðsfñv ™5Ñ!YÙ¨°tõ=ðwfñ| !¡%Ñ(QÙÑ;Àeõ#Mð}fñ@ !¡%Ñ(QÙÑ;ó#=ðAfñD ¡Ñ&aÙBÀDÐSXØõ!ðEfñL ™$ñ	Ù+Ñ-EÐPTõVòMfñR ™dñ	/Ù0]Ù"ó$ðSfñZ ‘dñ	Ù>ó@ð[fñ` ™ÑGÑI\Ù5ÀõFðafñd ™TÑ"[Ù4°dó<ðefñh ™Tñ	?á,¨dó4ðifñp ‘tñ	ñ 4Ñ5Qñ@ØKOõQðqfñ~ ‘tñ	4á5QÙ$ñ3Ø>BõDðfñL	 ™4ñ	@ÙA[Ù$ñ0õ	2ðM	fñX	 ‘dÑPÙÑ!AóCðY	fñ\	 ™ÑLÙ ¨tõ5ð]	fñ`	 ¡Ñ%aÙ7¸ó!?ða	fñd	 !¡$ñ	Ù7¸ó#?ðe	fñj	 (©ÙTÙ5°tó*=ðk	fñp	 ™ÑWÙÑ!HóJðq	fñt	 ™4Ñ UÙ˜t¨dõ4ðu	fñx	 ‘dÑFÙ'¨ó/ðy	fñ|	 ™DÙVÙ3°Tó;ò}	fñB
 ™dñ	Ù=¸tÈdõTðC
fñH
 !¡$ÙMÙ2°DÀ4õ#IðI
fñN
 ™$ÑaÙ3°TÀDõJðO
fñR
 ™TÑ"bÙ1°4À$õHðS
fñV
 ™ÙXÙ3°TÀDõJðW
fñ\
 ™4ñ	;Ù<QÐSWÐbfØõð]
fñd
 ™dÙYÙ Ñ"<ó>ðe
fñj
 ™DÙTÙ% t°dõ<ðk
fñp
  ¡ÙTÙ6¸ó">ðq
fñv
 "¡4Ñ(WÙ%°õ$6ðw
fñz
 ‘ÑFÉÙ Tõ+ð{
fñ~
 ™ÑIÑK]Øõð
fñB ™ÑQÙ Tõ+ðCfñF ™dÑ#bÙ ¨4õ1ðGfñJ ™$ÑUÙ tõ-ðKfñN ™$Ñ]Ù Dõ*ðOfñR ™tÑ$JÑLbØõ òSfñV ‘$ÑTÙ Dõ*ðWfñZ ‘$ÑCÁ\ÐSWÓXð[fñ\ ‘4Ñ<¹mÈTÓRð]fñ^ ‘DÑDÁnÐVZÓ[ð_fñ` ™4Ñ CÑEZÐ\`Ø õ&ðafñd ™TÑ"MÑObØ�t dõ,ðefñh ™tÙWÙ&¨°tõ =ðifñn ™$ñ	,Ù-MÈtÐ^bõdðofñt ‘dñ	7Ù8MÈtÐ^bØõðufñ| ‘tÑFÑHYÐ[_Øõð}fñ@ ‘tñ	+Ù,=¸tÈdõTðAfñF ™Tñ	Qá °õ6ðGfñN ™ñ	,ñ 	HÈÐX\õ^ðOfñZ ™ñ	7Ù8TÐVZØ õ&ð[fñb ‘tÙ\Ù&¨ó.ðcfñh ‘DÑLÉnÐ^bÓcðifñj ‘dñ	Ù)¨4¸$õ@ñkfñt ñ	0Ù1@À$ÐQUõWñ %-ÙPÙ$ dó%,ñ '/ÙYÙ! 4ó')óGfÑ r   