
    epjb                       d Z i dddi dg di ddgdd	d
d
ddd
dd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%dd&dd'd!d(ddd)d*d+d,d*d-d)dg i d.d/i d0d1d2dd3d4d5dd6d+d7d8d9g d:dd;g d<d!d=d>d?g d@i dAdBdCd>dDd>dEdFdGdHdId!g dJd!g dKdJd!dLdMddddNdOdPdQd-dJdJdJdd!ddJdJdRd,dJdddJdJdSdTdUdVdJdWddXd!dYdZd[d\d
d]d^d_d`dadbi dcddd!idedfdgdgdhdid!dJdjddjdkdldmdldkdndndodpdqi drd!dsdJdtdudvd
dwdxdydWdzdGd{dd|dd}d~ddddJddGddgdddd-ddd,dQdddJd!d!dd!i dddddidd!d,ddddd!g d*ddddddddi ddjddJdddg ddddddQi dd-dddddddi dddqdddddQi dddddddd-i dddddddd-i dddcddddd-i dddd!ddddd-i ddd	ddddddmi ddddddd-i ddddddddQi dddddddd+i ddddddddi ddddddddi dddddddi dddddddi dddddddQi ddddddd)i dddddd)i dddi ddJddddddXdd,dddddd!dddd!ddddJdd!ddJdd!ddJddÓi ddJddJddǓddɓdd!dddd!dd!dd!dd!dd!ddJddJddJddՓddדddٓi ddۓddݓddjdjdߜdd!dd!ddJdddd!dd!dd!dddi ddddddd!iddJiddJidddJg ddddddJdddddidddJdddJdddddddddddddd	dddJid dddidddddd	d
ddJddddddJddddddddddddd	dddddddiddאd	ddd!d!d1dِdddd!ddd d!d"dd#d$dd#d%dd#ddid&ddJdJd'ddid(dd)dQdJd!d*d!dd+d!dud+d,gd-d.dJdd
d/d0ddd!d!d1dd2d3did4d5id6d7d8d9d:d;d<d=d!d>dGd?d@dAi dBd!d!dJdCdDddEdFdddddd!dndddddGd!dJdGdHddIddWidJdddJdddאdKdLdMddNdMgddOdMdd!dPidQdRg d!dJdXdJdJdSdTd!dUdjd-dVdJd!d!dldWdXdYi dZdd[d!ddddJdJi d\d]i d^d!d_dd`ddad!dbdJdcdJddd!dedndfdJdddgdXdhdid!djddkdjdlddmd-dni doddpddJdqdJd,dQdJd!ddrdsdd!g dtdudvdwi dxdJi ddJdJdydzd{d!ddi d|d}d!ddd~ddd,dddg d!d!ddg i di di di ddJdi ddJd!d!ddld!dJg g dg d!d	dd!ddddddddd!dJd
dndXd
dd!d!ddjddGddd
d!ddddddiddddldldWdddidddldddd!ddGi ddddJidddJd!d!d!ddlddddddJdi diddd!d-d!d!ddliddddldQddrdJiddJg d!dddXidddJdddZdd?dddJdVdJdd!d-dZdJdd!ddi ddddrdJiiddldd!dd!ddddi dÜdd
d+djdŜdJddd,dJddǜd!d!ddȜdJi dddd,d!dʜd˜dldldgdJd̐dd
dΜdJdd!dd!dJd
g dќd!g g g ddd!ddjdҜdӜddԐd՜d֐dלZi dؐdِdd
dJdd!dܜdݐdސdߐdd!dgdd!dddddd!dd!dܜddddd!dd!dܜdddd
dJdd!dܜdddddJdd!dܜddddd!dd!dܜdddd
dJdd!dܜddddd!dd!dܜdddd
dJdd!dܜddd d
d!dd!dܜdddd
dJdd!dܜddddd!dd!dܜdd	d
dd!dd!dܜdd	d
dd!dd!dܜdddd
dJdd!dܜddddd!dd!dܜi dddd
dJdd!dܜddddd!dd!dܜddddd!dd!dܜdddd
dJdd!dܜdd d d!d!dd!dܜd"d#d$d
dJdd!dܜd%d&d&d'd!dd!dܜd(d)d*d
dJdd!dܜd+d,d,d-d!dd!dܜd.d/d0d1d!dd!dܜd2d3d4d
dJdd!dܜd5d6d7d8d!dd!dܜd9d:d;d
dJdd!dܜd<d=d>d?d!dېd@dAdBdCddJdېd@dDdEdFdGd!dېd@dHdIdJddJdd!dܜi dKdLdMd
dJdd!dܜdNdOdPdQd!dd!dܜdRdSdTd
dJdd!dܜdUdVdWdQd!dd!dܜdXdYdZd
dJdd!dܜd[d\d]d^d!dېd@d_d`dad
dJdd!dܜdbdcddded!dd!dܜdfdgdhd
dJdd!dܜdidjdkdld!dېd@dmdndod
dJdd!dܜdpdqdrdsd!dېd@dtdudvd
dJdd!dܜdwdxdydzdJdd!dܜd{d|d}d
dJdd!dܜd~dddd!dېd@dddd
dJdd!dܜi ddddddgd!ddddddddgd!ddddddddgd!dddddd
dJdd!dܜdddd
dJdd!dܜdddd
dJdd!dܜdddd
dJdd!dܜdddd
d!dd!dܜddddddgd!dddddddgdJdddddddgd!ddddddddgd!ddddddddgdJddddddddgd!dddddddgdJddddddg dĢdJdd!dŜdƐdǐdȐdɐddgdJddi dʐdːd̐dɐddgd!dd!dŜd͐dΐdϐdАdѐdgd!dddӐdԐdՐd֐dgd!dddאdؐdِdڐdېdgd!dddݐdސdߐdddgd!ddddddd!dd@ddddd!dd@ddddd!dd@ddddd!dd!dܜddddd!dd!dܜddddd!dd!dܜddddd!dd!dܜdd dddgd!ddddddddd	d
ddgd!ddddddd!ddddddgd!ddi dddddgd!dddddddgd!ddd d!d"dd!dd#d$d%d&d'gd!ddd(d)d*d+gd!ddd,d-d.dd!dd/d0d1d2dJdd@d3d4d5d2d!dd@d6d7d8d
dJdd!dܜd9d:d;d<d!d=d@d>d?d@dAdJd=d@dBdCdDdJd=dEdFdGdHdId!d=d@dJdKdLd
dJd=d@dMdNdOd
dJd=d@dPdQdRdSdTd!d=dUdVdWdXdYdTd!d=dUi dZd[d\d]dTdJd=dUd^d_d`dadJd=d@dbdcddd
d!d=d@dedfdgd
dJd=d@dhdidjd
dJd=d@dkdldmd
dJd=d@dndodpdqdJd=d@drdsdtd
d!d=d@dudvdwd
dJd=d@dxdydzd
dJd=d@d{d|d}d
dJd=d!dܜd~ddd
dJd=d!dܜdddd
dJd=d!dܜdddd
dJd=d!dܜdddd
dJd=d!dܜdddd
d!d=d!dܜdddddJd=d@i dddd
d!d=d@dddd
dJd=d@dddd=dddddd=ddddd!d=dE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dd=ddddd
dJd=d@dddd
dJd=d@dddd
dJd=d@dddd
d!d=d!dܜdddd
d!d=d!dܜdÐdĐdd
dJd=d!dܜdƐdd
dJd=d!dܜdȐdd
d!d=d!dܜdʐdd
dJd=d!dܜd̐dd
dJd=d!dܜdΐdd
dJd=d!dܜdАdd
dJd=d!dܜdҐdd
d!d=d!dܜdԐdd
dJd=d@d֐dd
dJd=d@dؐdd
d!d=d@dڐdd
d!dܐd@dݐdd
dJdܐd@dߐdd
dJdܐd@dZd
S (  zDefault configuration data for Hermes Agent.

Pure-data leaf module: DEFAULT_CONFIG and OPTIONAL_ENV_VARS, extracted
verbatim from hermes_cli/config.py. Must not import from hermes_cli.config.
model 	providersfallback_providerscredential_pool_strategiestoolsetsz
hermes-clidatabasewalN)journal_modewal_autocheckpointjournal_size_limitmax_concurrent_sessionsmax_live_sessions   agent	max_turnsi  gateway_timeouti  restart_drain_timeout    restart_after_turn_timeouti`T  build_wait_timeoutiX  api_max_retries   service_tiertool_use_enforcementautointent_ack_continuationtask_completion_guidanceTparallel_tool_call_guidanceenvironment_probeenvironment_hintcoding_contextcoding_instructionsverify_guidancemax_verify_nudgesi  i     i,     )verify_on_stopgateway_timeout_warningclarify_timeoutgateway_notify_intervalsession_stall_timeoutgateway_auto_continue_freshness%gateway_startup_restore_drain_timeoutlocal_stream_stale_timeoutimage_input_modedisabled_toolsetsreasoning_overridesterminalbackendlocal
modal_modecwd.font_familytimeoutdaemon_term_grace_secondsg       @env_passthrough	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   i   i   F1g)container_cpucontainer_memorycontainer_diskcontainer_persistentdocker_volumesdocker_mount_cwd_to_workspacedocker_networkdocker_extra_argsdocker_shm_sizedocker_run_as_host_userpersistent_shellwebi:  )r3   search_backendextract_backendextract_char_limitbrowserx   must_respondzhost.docker.internal)managed_persistenceuser_idsession_keyadopt_existing_tabrewrite_loopback_urlsloopback_host_alias)inactivity_timeoutcommand_timeoutrecord_sessionsheadedallow_private_urlsengineauto_local_for_private_urlscdp_urlallow_unsafe_evaluaterestrict_evaluatedialog_policydialog_timeout_scamofoxcheckpoints   
         )enabledmax_snapshotsmax_total_size_mbmax_file_size_mb
auto_pruneretention_daysmin_interval_hourscontext_file_max_charsfile_read_max_charsi mcp_discovery_timeoutg      ?"mcp_single_query_discovery_timeoutg      .@mcpauto_reload_on_config_change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
warn_afterhard_stop_after	loop_capscompressionrs   progress_notices	thresholdg      ?threshold_tokenstarget_ratiog?protect_last_nmin_tail_user_messagesmax_attemptsproactive_prune_tokens proactive_prune_min_result_charsi@  "proactive_prune_min_reclaim_tokensi   micro_compactmicro_compact_every_n_turns%micro_compact_defrag_threshold_tokenshygiene_hard_message_limiti  hygiene_timeout_secondshygiene_total_ceiling_secondsnative) hygiene_failure_cooldown_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in_placemodel_thresholdsidle_compact_after_secondsprompt_caching	cache_ttl5m
openrouterg?)response_cacheresponse_cache_ttlmin_coding_scorebedrock)rs   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)providerr   base_urlapi_keyr9   
extra_bodyreasoning_effortdownload_timeoutweb_extractih  )r   r   r   r   r9   r   r   
skills_hubapprovaltitle_generation)	rs   r   r   r   r   r9   r   r   languagememory_query_rewrite)r   r   r   r   r9   r   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	interfaceclitui_auto_resume_recenttui_agents_nudgebell_on_completeshow_reasoningreasoning_fullmemory_notificationson	streaming
timestampstimestamp_formatz%H:%Mfinal_response_markdownstrippersistent_outputpersistent_output_max_lines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      ?user_message_preview)first_lines
last_linesinterim_assistant_messagesshow_commentarytool_progress_commandtool_preview_lengthfriendly_tool_labelsturn_summaryspinner_token_flowtool_progress_grouping
accumulatestatus_phrasesreasoning_stylecodeephemeral_system_ttl	platforms)telegramdiscordslackruntime_footer)r   context_pctr6   )rs   fieldscopy_shortcutpetgQ?)rs   slugrender_modescaleunicode_cols	dashboard   )	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oauth
basic_auth
drain_auth
public_urlprivacy
redact_piittsedgevoicezen-US-AriaNeuralpNInz6obpgDQGcFmaJgBeleven_multilingual_v2)voice_idmodel_idzgpt-4o-mini-ttsalloy)r   rE  zgemini-2.5-flash-preview-ttsKore)r   rE  
audio_tagspersona_prompt_fileevei]  i  )rH  r   speedauto_speech_tagsoptimize_streaming_latencysample_ratebit_ratezvoxtral-mini-tts-2603z$c69964a6-ab8b-4f8a-9465-ec0925096ec8)r   rH  zspeech-02-hdEnglish_expressive_narratorz!KittenML/kitten-tts-nano-0.8-int8Jasperzneuphonic/neutts-air-q4-ggufcpu)	ref_audioref_textr   devicezen_US-lessac-medium)r   rD  
elevenlabsopenaigeminixaimistralminimax	kittenttsneuttspiper	deepinfrasttbaseg333333?g      )r   r   initial_promptvadvad_min_silence_msno_speech_prob_thresholdlogprob_thresholdzwhisper-large-v3-turbo)r   r   z	whisper-1zvoxtral-mini-latest	scribe_v2)rI  language_codetag_audio_eventsdiarize)rs   echo_transcriptsr   r   r4   groqr[  r^  r]  rZ  rc  zctrl+bg333333?g      @stop)
record_keymax_recording_secondsauto_ttsbeep_enabledbeep_volumethinking_soundsilence_thresholdsilence_durationbarge_inbarge_in_grace_secondsbarge_in_threshold_multiplierstop_phrases	wake_wordopenwakewordz
hey hermes
hey_hermes)r   inference_framework	model_dirkeywordjarvis)rs   surfaceinput_devicer   phrasesensitivityconfirmation_framesstart_new_sessionprofile_routingr  sherpa	porcupinehuman_delayoffi   i	  )modemin_msmax_mscontext
compressorg      N@g        )rs   cooldown_secondslog_every_ninfo_log_min_delta_mb)rf   memory_trimmemoryi  i_  )memory_enableduser_profile_enabledwrite_approvalmemory_char_limituser_char_limitr   
delegation)r   r   r   r   api_modeinherit_mcp_toolsetsmax_iterationsmax_summary_charschild_timeout_secondsr   max_concurrent_childrenmax_spawn_depthorchestrator_enabledsubagent_auto_approveprefill_messages_filegoalsmoazopenai-codexzgpt-5.5)r   r   zdeepseek/deepseek-v4-prozanthropic/claude-opus-4.8)reference_models
aggregator
max_tokensrs   )default_presetactive_presetsave_traces	trace_dirprivacy_filterpresetsskills)external_dirstemplate_varsinline_shellinline_shell_timeoutguard_agent_createdr  r      Z   )rs   keep)rs   interval_hoursmin_idle_hoursstale_after_daysarchive_after_daysconsolidateprune_builtinsbackuphonchotimezoner!  )require_mentionfree_response_channelsallowed_channelsrequire_mention_channelsignore_other_user_mentionsthread_require_mentionchannel_promptsr   r  r  r  auto_threadr  bots_require_inline_mentionhistory_backfillhistory_backfill_limitmissed_message_backfilld   )rs   channelswindow_secondslimitmax_dispatches	reactions#websocket_liveness_interval_seconds$websocket_liveness_failure_threshold'websocket_heartbeat_ack_max_age_secondswebsocket_max_latency_secondsr  dm_role_auth_guildserver_actionsi   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.)rs   ambient_enabledambient_pathambient_gain	duck_gainspeech_gainack_enabledack_phrases)allow_any_attachmentmax_attachment_bytesapproval_mentions(voice_channel_inactivity_timeout_secondsvoice_playback_timeout_secondsvoice_fxwhatsappr  )rich_messagesrich_drafts)r  r  allowed_chatsextra
mattermost)r  r  r  r  matrix)r  free_response_roomsallowed_rooms	approvalssmartdeny)r  r9   	cron_modesmart_policydenial_breaker_thresholdr  mcp_reload_confirmdestructive_slash_confirmcommand_allowlistquick_commandsplatform_hintshookshooks_auto_acceptpersonalitiessecuritytirith)rs   domainsshared_files)	re   redact_secretstirith_enabledtirith_pathtirith_timeouttirith_fail_openwebsite_blocklistacked_advisoriesallow_lazy_installscronzhttps://portal.nousresearch.com)r.  callback_urlexpected_audiencenas_jwks_url)
model_drift_guardr   model_providerr   chronoswrap_responsemirror_deliverymax_parallel_jobsoutput_retentionsession_db_timeout_secondskanbani    i@8  )auto_subscribe_on_createdispatch_in_gatewaydispatch_interval_secondsfailure_limitworker_log_rotate_bytesworker_log_backup_countorchestrator_profiledefault_assigneemax_in_progress_per_profileauto_decomposeauto_decompose_per_tickdispatch_stale_timeout_secondscode_executionr  projecttoolstool_searchi  )rs   threshold_pctsearch_default_limitmax_search_limitlistinglisting_max_tokensloggingINFO)levelmax_size_mbbackup_countmodel_catalogzAhttps://hermes-agent.nousresearch.com/docs/api/model-catalog.json)rs   url	ttl_hoursr   network
force_ipv4
monitoringzhermes-gateway
production)zservice.namezdeployment.environment.name)rs   metrics_enableddiagnostic_events_enabledwarning_error_events_enabledexport_interval_secondslogs_export_interval_secondsresource_attributesotlp)rs   endpointheaders_env)
install_idgateway_health_exportexportgatewayidle_timeout_minutes)max_restartsr  )
max_startsr  i   max_concurrent_runs)delivery_ledgerplatform_connect_timeoutloop_watchdogwrite_sessions_jsonscale_to_zerorestart_loop_guardrespawn_stormmessage_timestampsmax_inbound_media_bytesstrictmedia_delivery_allow_dirstrust_recent_filestrust_recent_files_seconds
api_serverg?u    ▉)rs   	transportedit_intervalbuffer_thresholdcursorfresh_final_after_secondssessionsadvisei  )rw   rx   auto_archiveauto_archive_daysvacuum_after_prunemin_vacuum_interval_daysry   write_json_snapshotsfts_optimize_noticecjk_ftssearch_slow_msask)seenprofile_buildshared_metricsquickstash)pre_update_backupbackup_keepnon_interactive_local_changesrefresh_cua_driverdocumentg      @g     @)rs   	wait_modewait_timeoutinstall_strategyidle_timeoutserverszgrok-4.5)r   r   timeout_secondsretriesBWS_ACCESS_TOKEN)rs   max_stale_seconds)rs   access_token_env
project_idcache_ttl_secondsencrypted_cacheoverride_existingauto_install
server_urlOP_SERVICE_ACCOUNT_TOKEN)rs   envaccountservice_account_token_envbinary_pathr  r  )	bitwardenonepasswordi  som)cua_telemetrymax_image_dimensioncapture_after_mode
no_overlayi#  r  )rs   tunnel_portr  credential_sourceenforce_on_dockerallow_env_fallbackupstream_deny_cidrsextra_allowed_hosts)rs   freshness_minutesr   )repo_scan_enabledrepo_scan_rootsrepo_scan_exclude_pathselectron_flagsdisable_gpumacos_signing_identityauto_continueglobal)r  r   !   )
onboarding	telemetryupdateslspx_searchsecretspaste_collapse_threshold!paste_collapse_threshold_fallbackpaste_collapse_char_thresholdcomputer_useproxydesktopvertex_config_versionNOUS_BASE_URLzNous Portal base URL overridez.Nous Portal base URL (leave empty for default)r   )descriptionpromptr7  r1  categoryadvanced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  r7  r1  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 base URL overridez)Gemini base URL (leave empty for default)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-deleteXAI_API_KEYzxAI API keyzhttps://console.x.ai/XAI_BASE_URLzxAI base URL overridez&xAI base URL (leave empty for default)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 base URL overridez,LM Studio base URL (leave empty for default)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 base URL overridez-Z.AI / GLM base URL (leave empty for default)KIMI_API_KEYzKimi / Moonshot API keyzKimi API keyzhttps://platform.moonshot.cn/KIMI_BASE_URLz!Kimi / Moonshot base URL overridez'Kimi base URL (leave empty for default)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 base URL overridez4StepFun Step Plan base URL (leave empty for default)ARCEEAI_API_KEYzArcee AI API keyzhttps://chat.arcee.ai/ARCEE_BASE_URLzArcee AI base URL overridez(Arcee base URL (leave empty for default)GMI_API_KEYzGMI Cloud API keyzhttps://www.gmicloud.ai/GMI_BASE_URLzGMI Cloud base URL overridez,GMI Cloud base URL (leave empty for default)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_URLzMiniMax base URL overridez*MiniMax base URL (leave empty for default)MINIMAX_CN_API_KEYz MiniMax API key (China endpoint)zMiniMax (China) API keyzhttps://www.minimaxi.com/MINIMAX_CN_BASE_URLz!MiniMax (China) base URL overridez2MiniMax (China) base URL (leave empty for default)DEEPSEEK_API_KEYz+DeepSeek API key for direct DeepSeek accesszDeepSeek API Keyz&https://platform.deepseek.com/api_keys)r  r  r7  r1  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OPENCODE_ZEN_BASE_URLzOpenCode Zen base URL overridez/OpenCode Zen base URL (leave empty for default)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 base URL overridez.OpenCode Go base URL (leave empty for default)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_URLz2Hugging Face Inference Providers base URL overridez%HF base URL (leave empty for default)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tool)r  r  r7  r*  r1  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_DOMAINzShared 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_SCHEMEzShared 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_KEYz3Tavily API key for AI-native web search and extractzTavily API keyzhttps://app.tavily.com/home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/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))r  r  r*  r1  r  AGENT_BROWSER_ENGINEzaBrowser engine for local mode: auto (default Chrome), lightpanda (faster, no screenshots), chromez'Browser engine (auto/lightpanda/chrome)z,https://github.com/vercel-labs/agent-browser)r  browser_snapshotr  browser_vision)r  r  r7  r*  r1  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FAL_KEYz*FAL API key for image and video generationzFAL API keyzhttps://fal.ai/image_generate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skill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))r  r  r  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)r  r  r  r  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	messaging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))r  r  r1  r  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_MODEzDiscord 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_TOKENzSlack 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-...)zIn your Slack app, add the required bot scopes, install the app to the workspace, then copy OAuth & Permissions > Bot User OAuth Token.zhttps://api.slack.com/apps)r  r  helpr7  r1  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_USERSzComma-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.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)r  r  r7  r  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)zrEnable the OpenAI-compatible API server (true/false). Allows frontends like Open WebUI, LobeChat, etc. to connect.zEnable API server (true/false)z|Bearer token for API server authentication. Required whenever the API server is enabled; server refuses to start without it.zAPI server auth keyz(Port for the API server (default: 8642).zAPI server portzsHost/bind address for the API server (default: 127.0.0.1). API_SERVER_KEY is still required even on loopback binds.zAPI server hostzModel 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 nameu  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)zBearer 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 keyzREnable the webhook platform adapter for receiving events from GitHub, GitLab, etc.zEnable webhooks (true/false)z1Port for the webhook HTTP server (default: 8644).zWebhook portz[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 passwordsettingzFPath 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)API_SERVER_ENABLEDAPI_SERVER_KEYAPI_SERVER_PORTAPI_SERVER_HOSTAPI_SERVER_MODEL_NAMEGATEWAY_PROXY_URLGATEWAY_PROXY_KEYWEBHOOK_ENABLEDWEBHOOK_PORTWEBHOOK_SECRETSUDO_PASSWORDHERMES_PREFILL_MESSAGES_FILEHERMES_EPHEMERAL_SYSTEM_PROMPT)__doc__DEFAULT_CONFIGOPTIONAL_ENV_VARS     @/home/thesage/.hermes/hermes-agent/hermes_cli/config_defaults.py<module>rf     sd1   o0Ro0o0 "o0 !"	o0
 o0  #" o0$ t%o0. /o00  ZSZ 	4Z  	 !Z. 	%e/Z> 	c?ZP 	1QZR 	SZ^ 	_Zr 	"6sZ~ 	#DZP 	&tQZ` 	TaZn 	BoZL 	&MZZ 	r[Zd 	4eZj 	QkZ~ ! $'   $' "% ,0 24 '* #  "sZ Z Z1o0h  o7ofo 	so 	ro 	3o$ 	$S%o, 	2-o: 	V;oT 	BUon 	doop 	Dqor 	bso~ 	bo@ 	RAoB 	CCoD 	EEoJ 	(KoN   $  */ 
   $)
 !]o o oio0J 
#	 Ko0X ! # '+!&"
 (
 $) "' &+#9
 
/( (Yo0@  
 ! "  C" "Ao0T dUo0^ 7_o0| S}o0P )$Qo0 o0X 
 	'
Yo0L  Mo0^  "!"&'
 
 !"&'
 
 !#
 
+ _o0T  A4AEA 	TA  	D!A( 	)A* 	"+A, 	!!-A8 	9AB 	!!CA\ 	+D]Ad 	-deAp 	qAH 	&qIAV 	0WA^ 	%d_A` 	"2aAj 	(kAp -0#& *-  %* "& )- "*    '(eA A AUo0b Tco0H !  Io0X ! $
 
 %'!#&-
 
 Yo0p  o 	Qo 	Uo* 	B+o8 	 9o: 	 " "	
 	
;oN 	 "
 
Oo` 	 "
 
aoz 	 "
 
{oL 	 "
 
Mo^ 	 "
 
_op 	 "

 

qoF 	!
 !
GoV 	 "
 
Wor 	 "
 
soN 	 "
 
Ooh 	 "
 
io@ 	 "
 
Ao^  "
 
   "
 
*  "
 
 
 
 
 
Mo o oqo0R!  j5jrj 	&j 	Bj 	 j 	%cj 	%aj  	 !j" 	;#j* 	!$+j6 	U7j@ 	!%AjJ 	DKjL 	EMjV 	$Wj^ 	%_jj 	kj jl 	Umjn 	eojp 	Gqjr 	"7sjz 	T{j| 	&s}jD 	4EjF 	GjV 	!$Wj` 	4ajn 	$Tojp 	Uqjv 	5wjD 	eEjF 	$UGjH 		IjR 	DSj j jX 		Yjh 	ijj 	!
 !
kjr 	%dsj~ 	4j@ 	 AjJ 	qKjT 	Uj` 	ajh 	dijt 	!,ujF 	"GjR 	6Sjb 	cjF 	$d+#U+!5)
 
GjX 	555
 
Yj` 	aj jl 	  "  %
 
mj jS!o0l(   ')$% !& 
 
4 #$
 
(  "
 
0 Oh hm(o0B, eC,o0T, 
 '

 /0
 

 '
 
 4  
 $&
 
  %*+ 
 
 ->
 

 $5
 

 9
 

 3	
 
 *	
 
 
QM MU,o0r. 
 !   "%(+!%

 

 .
 

 !
 

 +
 

 
 $ %	
 
 R
[1 1s.o0X0 !$ "%),   Y0o0B1 " ! "
 $&
 
 
 x
7   C1o0F2  G2o0^2   $  &)	
 	
	 _2o0 o0 o0@3  $  !
 - A3o0z3  !%  #!"
 #$  $ "'u; ;{3o0z5 R{5o0N6 
 	RO6o0d6 
#  !/)DD!-8RSS% ,8B]^^" 

+   e6o0n7 
   "  %  M' 'o7o0T9   !   
 
E& &U9o0j: bk:o0r: s:o0x: "$ %' ',"' y:o0Z;  U4U "U 	BU 	t	U
 	!%U 	&uU 	DU 	!"U 	"# $
 $
U  	T!U* 	.r+U, 	/-U. 	22/U0 	(1U2 	23U> 	b?UN 	"OUZ !&
 !)
 # 58 +. #   
 
KU U U[;o0J>  K>o0Z> " 
 
	 [>o0p> "$	 q>o0@? ! A?o0h?   %&  # &*Y- -i?o0HA IAo0 o0 o0LA bMAo0lA bmAo0~A RAo0JB KBo0RB RSBo0XB # 
 
   $5 YBo0RC 
 "    < !# 
 
  * !
 "  ')cR RSCo0FF  %)  $ &(  $3#$ !#  (,
  $% +0y= =GFo0FH  		GHo0vH    %& "  #'E#
 #
%wHo0HJ  IJo0^J R   _Jo0@K  	e	AKo0\K 
  #)-,0'),- 0/;$ $"
 "
   ! 
- ]Ko0^L    %'   $ #A
"  
 
 !
 
 u
 $-   &( # '* "2
US S_Lo0VQ     
 &); WQo0`R      # %' ! !&"  (  SJ JaRo0 o0@U    	u
4 %
   *1
 #[. .~    #  S* *j  !   F  !3 "% !%&    "& ! O(
 (
X   
 *D  "% "&5
 
gO OD !")*%)   $ $ - R    # " $  $  "[. .j "#%
   #% !#
 
A' 'j    ]ao0 o0 o0daO6B O W&+"# O& U,7 'O6 L"7 7OF ;= GOV f
 oE   WOn $& oO~ .: ON T&* OO^ cA _On N4 oO~ 4@ ON [& OO^ =  _On =  oO~ 5A ON 0 . OO O^ :; _On 6(. oO~ 2-. ON <H OO^ )$' _On 3< oO~ *%) ON 4@ OO^ -(A _On 8#( oO~ 2> ON 9+* OO^ :F _On D$7 oO| @% }OJ W%> KOX `& YO O Oh [B iOx V() yOH	 7C I	OX	 U') Y	Oh	 6B i	Ox	 o&7 y	OF
 K9 G
OV
 W(, W
Of
 X= g
Ov
  B'0 w
OD _= EOT =#4 UOb W> cOr XZ sOB _ COR I)& SO` e* aO O Or J . sOB N$%. COR F%'. SOb O= cOr jM sOB  o. COR  j+ SOb  O+   cOr L",. sOB U<3 COR Z3. SOb n')$o6 cOr \*)$o6 sOB n')$o6 COR Y1$o6 SO` z;=\\\ aOr r&:$o6 sO O OB t#:$o6 COT C "$45 UOd R 8"# eOt X:5'6 uOD f&'"$9: EOT P#, UOb  K(. cOp \ 3 qOJ N"6 KOZ M"= [Oj V$3 kOz V!F {ON G"'"# OO^ V@ _Ol L%/$% mO| e%	 }OL V''&' MO O O` M $ aOt ?$%#$ uOD h%	 EOT `%* UOh L&!" iOv O'	 wOF !@'+# #GOT !@'+# #UOb RL! !cOv z&' wOD  U?) EOR z1	 SO^ @%< _Ol P> mOz  a6 {OH u / Z+	 	IO\ U / L+	 	]O O Op  a, I+ qO@ L)/ AON F( OO\ SA! !]Oj !z0# #kOx (c?* *yOF P)6 GOT L' UOb B1 cOp e= qO~ s: ON !\<# #OO^ Y= _On W; oO~ g= ON  ]' OO^ h*) _O O Ol c/ mOz  c@" "{OH "F/$ $IOR G!	 SO^ C$	 _Oj K$ kOt V* uO~ M& OH U# IOR =(   SO\ T# ]Of C gOt ; uOB  B  C OP  :' Q O`  B% a Op  f0   q O OB! L2  V'  B#  M#  u)  yQ  [.  l0  K   u"  S! " `.% % i+' 'Q$O O O   rd  