diff --git a/bin/console b/bin/console index f32609139..48f280122 100755 --- a/bin/console +++ b/bin/console @@ -25,6 +25,7 @@ RubyLLM.configure do |config| config.perplexity_api_key = ENV.fetch('PERPLEXITY_API_KEY', nil) config.vertexai_location = ENV.fetch('GOOGLE_CLOUD_LOCATION', nil) config.vertexai_project_id = ENV.fetch('GOOGLE_CLOUD_PROJECT', nil) + config.xai_api_key = ENV.fetch('XAI_API_KEY', nil) end IRB.start(__FILE__) diff --git a/docs/_getting_started/configuration.md b/docs/_getting_started/configuration.md index e34b30ad6..211b9e60e 100644 --- a/docs/_getting_started/configuration.md +++ b/docs/_getting_started/configuration.md @@ -59,6 +59,7 @@ RubyLLM.configure do |config| config.mistral_api_key = ENV['MISTRAL_API_KEY'] config.perplexity_api_key = ENV['PERPLEXITY_API_KEY'] config.openrouter_api_key = ENV['OPENROUTER_API_KEY'] + config.xai_api_key = ENV['XAI_API_KEY'] # Local providers config.ollama_api_base = 'http://localhost:11434/v1' diff --git a/docs/_reference/available-models.md b/docs/_reference/available-models.md index b76946b46..429d8e2f0 100644 --- a/docs/_reference/available-models.md +++ b/docs/_reference/available-models.md @@ -30,7 +30,7 @@ redirect_from: ## Last Updated {: .d-inline-block } -2025-09-21 +2025-09-26 {: .label .label-green } ## Models by Provider @@ -39,44 +39,44 @@ redirect_from: | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | -| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25, Cache: $0.30 | -| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00, Cache: $1.00 | +| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25 | +| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00 | | claude-3-opus-20240229 | anthropic | 200000 | 4096 | In: $15.00, Out: $75.00 | -| claude-opus-4-20250514 | anthropic | 200000 | 32000 | In: $15.00, Out: $75.00, Cache: $18.75 | -| claude-opus-4-1-20250805 | anthropic | 200000 | 32000 | In: $15.00, Out: $75.00, Cache: $18.75 | +| claude-opus-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | +| claude-opus-4-1-20250805 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20241022 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20240620 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | -| claude-3-7-sonnet-20250219 | anthropic | 200000 | 64000 | In: $3.00, Out: $15.00, Cache: $3.75 | -| claude-sonnet-4-20250514 | anthropic | 200000 | 64000 | In: $3.00, Out: $15.00, Cache: $3.75 | +| claude-3-7-sonnet-20250219 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | +| claude-sonnet-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | ### Bedrock (28) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | -| anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-v2:1:200k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | -| anthropic.claude-3-haiku-20240307-v1:0:200k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-haiku-20240307-v1:0:48k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | -| anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | -| anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-haiku-20240307-v1:0:200k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-haiku-20241022-v1:0 | bedrock | 200000 | 4096 | In: $0.80, Out: $4.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-instant-v1:2:100k | bedrock | 200000 | 4096 | In: $0.80, Out: $2.40 | | us.anthropic.claude-opus-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | @@ -98,24 +98,24 @@ redirect_from: | :-- | :-- | --: | --: | :-- | | embedding-001 | gemini | 2048 | 1 | - | | embedding-gecko-001 | gemini | 1024 | 1 | - | -| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-pro-002 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-001 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | -| gemini-1.5-pro-002 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-latest | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | -| gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-exp | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-live-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-preview-image-generation | gemini | 32000 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | -| gemini-2.0-flash-lite | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gemini-2.0-flash-lite | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite-preview | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30 | | gemini-2.0-flash-lite-preview-02-05 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30 | | gemini-2.0-pro-exp | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | @@ -124,35 +124,35 @@ redirect_from: | gemini-2.5-flash-preview-05-20 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-image-preview | gemini | 32768 | 32768 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-live-2.5-flash-preview | gemini | 1048576 | 8192 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash-native-audio-preview-09-2025 | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-exp-native-audio-thinking-dialog | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | -| gemini-2.5-flash-preview-native-audio-dialog | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-preview-tts | gemini | 8000 | 16000 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-06-17 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-preview-06-17 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-2.5-flash-lite-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro | gemini | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | gemini-2.5-pro-preview-06-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-03-25 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-05-06 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-tts | gemini | 8000 | 16000 | In: $1.25, Out: $10.00, Cache: $0.31 | -| gemini-embedding-001 | gemini | 2048 | 1 | - | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-exp-1206 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-lite-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-pro-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-robotics-er-1.5-preview | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemma-3-12b-it | gemini | 32768 | 8192 | In: $0.08, Out: $0.30 | | gemma-3-1b-it | gemini | 32768 | 8192 | In: $0.08, Out: $0.30 | | gemma-3-27b-it | gemini | 131072 | 8192 | In: $0.08, Out: $0.30 | | gemma-3-4b-it | gemini | 32768 | 8192 | In: $0.08, Out: $0.30 | | gemma-3n-e2b-it | gemini | 8192 | 2048 | In: $0.08, Out: $0.30 | | gemma-3n-e4b-it | gemini | 8192 | 2048 | In: $0.08, Out: $0.30 | -| imagen-3.0-generate-002 | gemini | 480 | 8192 | - | -| imagen-4.0-generate-preview-06-06 | gemini | 480 | 8192 | - | -| imagen-4.0-ultra-generate-preview-06-06 | gemini | 480 | 8192 | - | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | -| aqa | gemini | 7168 | 1024 | - | | text-embedding-004 | gemini | 2048 | 1 | - | @@ -230,103 +230,114 @@ redirect_from: | voxtral-small-latest | mistral | 32768 | 8192 | - | -### OpenAI (90) +### OpenAI (101) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | -| babbage-002 | openai | 4096 | 16384 | In: $0.40, Out: $0.40 | | chatgpt-4o-latest | openai | 128000 | 16384 | In: $5.00, Out: $15.00 | -| codex-mini-latest | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| dall-e-2 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| dall-e-3 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| davinci-002 | openai | 4096 | 16384 | In: $2.00, Out: $2.00 | +| dall-e-2 | openai | - | - | - | +| dall-e-3 | openai | - | - | - | +| gpt-image-1 | openai | - | - | In: $5.00, Out: $40.00, Cache: $1.25 | | gpt-3.5-turbo | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-0125 | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-1106 | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-16k | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-instruct | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-instruct-0914 | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | -| gpt-4 | openai | 8192 | 8192 | In: $10.00, Out: $30.00 | +| gpt-4 | openai | 8192 | 8192 | In: $30.00, Out: $60.00 | +| gpt-4-0613 | openai | 8192 | 8192 | In: $30.00, Out: $60.00 | | gpt-4-0125-preview | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-4-0613 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | | gpt-4-1106-preview | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | | gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | | gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | | gpt-4-turbo-preview | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | | gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | | gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.5-preview | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4.5-preview-2025-02-27 | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | | gpt-4o-2024-05-13 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-11-20 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-audio-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-audio-preview-2024-10-01 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-audio-preview-2025-06-03 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-transcribe | openai | 16000 | 2000 | In: $2.50, Out: $10.00 | +| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | gpt-4o-mini-audio-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | | gpt-4o-mini-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-realtime-preview | openai | 128000 | 4096 | In: $0.60, Out: $2.40 | -| gpt-4o-mini-realtime-preview-2024-12-17 | openai | 128000 | 4096 | In: $0.60, Out: $2.40 | -| gpt-4o-mini-search-preview | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-4o-mini-search-preview-2025-03-11 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | +| gpt-4o-mini-realtime-preview | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-realtime-preview-2024-12-17 | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-search-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-tts | openai | 2000 | - | In: $0.60, Out: $12.00 | | gpt-4o-mini-transcribe | openai | 16000 | 2000 | In: $1.25, Out: $5.00 | -| gpt-4o-mini-tts | openai | - | - | In: $0.60, Out: $12.00 | +| gpt-4o-audio-preview-2024-10-01 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-audio-preview-2025-06-03 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-realtime-preview | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | | gpt-4o-realtime-preview-2024-10-01 | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | | gpt-4o-realtime-preview-2024-12-17 | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | | gpt-4o-realtime-preview-2025-06-03 | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | -| gpt-4o-transcribe | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-5 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-chat-latest | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-audio | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-audio-2025-08-28 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-image-1 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-realtime | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-realtime-2025-08-28 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-mini | openai | 128000 | 65536 | In: $1.10, Out: $4.40 | -| o1-mini-2024-09-12 | openai | 128000 | 65536 | In: $1.10, Out: $4.40 | -| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o3 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-2025-04-16 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-deep-research | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-deep-research-2025-06-26 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | -| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | -| o3-pro | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-pro-2025-06-10 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini-2025-04-16 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini-deep-research | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini-deep-research-2025-06-26 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | +| gpt-5 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-2025-08-07 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-chat-latest | openai | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-mini-2025-08-07 | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-mini | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-nano | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-nano-2025-08-07 | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-codex | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | omni-moderation-2024-09-26 | openai | - | - | - | -| omni-moderation-latest | openai | - | - | - | -| tts-1 | openai | - | - | In: $15.00, Out: $15.00 | +| tts-1 | openai | - | - | In: $15.00 | | tts-1-1106 | openai | - | - | In: $15.00, Out: $15.00 | -| tts-1-hd | openai | - | - | In: $30.00, Out: $30.00 | +| tts-1-hd | openai | - | - | In: $30.00 | | tts-1-hd-1106 | openai | - | - | In: $30.00, Out: $30.00 | -| whisper-1 | openai | - | - | In: $0.01, Out: $0.01 | -| text-embedding-3-large | openai | - | - | In: $0.13, Out: $0.13 | -| text-embedding-3-small | openai | - | - | In: $0.02, Out: $0.02 | -| text-embedding-ada-002 | openai | - | - | In: $0.10, Out: $0.10 | +| whisper-1 | openai | - | - | In: $0.01 | +| babbage-002 | openai | - | 16384 | In: $0.40, Out: $0.40 | +| codex-mini-latest | openai | 200000 | 100000 | In: $1.50, Out: $6.00, Cache: $0.38 | +| computer-use-preview | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| computer-use-preview-2025-03-11 | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| davinci-002 | openai | - | 16384 | In: $2.00, Out: $2.00 | +| gpt-audio | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-audio-2025-08-28 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-oss-120b | openai | 131072 | 131072 | - | +| gpt-oss-20b | openai | 131072 | 131072 | - | +| gpt-realtime-2025-08-28 | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| gpt-realtime | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview-2024-09-12 | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-mini-2024-09-12 | openai | 128000 | 65536 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o1-mini | openai | 128000 | 65536 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o3 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-2025-04-16 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-deep-research | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-pro | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o3-pro-2025-06-10 | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o4-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-2025-04-16 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o4-mini-deep-research | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| omni-moderation-latest | openai | - | - | - | +| text-embedding-3-large | openai | - | - | In: $0.13 | +| text-embedding-3-small | openai | - | - | In: $0.02 | +| text-embedding-ada-002 | openai | - | - | In: $0.10 | +| text-moderation-latest | openai | - | 32768 | - | +| text-moderation-stable | openai | - | 32768 | - | -### OpenRouter (327) +### OpenRouter (325) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | @@ -369,13 +380,8 @@ redirect_from: | bytedance/seed-oss-36b-instruct | openrouter | 131072 | - | In: $0.16, Out: $0.65 | | bytedance/ui-tars-1.5-7b | openrouter | 128000 | 2048 | In: $0.10, Out: $0.20 | | deepcogito/cogito-v2-preview-llama-109b-moe | openrouter | 32767 | - | In: $0.18, Out: $0.59 | -| cohere/command | openrouter | 4096 | 4000 | In: $1.00, Out: $2.00 | | cohere/command-a | openrouter | 256000 | 8192 | In: $2.50, Out: $10.00 | -| cohere/command-r | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | -| cohere/command-r-03-2024 | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | | cohere/command-r-08-2024 | openrouter | 128000 | 4000 | In: $0.15, Out: $0.60 | -| cohere/command-r-plus | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | -| cohere/command-r-plus-04-2024 | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | | cohere/command-r-plus-08-2024 | openrouter | 128000 | 4000 | In: $2.50, Out: $10.00 | | cohere/command-r7b-12-2024 | openrouter | 128000 | 4000 | In: $0.04, Out: $0.15 | | deepcogito/cogito-v2-preview-deepseek-671b | openrouter | 163840 | - | In: $1.25, Out: $1.25 | @@ -386,6 +392,7 @@ redirect_from: | deepseek/deepseek-chat-v3.1 | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3.1:free | openrouter | 163840 | - | - | | deepseek/deepseek-v3.1-base | openrouter | 163840 | - | In: $0.25, Out: $1.00 | +| deepseek/deepseek-v3.1-terminus | openrouter | 163840 | - | In: $0.27, Out: $1.00 | | deepseek/deepseek-r1-0528-qwen3-8b | openrouter | 131072 | - | In: $0.01, Out: $0.05 | | deepseek/deepseek-r1-0528-qwen3-8b:free | openrouter | 131072 | - | - | | deepseek/deepseek-r1 | openrouter | 163840 | 163840 | In: $0.40, Out: $2.00 | @@ -402,17 +409,17 @@ redirect_from: | cognitivecomputations/dolphin3.0-r1-mistral-24b | openrouter | 32768 | - | In: $0.01, Out: $0.03 | | cognitivecomputations/dolphin3.0-r1-mistral-24b:free | openrouter | 32768 | - | - | | eleutherai/llemma_7b | openrouter | 4096 | 4096 | In: $0.80, Out: $1.20 | +| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | alpindale/goliath-120b | openrouter | 6144 | 512 | In: $4.00, Out: $5.50 | -| google/gemini-flash-1.5 | openrouter | 1000000 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | google/gemini-flash-1.5-8b | openrouter | 1000000 | 8192 | In: $0.04, Out: $0.15, Cache: $0.01 | -| google/gemini-pro-1.5 | openrouter | 2000000 | 8192 | In: $1.25, Out: $5.00 | | google/gemini-2.0-flash-001 | openrouter | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.0-flash-exp:free | openrouter | 1048576 | 8192 | - | | google/gemini-2.0-flash-lite-001 | openrouter | 1048576 | 8192 | In: $0.08, Out: $0.30 | | google/gemini-2.5-flash | openrouter | 1048576 | 65535 | In: $0.30, Out: $2.50, Cache: $0.08 | -| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | google/gemini-2.5-flash-lite | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.5-flash-lite-preview-06-17 | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | +| google/gemini-2.5-flash-lite-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| google/gemini-2.5-flash-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-pro | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview-05-06 | openrouter | 1048576 | 65535 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | @@ -436,14 +443,13 @@ redirect_from: | liquid/lfm-7b | openrouter | 32768 | - | In: $0.01, Out: $0.01 | | meta-llama/llama-guard-3-8b | openrouter | 131072 | - | In: $0.02, Out: $0.06 | | anthracite-org/magnum-v2-72b | openrouter | 32768 | - | In: $3.00, Out: $3.00 | -| anthracite-org/magnum-v4-72b | openrouter | 16384 | 2048 | In: $2.00, Out: $5.00 | +| anthracite-org/magnum-v4-72b | openrouter | 16384 | 2048 | In: $2.50, Out: $5.00 | | mancer/weaver | openrouter | 8000 | 2000 | In: $1.12, Out: $1.12 | | meituan/longcat-flash-chat | openrouter | 131072 | - | In: $0.12, Out: $0.60 | | meta-llama/llama-3-70b-instruct | openrouter | 8192 | 16384 | In: $0.30, Out: $0.40 | | meta-llama/llama-3-8b-instruct | openrouter | 8192 | 16384 | In: $0.03, Out: $0.06 | | meta-llama/llama-3.1-405b | openrouter | 32768 | - | In: $2.00, Out: $2.00 | | meta-llama/llama-3.1-405b-instruct | openrouter | 32768 | 16384 | In: $0.80, Out: $0.80 | -| meta-llama/llama-3.1-405b-instruct:free | openrouter | 65536 | - | - | | meta-llama/llama-3.1-70b-instruct | openrouter | 131072 | 16384 | In: $0.10, Out: $0.28 | | meta-llama/llama-3.1-8b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.03 | | meta-llama/llama-3.2-11b-vision-instruct | openrouter | 131072 | 16384 | In: $0.05, Out: $0.05 | @@ -451,7 +457,7 @@ redirect_from: | meta-llama/llama-3.2-3b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.02 | | meta-llama/llama-3.2-3b-instruct:free | openrouter | 131072 | - | - | | meta-llama/llama-3.2-90b-vision-instruct | openrouter | 32768 | 16384 | In: $0.35, Out: $0.40 | -| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.01, Out: $0.04 | +| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.04, Out: $0.12 | | meta-llama/llama-3.3-70b-instruct:free | openrouter | 65536 | - | - | | meta-llama/llama-3.3-8b-instruct:free | openrouter | 128000 | 4028 | - | | meta-llama/llama-4-maverick | openrouter | 1048576 | 16384 | In: $0.15, Out: $0.60 | @@ -522,6 +528,7 @@ redirect_from: | neversleep/llama-3-lumimaid-70b | openrouter | 8192 | 4096 | In: $4.00, Out: $6.00 | | neversleep/llama-3.1-lumimaid-8b | openrouter | 32768 | - | In: $0.09, Out: $0.60 | | neversleep/noromaid-20b | openrouter | 4096 | - | In: $1.00, Out: $1.75 | +| nousresearch/deephermes-3-llama-3-8b-preview | openrouter | 131072 | - | In: $0.01, Out: $0.05 | | nousresearch/deephermes-3-llama-3-8b-preview:free | openrouter | 131072 | - | - | | nousresearch/deephermes-3-mistral-24b-preview | openrouter | 32768 | - | In: $0.13, Out: $0.51 | | nousresearch/hermes-3-llama-3.1-405b | openrouter | 131072 | 131072 | In: $0.80, Out: $0.80 | @@ -553,8 +560,9 @@ redirect_from: | openai/gpt-4o-mini | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-2024-07-18 | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-search-preview | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60 | -| openai/gpt-5 | openrouter | 400000 | 128000 | In: $0.62, Out: $5.00, Cache: $0.06 | +| openai/gpt-5 | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-chat | openrouter | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| openai/gpt-5-codex | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-mini | openrouter | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | | openai/gpt-5-nano | openrouter | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | | openai/gpt-oss-120b | openrouter | 131072 | - | In: $0.05, Out: $0.25 | @@ -584,8 +592,6 @@ redirect_from: | qwen/qwen-2.5-coder-32b-instruct | openrouter | 32768 | 16384 | In: $0.06, Out: $0.15 | | qwen/qwen-2.5-coder-32b-instruct:free | openrouter | 32768 | - | - | | qwen/qwq-32b | openrouter | 32768 | - | In: $0.15, Out: $0.40 | -| qwen/qwq-32b:free | openrouter | 32768 | - | - | -| qwen/qwq-32b-preview | openrouter | 32768 | - | In: $0.20, Out: $0.20 | | qwen/qwen-plus-2025-07-28 | openrouter | 1000000 | 32768 | In: $0.40, Out: $1.20 | | qwen/qwen-plus-2025-07-28:thinking | openrouter | 1000000 | 32768 | In: $0.40, Out: $4.00 | | qwen/qwen-vl-max | openrouter | 7500 | 1500 | In: $0.80, Out: $3.20 | @@ -596,13 +602,13 @@ redirect_from: | qwen/qwen2.5-vl-32b-instruct | openrouter | 16384 | - | In: $0.04, Out: $0.14 | | qwen/qwen2.5-vl-32b-instruct:free | openrouter | 8192 | - | - | | qwen/qwen2.5-vl-72b-instruct | openrouter | 32768 | - | In: $0.07, Out: $0.28 | -| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 32768 | - | - | +| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 131072 | 2048 | - | | qwen/qwen-2.5-vl-7b-instruct | openrouter | 32768 | - | In: $0.20, Out: $0.20 | -| qwen/qwen3-14b | openrouter | 40960 | 40960 | In: $0.06, Out: $0.24 | +| qwen/qwen3-14b | openrouter | 40960 | - | In: $0.04, Out: $0.14 | | qwen/qwen3-14b:free | openrouter | 40960 | - | - | | qwen/qwen3-235b-a22b | openrouter | 40960 | 40960 | In: $0.18, Out: $0.54 | | qwen/qwen3-235b-a22b:free | openrouter | 131072 | - | - | -| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | 262144 | In: $0.10, Out: $0.10 | +| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | - | In: $0.09, Out: $0.60 | | qwen/qwen3-235b-a22b-thinking-2507 | openrouter | 262144 | - | In: $0.10, Out: $0.39 | | qwen/qwen3-30b-a3b | openrouter | 40960 | - | In: $0.06, Out: $0.22 | | qwen/qwen3-30b-a3b:free | openrouter | 40960 | - | - | @@ -620,6 +626,8 @@ redirect_from: | qwen/qwen3-max | openrouter | 256000 | 32768 | In: $1.20, Out: $6.00, Cache: $0.24 | | qwen/qwen3-next-80b-a3b-instruct | openrouter | 262144 | - | In: $0.10, Out: $0.80 | | qwen/qwen3-next-80b-a3b-thinking | openrouter | 262144 | - | In: $0.10, Out: $0.80 | +| qwen/qwen3-vl-235b-a22b-instruct | openrouter | 131072 | 32768 | In: $0.30, Out: $1.50 | +| qwen/qwen3-vl-235b-a22b-thinking | openrouter | 131072 | 32768 | In: $0.30, Out: $3.00 | | undi95/remm-slerp-l2-13b | openrouter | 6144 | - | In: $0.45, Out: $0.65 | | sao10k/l3-lunaris-8b | openrouter | 8192 | - | In: $0.04, Out: $0.05 | | sao10k/l3.1-euryale-70b | openrouter | 32768 | - | In: $0.65, Out: $0.75 | @@ -637,7 +645,7 @@ redirect_from: | tngtech/deepseek-r1t2-chimera:free | openrouter | 163840 | - | - | | tencent/hunyuan-a13b-instruct | openrouter | 32768 | - | In: $0.03, Out: $0.03 | | tencent/hunyuan-a13b-instruct:free | openrouter | 32768 | - | - | -| thedrummer/anubis-70b-v1.1 | openrouter | 16384 | - | In: $0.40, Out: $0.70 | +| thedrummer/anubis-70b-v1.1 | openrouter | 4096 | - | In: $0.40, Out: $0.70 | | thedrummer/anubis-pro-105b-v1 | openrouter | 131072 | 131072 | In: $0.50, Out: $1.00 | | thedrummer/rocinante-12b | openrouter | 32768 | - | In: $0.17, Out: $0.43 | | thedrummer/skyfall-36b-v2 | openrouter | 32768 | - | In: $0.04, Out: $0.16 | @@ -646,7 +654,7 @@ redirect_from: | cognitivecomputations/dolphin-mistral-24b-venice-edition:free | openrouter | 32768 | - | - | | microsoft/wizardlm-2-8x22b | openrouter | 65536 | 65536 | In: $0.48, Out: $0.48 | | z-ai/glm-4-32b | openrouter | 128000 | - | In: $0.10, Out: $0.10 | -| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.41, Out: $1.65 | +| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.40, Out: $1.60 | | z-ai/glm-4.5-air | openrouter | 131072 | 131072 | In: $0.14, Out: $0.86 | | z-ai/glm-4.5-air:free | openrouter | 131072 | - | - | | z-ai/glm-4.5v | openrouter | 65536 | 65536 | In: $0.50, Out: $1.80 | @@ -655,6 +663,7 @@ redirect_from: | x-ai/grok-3-mini | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-3-mini-beta | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-4 | openrouter | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| x-ai/grok-4-fast | openrouter | 2000000 | 30000 | In: $0.20, Out: $0.50, Cache: $0.05 | | x-ai/grok-4-fast:free | openrouter | 2000000 | 30000 | - | | x-ai/grok-code-fast-1 | openrouter | 256000 | 10000 | In: $0.20, Out: $1.50, Cache: $0.02 | @@ -670,7 +679,7 @@ redirect_from: | sonar-reasoning-pro | perplexity | 128000 | 8192 | In: $2.00, Out: $8.00 | -### VertexAI (34) +### VertexAI (20) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | @@ -686,52 +695,50 @@ redirect_from: | gemini-2.5-flash | vertexai | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite | vertexai | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-pro | vertexai | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | -| chat-bison | vertexai | - | - | - | -| code-bison | vertexai | - | - | - | -| code-gecko | vertexai | - | - | - | -| codechat-bison | vertexai | - | - | - | | gemini-embedding-001 | vertexai | - | - | - | | gemini-exp-1121 | vertexai | - | - | - | | gemini-exp-1206 | vertexai | - | - | - | | gemini-pro | vertexai | - | - | - | | gemini-pro-vision | vertexai | - | - | - | -| image-segmentation-001 | vertexai | - | - | - | -| imagegeneration | vertexai | - | - | - | -| imagen-4.0-fast-generate-001 | vertexai | - | - | - | -| imagen-4.0-generate-001 | vertexai | - | - | - | -| imagen-4.0-ultra-generate-001 | vertexai | - | - | - | -| imagetext | vertexai | - | - | - | -| multimodalembedding | vertexai | - | - | - | -| text-bison | vertexai | - | - | - | | text-embedding-004 | vertexai | - | - | - | | text-embedding-005 | vertexai | - | - | - | | text-multilingual-embedding-002 | vertexai | - | - | - | -| text-unicorn | vertexai | - | - | - | -| textembedding-gecko | vertexai | - | - | - | + + +### XAI (9) + +| Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | +| :-- | :-- | --: | --: | :-- | +| grok-2-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-image-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-vision-1212 | xai | 32768 | - | In: $2.00, Out: $10.00 | +| grok-3 | xai | 131072 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-3-mini | xai | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | +| grok-4-0709 | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-non-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-code-fast-1 | xai | 131072 | - | In: $2.00, Out: $10.00 | ## Models by Capability -### Function Calling (356) +### Function Calling (387) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | -| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25, Cache: $0.30 | -| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00, Cache: $1.00 | +| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25 | +| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00 | | claude-3-opus-20240229 | anthropic | 200000 | 4096 | In: $15.00, Out: $75.00 | -| claude-opus-4-20250514 | anthropic | 200000 | 32000 | In: $15.00, Out: $75.00, Cache: $18.75 | -| claude-opus-4-1-20250805 | anthropic | 200000 | 32000 | In: $15.00, Out: $75.00, Cache: $18.75 | | claude-3-5-sonnet-20241022 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20240620 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | -| claude-3-7-sonnet-20250219 | anthropic | 200000 | 64000 | In: $3.00, Out: $15.00, Cache: $3.75 | -| claude-sonnet-4-20250514 | anthropic | 200000 | 64000 | In: $3.00, Out: $15.00, Cache: $3.75 | -| anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| claude-3-7-sonnet-20250219 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | anthropic.claude-v2:1:200k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-3-haiku-20240307-v1:0:200k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-haiku-20240307-v1:0:48k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | @@ -740,14 +747,14 @@ redirect_from: | anthropic.claude-3-sonnet-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-haiku-20241022-v1:0 | bedrock | 200000 | 4096 | In: $0.80, Out: $4.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-instant-v1:2:100k | bedrock | 200000 | 4096 | In: $0.80, Out: $2.40 | | us.anthropic.claude-opus-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | @@ -755,42 +762,45 @@ redirect_from: | us.anthropic.claude-sonnet-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | | deepseek-chat | deepseek | 128000 | 8000 | In: $0.56, Out: $1.68, Cache: $0.07 | | deepseek-reasoner | deepseek | - | 64000 | - | +| gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-pro | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | -| gemini-1.5-pro-001 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | +| gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-pro-002 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | +| gemini-1.5-pro | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-latest | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | -| gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gemini-1.5-pro-001 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-2.0-flash-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-exp | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-live-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-pro-exp | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.0-pro-exp-02-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-2.5-flash | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-preview-05-20 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-live-2.5-flash-preview | gemini | 1048576 | 8192 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-exp-native-audio-thinking-dialog | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | -| gemini-2.5-flash-preview-native-audio-dialog | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | -| gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-native-audio-preview-09-2025 | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-06-17 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-pro | gemini | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | gemini-2.5-pro-preview-06-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-03-25 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-05-06 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-exp-1206 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-pro-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-robotics-er-1.5-preview | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | | codestral-2411-rc5 | mistral | 32768 | 8192 | - | | codestral-2412 | mistral | 32768 | 8192 | - | @@ -818,14 +828,14 @@ redirect_from: | mistral-large-2411 | mistral | 32768 | 8192 | - | | mistral-large-latest | mistral | 32768 | 8192 | - | | mistral-large-pixtral-2411 | mistral | 32768 | 8192 | - | -| mistral-medium | mistral | 32768 | 8192 | - | | mistral-medium-2505 | mistral | 32768 | 8192 | - | +| mistral-medium | mistral | 32768 | 8192 | - | | mistral-medium-2508 | mistral | 32768 | 8192 | - | | mistral-medium-latest | mistral | 32768 | 8192 | - | | mistral-saba-2502 | mistral | 32768 | 8192 | - | | mistral-saba-latest | mistral | 32768 | 8192 | - | -| mistral-small | mistral | 32768 | 8192 | - | | mistral-small-2409 | mistral | 32768 | 8192 | - | +| mistral-small | mistral | 32768 | 8192 | - | | mistral-small-2501 | mistral | 32768 | 8192 | - | | mistral-small-2503 | mistral | 32768 | 8192 | - | | mistral-small-2506 | mistral | 32768 | 8192 | - | @@ -844,35 +854,57 @@ redirect_from: | pixtral-12b-latest | mistral | 32768 | 8192 | - | | pixtral-large-2411 | mistral | 32768 | 8192 | - | | pixtral-large-latest | mistral | 32768 | 8192 | - | -| gpt-4 | openai | 8192 | 8192 | In: $10.00, Out: $30.00 | | gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | | gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4-turbo-preview | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.5-preview | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4.5-preview-2025-02-27 | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | | gpt-4o-2024-05-13 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-11-20 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-5 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-chat-latest | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| gpt-4o-audio-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-audio-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-realtime-preview | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-realtime-preview-2024-12-17 | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-5-2025-08-07 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-mini-2025-08-07 | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-mini | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-nano-2025-08-07 | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-nano | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-codex | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| codex-mini-latest | openai | 200000 | 100000 | In: $1.50, Out: $6.00, Cache: $0.38 | +| computer-use-preview-2025-03-11 | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| computer-use-preview | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| gpt-audio | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-audio-2025-08-28 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-oss-120b | openai | 131072 | 131072 | - | +| gpt-oss-20b | openai | 131072 | 131072 | - | +| gpt-realtime | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| gpt-realtime-2025-08-28 | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview-2024-09-12 | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | | o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | -| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | +| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o3 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-2025-04-16 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-pro | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o3-pro-2025-06-10 | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o4-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-2025-04-16 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | | ai21/jamba-large-1.7 | openrouter | 256000 | 4096 | In: $2.00, Out: $8.00 | | ai21/jamba-mini-1.7 | openrouter | 256000 | 4096 | In: $0.20, Out: $0.40 | | amazon/nova-lite-v1 | openrouter | 300000 | 5120 | In: $0.06, Out: $0.24 | @@ -891,29 +923,26 @@ redirect_from: | anthropic/claude-sonnet-4 | openrouter | 1000000 | 64000 | In: $3.00, Out: $15.00, Cache: $0.30 | | arcee-ai/virtuoso-large | openrouter | 131072 | 64000 | In: $0.75, Out: $1.20 | | deepcogito/cogito-v2-preview-llama-109b-moe | openrouter | 32767 | - | In: $0.18, Out: $0.59 | -| cohere/command-r | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | -| cohere/command-r-03-2024 | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | | cohere/command-r-08-2024 | openrouter | 128000 | 4000 | In: $0.15, Out: $0.60 | -| cohere/command-r-plus | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | -| cohere/command-r-plus-04-2024 | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | | cohere/command-r-plus-08-2024 | openrouter | 128000 | 4000 | In: $2.50, Out: $10.00 | | deepseek/deepseek-chat | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3-0324 | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3-0324:free | openrouter | 163840 | - | - | | deepseek/deepseek-chat-v3.1 | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3.1:free | openrouter | 163840 | - | - | +| deepseek/deepseek-v3.1-terminus | openrouter | 163840 | - | In: $0.27, Out: $1.00 | | deepseek/deepseek-r1 | openrouter | 163840 | 163840 | In: $0.40, Out: $2.00 | | deepseek/deepseek-r1-0528 | openrouter | 163840 | - | In: $0.40, Out: $1.75 | | deepseek/deepseek-r1-distill-llama-70b | openrouter | 131072 | - | In: $0.03, Out: $0.13 | -| google/gemini-flash-1.5 | openrouter | 1000000 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | google/gemini-flash-1.5-8b | openrouter | 1000000 | 8192 | In: $0.04, Out: $0.15, Cache: $0.01 | -| google/gemini-pro-1.5 | openrouter | 2000000 | 8192 | In: $1.25, Out: $5.00 | | google/gemini-2.0-flash-001 | openrouter | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.0-flash-exp:free | openrouter | 1048576 | 8192 | - | | google/gemini-2.0-flash-lite-001 | openrouter | 1048576 | 8192 | In: $0.08, Out: $0.30 | | google/gemini-2.5-flash | openrouter | 1048576 | 65535 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-flash-lite | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.5-flash-lite-preview-06-17 | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | +| google/gemini-2.5-flash-lite-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| google/gemini-2.5-flash-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-pro | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview-05-06 | openrouter | 1048576 | 65535 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | @@ -926,7 +955,7 @@ redirect_from: | meta-llama/llama-3.1-70b-instruct | openrouter | 131072 | 16384 | In: $0.10, Out: $0.28 | | meta-llama/llama-3.1-8b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.03 | | meta-llama/llama-3.2-3b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.02 | -| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.01, Out: $0.04 | +| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.04, Out: $0.12 | | meta-llama/llama-3.3-70b-instruct:free | openrouter | 65536 | - | - | | meta-llama/llama-3.3-8b-instruct:free | openrouter | 128000 | 4028 | - | | meta-llama/llama-4-maverick | openrouter | 1048576 | 16384 | In: $0.15, Out: $0.60 | @@ -971,7 +1000,6 @@ redirect_from: | mistralai/pixtral-large-2411 | openrouter | 131072 | - | In: $2.00, Out: $6.00 | | mistralai/mistral-saba | openrouter | 32768 | - | In: $0.20, Out: $0.60 | | moonshotai/kimi-k2 | openrouter | 63000 | 63000 | In: $0.14, Out: $2.49 | -| moonshotai/kimi-k2:free | openrouter | 32768 | - | - | | moonshotai/kimi-k2-0905 | openrouter | 262144 | - | In: $0.38, Out: $1.52 | | nvidia/llama-3.1-nemotron-70b-instruct | openrouter | 131072 | 16384 | In: $0.60, Out: $0.60 | | nvidia/nemotron-nano-9b-v2 | openrouter | 131072 | - | In: $0.04, Out: $0.16 | @@ -999,7 +1027,8 @@ redirect_from: | openai/gpt-4o-audio-preview | openrouter | 128000 | 16384 | In: $2.50, Out: $10.00 | | openai/gpt-4o-mini | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-2024-07-18 | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | -| openai/gpt-5 | openrouter | 400000 | 128000 | In: $0.62, Out: $5.00, Cache: $0.06 | +| openai/gpt-5 | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| openai/gpt-5-codex | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-mini | openrouter | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | | openai/gpt-5-nano | openrouter | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | | openai/gpt-oss-120b | openrouter | 131072 | - | In: $0.05, Out: $0.25 | @@ -1018,10 +1047,10 @@ redirect_from: | qwen/qwen-max | openrouter | 32768 | 8192 | In: $1.60, Out: $6.40, Cache: $0.64 | | qwen/qwen-plus | openrouter | 131072 | 8192 | In: $0.40, Out: $1.20, Cache: $0.16 | | qwen/qwen-turbo | openrouter | 1000000 | 8192 | In: $0.05, Out: $0.20, Cache: $0.02 | -| qwen/qwen3-14b | openrouter | 40960 | 40960 | In: $0.06, Out: $0.24 | +| qwen/qwen3-14b | openrouter | 40960 | - | In: $0.04, Out: $0.14 | | qwen/qwen3-235b-a22b | openrouter | 40960 | 40960 | In: $0.18, Out: $0.54 | | qwen/qwen3-235b-a22b:free | openrouter | 131072 | - | - | -| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | 262144 | In: $0.10, Out: $0.10 | +| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | - | In: $0.09, Out: $0.60 | | qwen/qwen3-235b-a22b-thinking-2507 | openrouter | 262144 | - | In: $0.10, Out: $0.39 | | qwen/qwen3-30b-a3b | openrouter | 40960 | - | In: $0.06, Out: $0.22 | | qwen/qwen3-30b-a3b-instruct-2507 | openrouter | 262144 | - | In: $0.07, Out: $0.28 | @@ -1036,12 +1065,14 @@ redirect_from: | qwen/qwen3-max | openrouter | 256000 | 32768 | In: $1.20, Out: $6.00, Cache: $0.24 | | qwen/qwen3-next-80b-a3b-instruct | openrouter | 262144 | - | In: $0.10, Out: $0.80 | | qwen/qwen3-next-80b-a3b-thinking | openrouter | 262144 | - | In: $0.10, Out: $0.80 | +| qwen/qwen3-vl-235b-a22b-instruct | openrouter | 131072 | 32768 | In: $0.30, Out: $1.50 | +| qwen/qwen3-vl-235b-a22b-thinking | openrouter | 131072 | 32768 | In: $0.30, Out: $3.00 | | stepfun-ai/step3 | openrouter | 65536 | 65536 | In: $0.57, Out: $1.42 | | thedrummer/rocinante-12b | openrouter | 32768 | - | In: $0.17, Out: $0.43 | | thedrummer/unslopnemo-12b | openrouter | 32768 | - | In: $0.40, Out: $0.40 | | alibaba/tongyi-deepresearch-30b-a3b | openrouter | 131072 | 131072 | In: $0.09, Out: $0.45 | | z-ai/glm-4-32b | openrouter | 128000 | - | In: $0.10, Out: $0.10 | -| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.41, Out: $1.65 | +| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.40, Out: $1.60 | | z-ai/glm-4.5-air | openrouter | 131072 | 131072 | In: $0.14, Out: $0.86 | | z-ai/glm-4.5-air:free | openrouter | 131072 | - | - | | z-ai/glm-4.5v | openrouter | 65536 | 65536 | In: $0.50, Out: $1.80 | @@ -1050,6 +1081,7 @@ redirect_from: | x-ai/grok-3-mini | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-3-mini-beta | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-4 | openrouter | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| x-ai/grok-4-fast | openrouter | 2000000 | 30000 | In: $0.20, Out: $0.50, Cache: $0.05 | | x-ai/grok-4-fast:free | openrouter | 2000000 | 30000 | - | | x-ai/grok-code-fast-1 | openrouter | 256000 | 10000 | In: $0.20, Out: $1.50, Cache: $0.02 | | gemini-1.5-flash | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | @@ -1072,24 +1104,33 @@ redirect_from: | text-embedding-004 | vertexai | - | - | - | | text-embedding-005 | vertexai | - | - | - | | text-multilingual-embedding-002 | vertexai | - | - | - | +| grok-2-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-image-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-vision-1212 | xai | 32768 | - | In: $2.00, Out: $10.00 | +| grok-3 | xai | 131072 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-3-mini | xai | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | +| grok-4-0709 | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-non-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-code-fast-1 | xai | 131072 | - | In: $2.00, Out: $10.00 | -### Structured Output (335) +### Structured Output (363) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | | deepseek-chat | deepseek | 128000 | 8000 | In: $0.56, Out: $1.68, Cache: $0.07 | | deepseek-reasoner | deepseek | - | 64000 | - | -| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-pro-002 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-001 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | -| gemini-1.5-pro-002 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-latest | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | @@ -1104,19 +1145,24 @@ redirect_from: | gemini-2.5-flash-preview-05-20 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-image-preview | gemini | 32768 | 32768 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-live-2.5-flash-preview | gemini | 1048576 | 8192 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | -| gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | -| gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-lite-06-17 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-preview-06-17 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-2.5-flash-lite-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro | gemini | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | gemini-2.5-pro-preview-06-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-03-25 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-05-06 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-exp-1206 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-lite-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-pro-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-robotics-er-1.5-preview | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | | codestral-2411-rc5 | mistral | 32768 | 8192 | - | | codestral-2412 | mistral | 32768 | 8192 | - | @@ -1144,16 +1190,16 @@ redirect_from: | mistral-large-2411 | mistral | 32768 | 8192 | - | | mistral-large-latest | mistral | 32768 | 8192 | - | | mistral-large-pixtral-2411 | mistral | 32768 | 8192 | - | -| mistral-medium | mistral | 32768 | 8192 | - | | mistral-medium-2505 | mistral | 32768 | 8192 | - | | mistral-medium-2508 | mistral | 32768 | 8192 | - | | mistral-medium-latest | mistral | 32768 | 8192 | - | +| mistral-medium | mistral | 32768 | 8192 | - | | mistral-saba-2502 | mistral | 32768 | 8192 | - | | mistral-saba-latest | mistral | 32768 | 8192 | - | +| mistral-small-2503 | mistral | 32768 | 8192 | - | | mistral-small | mistral | 32768 | 8192 | - | | mistral-small-2409 | mistral | 32768 | 8192 | - | | mistral-small-2501 | mistral | 32768 | 8192 | - | -| mistral-small-2503 | mistral | 32768 | 8192 | - | | mistral-small-2506 | mistral | 32768 | 8192 | - | | mistral-small-latest | mistral | 32768 | 8192 | - | | mistral-tiny | mistral | 32768 | 8192 | - | @@ -1165,48 +1211,59 @@ redirect_from: | open-mixtral-8x22b | mistral | 32768 | 8192 | - | | open-mixtral-8x22b-2404 | mistral | 32768 | 8192 | - | | open-mixtral-8x7b | mistral | 32768 | 8192 | - | -| pixtral-12b | mistral | 32768 | 8192 | - | | pixtral-12b-2409 | mistral | 32768 | 8192 | - | | pixtral-12b-latest | mistral | 32768 | 8192 | - | +| pixtral-12b | mistral | 32768 | 8192 | - | | pixtral-large-2411 | mistral | 32768 | 8192 | - | | pixtral-large-latest | mistral | 32768 | 8192 | - | -| chatgpt-4o-latest | openai | 128000 | 16384 | In: $5.00, Out: $15.00 | -| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.5-preview-2025-02-27 | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4.5-preview | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | | gpt-4o-2024-05-13 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-11-20 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-5 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-chat-latest | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | +| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini-search-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-5 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-2025-08-07 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-mini-2025-08-07 | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-mini | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-nano | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-nano-2025-08-07 | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-codex | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| codex-mini-latest | openai | 200000 | 100000 | In: $1.50, Out: $6.00, Cache: $0.38 | +| gpt-oss-120b | openai | 131072 | 131072 | - | +| gpt-oss-20b | openai | 131072 | 131072 | - | +| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview-2024-09-12 | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | | o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | | o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | -| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | +| o3 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-2025-04-16 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-pro | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o3-pro-2025-06-10 | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o4-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-2025-04-16 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | | ai21/jamba-large-1.7 | openrouter | 256000 | 4096 | In: $2.00, Out: $8.00 | | ai21/jamba-mini-1.7 | openrouter | 256000 | 4096 | In: $0.20, Out: $0.40 | | arcee-ai/afm-4.5b | openrouter | 65536 | - | In: $0.10, Out: $0.40 | | baidu/ernie-4.5-300b-a47b | openrouter | 123000 | 12000 | In: $0.28, Out: $1.10 | -| cohere/command | openrouter | 4096 | 4000 | In: $1.00, Out: $2.00 | | cohere/command-a | openrouter | 256000 | 8192 | In: $2.50, Out: $10.00 | -| cohere/command-r | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | -| cohere/command-r-03-2024 | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | | cohere/command-r-08-2024 | openrouter | 128000 | 4000 | In: $0.15, Out: $0.60 | -| cohere/command-r-plus | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | -| cohere/command-r-plus-04-2024 | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | | cohere/command-r-plus-08-2024 | openrouter | 128000 | 4000 | In: $2.50, Out: $10.00 | | cohere/command-r7b-12-2024 | openrouter | 128000 | 4000 | In: $0.04, Out: $0.15 | | deepseek/deepseek-prover-v2 | openrouter | 163840 | - | In: $0.50, Out: $2.18 | @@ -1214,21 +1271,22 @@ redirect_from: | deepseek/deepseek-chat-v3-0324 | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3.1 | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3.1:free | openrouter | 163840 | - | - | +| deepseek/deepseek-v3.1-terminus | openrouter | 163840 | - | In: $0.27, Out: $1.00 | | deepseek/deepseek-r1 | openrouter | 163840 | 163840 | In: $0.40, Out: $2.00 | | deepseek/deepseek-r1-0528 | openrouter | 163840 | - | In: $0.40, Out: $1.75 | | deepseek/deepseek-r1-distill-llama-70b | openrouter | 131072 | - | In: $0.03, Out: $0.13 | | deepseek/deepseek-r1-distill-qwen-32b | openrouter | 131072 | 16384 | In: $0.27, Out: $0.27 | +| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | alpindale/goliath-120b | openrouter | 6144 | 512 | In: $4.00, Out: $5.50 | -| google/gemini-flash-1.5 | openrouter | 1000000 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | google/gemini-flash-1.5-8b | openrouter | 1000000 | 8192 | In: $0.04, Out: $0.15, Cache: $0.01 | -| google/gemini-pro-1.5 | openrouter | 2000000 | 8192 | In: $1.25, Out: $5.00 | | google/gemini-2.0-flash-001 | openrouter | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.0-flash-exp:free | openrouter | 1048576 | 8192 | - | | google/gemini-2.0-flash-lite-001 | openrouter | 1048576 | 8192 | In: $0.08, Out: $0.30 | | google/gemini-2.5-flash | openrouter | 1048576 | 65535 | In: $0.30, Out: $2.50, Cache: $0.08 | -| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | google/gemini-2.5-flash-lite | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.5-flash-lite-preview-06-17 | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | +| google/gemini-2.5-flash-lite-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| google/gemini-2.5-flash-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-pro | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview-05-06 | openrouter | 1048576 | 65535 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | @@ -1248,14 +1306,13 @@ redirect_from: | meta-llama/llama-3-70b-instruct | openrouter | 8192 | 16384 | In: $0.30, Out: $0.40 | | meta-llama/llama-3-8b-instruct | openrouter | 8192 | 16384 | In: $0.03, Out: $0.06 | | meta-llama/llama-3.1-405b-instruct | openrouter | 32768 | 16384 | In: $0.80, Out: $0.80 | -| meta-llama/llama-3.1-405b-instruct:free | openrouter | 65536 | - | - | | meta-llama/llama-3.1-70b-instruct | openrouter | 131072 | 16384 | In: $0.10, Out: $0.28 | | meta-llama/llama-3.1-8b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.03 | | meta-llama/llama-3.2-11b-vision-instruct | openrouter | 131072 | 16384 | In: $0.05, Out: $0.05 | | meta-llama/llama-3.2-1b-instruct | openrouter | 131072 | 16384 | In: $0.01, Out: $0.01 | | meta-llama/llama-3.2-3b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.02 | | meta-llama/llama-3.2-90b-vision-instruct | openrouter | 32768 | 16384 | In: $0.35, Out: $0.40 | -| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.01, Out: $0.04 | +| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.04, Out: $0.12 | | meta-llama/llama-3.3-8b-instruct:free | openrouter | 128000 | 4028 | - | | meta-llama/llama-4-maverick | openrouter | 1048576 | 16384 | In: $0.15, Out: $0.60 | | meta-llama/llama-4-maverick:free | openrouter | 128000 | 4028 | - | @@ -1331,8 +1388,9 @@ redirect_from: | openai/gpt-4o-mini | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-2024-07-18 | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-search-preview | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60 | -| openai/gpt-5 | openrouter | 400000 | 128000 | In: $0.62, Out: $5.00, Cache: $0.06 | +| openai/gpt-5 | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-chat | openrouter | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| openai/gpt-5-codex | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-mini | openrouter | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | | openai/gpt-5-nano | openrouter | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | | openai/gpt-oss-120b | openrouter | 131072 | - | In: $0.05, Out: $0.25 | @@ -1351,7 +1409,6 @@ redirect_from: | qwen/qwen-2.5-7b-instruct | openrouter | 65536 | - | In: $0.04, Out: $0.10 | | qwen/qwen-2.5-coder-32b-instruct | openrouter | 32768 | 16384 | In: $0.06, Out: $0.15 | | qwen/qwq-32b | openrouter | 32768 | - | In: $0.15, Out: $0.40 | -| qwen/qwq-32b:free | openrouter | 32768 | - | - | | qwen/qwen-plus-2025-07-28 | openrouter | 1000000 | 32768 | In: $0.40, Out: $1.20 | | qwen/qwen-plus-2025-07-28:thinking | openrouter | 1000000 | 32768 | In: $0.40, Out: $4.00 | | qwen/qwen-vl-max | openrouter | 7500 | 1500 | In: $0.80, Out: $3.20 | @@ -1361,12 +1418,12 @@ redirect_from: | qwen/qwen-turbo | openrouter | 1000000 | 8192 | In: $0.05, Out: $0.20, Cache: $0.02 | | qwen/qwen2.5-vl-32b-instruct | openrouter | 16384 | - | In: $0.04, Out: $0.14 | | qwen/qwen2.5-vl-32b-instruct:free | openrouter | 8192 | - | - | -| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 32768 | - | - | +| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 131072 | 2048 | - | | qwen/qwen-2.5-vl-7b-instruct | openrouter | 32768 | - | In: $0.20, Out: $0.20 | -| qwen/qwen3-14b | openrouter | 40960 | 40960 | In: $0.06, Out: $0.24 | +| qwen/qwen3-14b | openrouter | 40960 | - | In: $0.04, Out: $0.14 | | qwen/qwen3-235b-a22b | openrouter | 40960 | 40960 | In: $0.18, Out: $0.54 | | qwen/qwen3-235b-a22b:free | openrouter | 131072 | - | - | -| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | 262144 | In: $0.10, Out: $0.10 | +| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | - | In: $0.09, Out: $0.60 | | qwen/qwen3-235b-a22b-thinking-2507 | openrouter | 262144 | - | In: $0.10, Out: $0.39 | | qwen/qwen3-30b-a3b | openrouter | 40960 | - | In: $0.06, Out: $0.22 | | qwen/qwen3-30b-a3b-instruct-2507 | openrouter | 262144 | - | In: $0.07, Out: $0.28 | @@ -1380,25 +1437,28 @@ redirect_from: | qwen/qwen3-max | openrouter | 256000 | 32768 | In: $1.20, Out: $6.00, Cache: $0.24 | | qwen/qwen3-next-80b-a3b-instruct | openrouter | 262144 | - | In: $0.10, Out: $0.80 | | qwen/qwen3-next-80b-a3b-thinking | openrouter | 262144 | - | In: $0.10, Out: $0.80 | +| qwen/qwen3-vl-235b-a22b-instruct | openrouter | 131072 | 32768 | In: $0.30, Out: $1.50 | +| qwen/qwen3-vl-235b-a22b-thinking | openrouter | 131072 | 32768 | In: $0.30, Out: $3.00 | | undi95/remm-slerp-l2-13b | openrouter | 6144 | - | In: $0.45, Out: $0.65 | | sao10k/l3-lunaris-8b | openrouter | 8192 | - | In: $0.04, Out: $0.05 | | sao10k/l3.1-euryale-70b | openrouter | 32768 | - | In: $0.65, Out: $0.75 | | sao10k/l3.3-euryale-70b | openrouter | 131072 | 16384 | In: $0.65, Out: $0.75 | | stepfun-ai/step3 | openrouter | 65536 | 65536 | In: $0.57, Out: $1.42 | | tencent/hunyuan-a13b-instruct | openrouter | 32768 | - | In: $0.03, Out: $0.03 | -| thedrummer/anubis-70b-v1.1 | openrouter | 16384 | - | In: $0.40, Out: $0.70 | +| thedrummer/anubis-70b-v1.1 | openrouter | 4096 | - | In: $0.40, Out: $0.70 | | thedrummer/rocinante-12b | openrouter | 32768 | - | In: $0.17, Out: $0.43 | | thedrummer/unslopnemo-12b | openrouter | 32768 | - | In: $0.40, Out: $0.40 | | alibaba/tongyi-deepresearch-30b-a3b | openrouter | 131072 | 131072 | In: $0.09, Out: $0.45 | | cognitivecomputations/dolphin-mistral-24b-venice-edition:free | openrouter | 32768 | - | - | | microsoft/wizardlm-2-8x22b | openrouter | 65536 | 65536 | In: $0.48, Out: $0.48 | -| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.41, Out: $1.65 | +| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.40, Out: $1.60 | | z-ai/glm-4.5-air | openrouter | 131072 | 131072 | In: $0.14, Out: $0.86 | | x-ai/grok-3 | openrouter | 131072 | - | In: $3.00, Out: $15.00, Cache: $0.75 | | x-ai/grok-3-beta | openrouter | 131072 | - | In: $3.00, Out: $15.00, Cache: $0.75 | | x-ai/grok-3-mini | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-3-mini-beta | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-4 | openrouter | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| x-ai/grok-4-fast | openrouter | 2000000 | 30000 | In: $0.20, Out: $0.50, Cache: $0.05 | | x-ai/grok-4-fast:free | openrouter | 2000000 | 30000 | - | | x-ai/grok-code-fast-1 | openrouter | 256000 | 10000 | In: $0.20, Out: $1.50, Cache: $0.02 | | gemini-1.5-flash | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | @@ -1413,38 +1473,53 @@ redirect_from: | gemini-2.5-flash | vertexai | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite | vertexai | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-pro | vertexai | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | +| grok-2-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-image-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-vision-1212 | xai | 32768 | - | In: $2.00, Out: $10.00 | +| grok-3 | xai | 131072 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-3-mini | xai | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | +| grok-4-0709 | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-non-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-code-fast-1 | xai | 131072 | - | In: $2.00, Out: $10.00 | -### Streaming (557) +### Streaming (489) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | +| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25 | +| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00 | | claude-3-opus-20240229 | anthropic | 200000 | 4096 | In: $15.00, Out: $75.00 | +| claude-opus-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | +| claude-opus-4-1-20250805 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20241022 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20240620 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | -| anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| claude-3-7-sonnet-20250219 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | +| claude-sonnet-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-v2:1:200k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-3-haiku-20240307-v1:0:200k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-haiku-20240307-v1:0:48k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | -| anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | -| anthropic.claude-3-sonnet-20240229-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-sonnet-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-sonnet-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-sonnet-20240229-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-haiku-20241022-v1:0 | bedrock | 200000 | 4096 | In: $0.80, Out: $4.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-instant-v1:2:100k | bedrock | 200000 | 4096 | In: $0.80, Out: $2.40 | | us.anthropic.claude-opus-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | @@ -1459,25 +1534,25 @@ redirect_from: | gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-lite-preview-06-17 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-2.5-flash-lite-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-06-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-03-25 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-05-06 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-embedding-001 | gemini | 2048 | 1 | - | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-exp-1206 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-lite-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-pro-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-robotics-er-1.5-preview | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemma-3-12b-it | gemini | 32768 | 8192 | In: $0.08, Out: $0.30 | | gemma-3-1b-it | gemini | 32768 | 8192 | In: $0.08, Out: $0.30 | | gemma-3-27b-it | gemini | 131072 | 8192 | In: $0.08, Out: $0.30 | | gemma-3-4b-it | gemini | 32768 | 8192 | In: $0.08, Out: $0.30 | | gemma-3n-e2b-it | gemini | 8192 | 2048 | In: $0.08, Out: $0.30 | | gemma-3n-e4b-it | gemini | 8192 | 2048 | In: $0.08, Out: $0.30 | -| imagen-3.0-generate-002 | gemini | 480 | 8192 | - | -| imagen-4.0-generate-preview-06-06 | gemini | 480 | 8192 | - | -| imagen-4.0-ultra-generate-preview-06-06 | gemini | 480 | 8192 | - | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | -| aqa | gemini | 7168 | 1024 | - | | text-embedding-004 | gemini | 2048 | 1 | - | | codestral-2411-rc5 | mistral | 32768 | 8192 | - | | codestral-2412 | mistral | 32768 | 8192 | - | @@ -1537,91 +1612,24 @@ redirect_from: | voxtral-mini-latest | mistral | 32768 | 8192 | - | | voxtral-small-2507 | mistral | 32768 | 8192 | - | | voxtral-small-latest | mistral | 32768 | 8192 | - | -| babbage-002 | openai | 4096 | 16384 | In: $0.40, Out: $0.40 | -| chatgpt-4o-latest | openai | 128000 | 16384 | In: $5.00, Out: $15.00 | -| codex-mini-latest | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| dall-e-2 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| dall-e-3 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| davinci-002 | openai | 4096 | 16384 | In: $2.00, Out: $2.00 | -| gpt-3.5-turbo | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-0125 | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-1106 | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-16k | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-instruct | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | | gpt-3.5-turbo-instruct-0914 | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | -| gpt-4 | openai | 8192 | 8192 | In: $10.00, Out: $30.00 | | gpt-4-0125-preview | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-4-0613 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | | gpt-4-1106-preview | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4-turbo-preview | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-05-13 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-11-20 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-audio-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-audio-preview-2024-10-01 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-audio-preview-2025-06-03 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-audio-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-realtime-preview | openai | 128000 | 4096 | In: $0.60, Out: $2.40 | -| gpt-4o-mini-realtime-preview-2024-12-17 | openai | 128000 | 4096 | In: $0.60, Out: $2.40 | -| gpt-4o-mini-search-preview | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-4o-mini-search-preview-2025-03-11 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-4o-mini-transcribe | openai | 16000 | 2000 | In: $1.25, Out: $5.00 | -| gpt-4o-mini-tts | openai | - | - | In: $0.60, Out: $12.00 | | gpt-4o-realtime-preview | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | | gpt-4o-realtime-preview-2024-10-01 | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | | gpt-4o-realtime-preview-2024-12-17 | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | | gpt-4o-realtime-preview-2025-06-03 | openai | 128000 | 4096 | In: $5.00, Out: $20.00 | -| gpt-4o-transcribe | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-5 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-chat-latest | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-audio | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-audio-2025-08-28 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-image-1 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-realtime | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-realtime-2025-08-28 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-mini | openai | 128000 | 65536 | In: $1.10, Out: $4.40 | -| o1-mini-2024-09-12 | openai | 128000 | 65536 | In: $1.10, Out: $4.40 | -| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o3 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-2025-04-16 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-deep-research | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-deep-research-2025-06-26 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | -| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40 | -| o3-pro | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o3-pro-2025-06-10 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini-2025-04-16 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini-deep-research | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| o4-mini-deep-research-2025-06-26 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| tts-1 | openai | - | - | In: $15.00, Out: $15.00 | | tts-1-1106 | openai | - | - | In: $15.00, Out: $15.00 | -| tts-1-hd | openai | - | - | In: $30.00, Out: $30.00 | | tts-1-hd-1106 | openai | - | - | In: $30.00, Out: $30.00 | -| whisper-1 | openai | - | - | In: $0.01, Out: $0.01 | | ai21/jamba-large-1.7 | openrouter | 256000 | 4096 | In: $2.00, Out: $8.00 | | ai21/jamba-mini-1.7 | openrouter | 256000 | 4096 | In: $0.20, Out: $0.40 | | agentica-org/deepcoder-14b-preview | openrouter | 96000 | - | In: $0.02, Out: $0.02 | @@ -1661,13 +1669,8 @@ redirect_from: | bytedance/seed-oss-36b-instruct | openrouter | 131072 | - | In: $0.16, Out: $0.65 | | bytedance/ui-tars-1.5-7b | openrouter | 128000 | 2048 | In: $0.10, Out: $0.20 | | deepcogito/cogito-v2-preview-llama-109b-moe | openrouter | 32767 | - | In: $0.18, Out: $0.59 | -| cohere/command | openrouter | 4096 | 4000 | In: $1.00, Out: $2.00 | | cohere/command-a | openrouter | 256000 | 8192 | In: $2.50, Out: $10.00 | -| cohere/command-r | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | -| cohere/command-r-03-2024 | openrouter | 128000 | 4000 | In: $0.50, Out: $1.50 | | cohere/command-r-08-2024 | openrouter | 128000 | 4000 | In: $0.15, Out: $0.60 | -| cohere/command-r-plus | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | -| cohere/command-r-plus-04-2024 | openrouter | 128000 | 4000 | In: $3.00, Out: $15.00 | | cohere/command-r-plus-08-2024 | openrouter | 128000 | 4000 | In: $2.50, Out: $10.00 | | cohere/command-r7b-12-2024 | openrouter | 128000 | 4000 | In: $0.04, Out: $0.15 | | deepcogito/cogito-v2-preview-deepseek-671b | openrouter | 163840 | - | In: $1.25, Out: $1.25 | @@ -1678,6 +1681,7 @@ redirect_from: | deepseek/deepseek-chat-v3.1 | openrouter | 163840 | - | In: $0.25, Out: $1.00 | | deepseek/deepseek-chat-v3.1:free | openrouter | 163840 | - | - | | deepseek/deepseek-v3.1-base | openrouter | 163840 | - | In: $0.25, Out: $1.00 | +| deepseek/deepseek-v3.1-terminus | openrouter | 163840 | - | In: $0.27, Out: $1.00 | | deepseek/deepseek-r1-0528-qwen3-8b | openrouter | 131072 | - | In: $0.01, Out: $0.05 | | deepseek/deepseek-r1-0528-qwen3-8b:free | openrouter | 131072 | - | - | | deepseek/deepseek-r1 | openrouter | 163840 | 163840 | In: $0.40, Out: $2.00 | @@ -1694,17 +1698,17 @@ redirect_from: | cognitivecomputations/dolphin3.0-r1-mistral-24b | openrouter | 32768 | - | In: $0.01, Out: $0.03 | | cognitivecomputations/dolphin3.0-r1-mistral-24b:free | openrouter | 32768 | - | - | | eleutherai/llemma_7b | openrouter | 4096 | 4096 | In: $0.80, Out: $1.20 | +| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | alpindale/goliath-120b | openrouter | 6144 | 512 | In: $4.00, Out: $5.50 | -| google/gemini-flash-1.5 | openrouter | 1000000 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | google/gemini-flash-1.5-8b | openrouter | 1000000 | 8192 | In: $0.04, Out: $0.15, Cache: $0.01 | -| google/gemini-pro-1.5 | openrouter | 2000000 | 8192 | In: $1.25, Out: $5.00 | | google/gemini-2.0-flash-001 | openrouter | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.0-flash-exp:free | openrouter | 1048576 | 8192 | - | | google/gemini-2.0-flash-lite-001 | openrouter | 1048576 | 8192 | In: $0.08, Out: $0.30 | | google/gemini-2.5-flash | openrouter | 1048576 | 65535 | In: $0.30, Out: $2.50, Cache: $0.08 | -| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | google/gemini-2.5-flash-lite | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.5-flash-lite-preview-06-17 | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | +| google/gemini-2.5-flash-lite-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| google/gemini-2.5-flash-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-pro | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview-05-06 | openrouter | 1048576 | 65535 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | @@ -1728,14 +1732,13 @@ redirect_from: | liquid/lfm-7b | openrouter | 32768 | - | In: $0.01, Out: $0.01 | | meta-llama/llama-guard-3-8b | openrouter | 131072 | - | In: $0.02, Out: $0.06 | | anthracite-org/magnum-v2-72b | openrouter | 32768 | - | In: $3.00, Out: $3.00 | -| anthracite-org/magnum-v4-72b | openrouter | 16384 | 2048 | In: $2.00, Out: $5.00 | +| anthracite-org/magnum-v4-72b | openrouter | 16384 | 2048 | In: $2.50, Out: $5.00 | | mancer/weaver | openrouter | 8000 | 2000 | In: $1.12, Out: $1.12 | | meituan/longcat-flash-chat | openrouter | 131072 | - | In: $0.12, Out: $0.60 | | meta-llama/llama-3-70b-instruct | openrouter | 8192 | 16384 | In: $0.30, Out: $0.40 | | meta-llama/llama-3-8b-instruct | openrouter | 8192 | 16384 | In: $0.03, Out: $0.06 | | meta-llama/llama-3.1-405b | openrouter | 32768 | - | In: $2.00, Out: $2.00 | | meta-llama/llama-3.1-405b-instruct | openrouter | 32768 | 16384 | In: $0.80, Out: $0.80 | -| meta-llama/llama-3.1-405b-instruct:free | openrouter | 65536 | - | - | | meta-llama/llama-3.1-70b-instruct | openrouter | 131072 | 16384 | In: $0.10, Out: $0.28 | | meta-llama/llama-3.1-8b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.03 | | meta-llama/llama-3.2-11b-vision-instruct | openrouter | 131072 | 16384 | In: $0.05, Out: $0.05 | @@ -1743,7 +1746,7 @@ redirect_from: | meta-llama/llama-3.2-3b-instruct | openrouter | 16384 | 16384 | In: $0.02, Out: $0.02 | | meta-llama/llama-3.2-3b-instruct:free | openrouter | 131072 | - | - | | meta-llama/llama-3.2-90b-vision-instruct | openrouter | 32768 | 16384 | In: $0.35, Out: $0.40 | -| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.01, Out: $0.04 | +| meta-llama/llama-3.3-70b-instruct | openrouter | 131072 | 131072 | In: $0.04, Out: $0.12 | | meta-llama/llama-3.3-70b-instruct:free | openrouter | 65536 | - | - | | meta-llama/llama-3.3-8b-instruct:free | openrouter | 128000 | 4028 | - | | meta-llama/llama-4-maverick | openrouter | 1048576 | 16384 | In: $0.15, Out: $0.60 | @@ -1814,6 +1817,7 @@ redirect_from: | neversleep/llama-3-lumimaid-70b | openrouter | 8192 | 4096 | In: $4.00, Out: $6.00 | | neversleep/llama-3.1-lumimaid-8b | openrouter | 32768 | - | In: $0.09, Out: $0.60 | | neversleep/noromaid-20b | openrouter | 4096 | - | In: $1.00, Out: $1.75 | +| nousresearch/deephermes-3-llama-3-8b-preview | openrouter | 131072 | - | In: $0.01, Out: $0.05 | | nousresearch/deephermes-3-llama-3-8b-preview:free | openrouter | 131072 | - | - | | nousresearch/deephermes-3-mistral-24b-preview | openrouter | 32768 | - | In: $0.13, Out: $0.51 | | nousresearch/hermes-3-llama-3.1-405b | openrouter | 131072 | 131072 | In: $0.80, Out: $0.80 | @@ -1845,8 +1849,9 @@ redirect_from: | openai/gpt-4o-mini | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-2024-07-18 | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-search-preview | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60 | -| openai/gpt-5 | openrouter | 400000 | 128000 | In: $0.62, Out: $5.00, Cache: $0.06 | +| openai/gpt-5 | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-chat | openrouter | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| openai/gpt-5-codex | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-mini | openrouter | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | | openai/gpt-5-nano | openrouter | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | | openai/gpt-oss-120b | openrouter | 131072 | - | In: $0.05, Out: $0.25 | @@ -1876,8 +1881,6 @@ redirect_from: | qwen/qwen-2.5-coder-32b-instruct | openrouter | 32768 | 16384 | In: $0.06, Out: $0.15 | | qwen/qwen-2.5-coder-32b-instruct:free | openrouter | 32768 | - | - | | qwen/qwq-32b | openrouter | 32768 | - | In: $0.15, Out: $0.40 | -| qwen/qwq-32b:free | openrouter | 32768 | - | - | -| qwen/qwq-32b-preview | openrouter | 32768 | - | In: $0.20, Out: $0.20 | | qwen/qwen-plus-2025-07-28 | openrouter | 1000000 | 32768 | In: $0.40, Out: $1.20 | | qwen/qwen-plus-2025-07-28:thinking | openrouter | 1000000 | 32768 | In: $0.40, Out: $4.00 | | qwen/qwen-vl-max | openrouter | 7500 | 1500 | In: $0.80, Out: $3.20 | @@ -1888,13 +1891,13 @@ redirect_from: | qwen/qwen2.5-vl-32b-instruct | openrouter | 16384 | - | In: $0.04, Out: $0.14 | | qwen/qwen2.5-vl-32b-instruct:free | openrouter | 8192 | - | - | | qwen/qwen2.5-vl-72b-instruct | openrouter | 32768 | - | In: $0.07, Out: $0.28 | -| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 32768 | - | - | +| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 131072 | 2048 | - | | qwen/qwen-2.5-vl-7b-instruct | openrouter | 32768 | - | In: $0.20, Out: $0.20 | -| qwen/qwen3-14b | openrouter | 40960 | 40960 | In: $0.06, Out: $0.24 | +| qwen/qwen3-14b | openrouter | 40960 | - | In: $0.04, Out: $0.14 | | qwen/qwen3-14b:free | openrouter | 40960 | - | - | | qwen/qwen3-235b-a22b | openrouter | 40960 | 40960 | In: $0.18, Out: $0.54 | | qwen/qwen3-235b-a22b:free | openrouter | 131072 | - | - | -| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | 262144 | In: $0.10, Out: $0.10 | +| qwen/qwen3-235b-a22b-2507 | openrouter | 262144 | - | In: $0.09, Out: $0.60 | | qwen/qwen3-235b-a22b-thinking-2507 | openrouter | 262144 | - | In: $0.10, Out: $0.39 | | qwen/qwen3-30b-a3b | openrouter | 40960 | - | In: $0.06, Out: $0.22 | | qwen/qwen3-30b-a3b:free | openrouter | 40960 | - | - | @@ -1912,6 +1915,8 @@ redirect_from: | qwen/qwen3-max | openrouter | 256000 | 32768 | In: $1.20, Out: $6.00, Cache: $0.24 | | qwen/qwen3-next-80b-a3b-instruct | openrouter | 262144 | - | In: $0.10, Out: $0.80 | | qwen/qwen3-next-80b-a3b-thinking | openrouter | 262144 | - | In: $0.10, Out: $0.80 | +| qwen/qwen3-vl-235b-a22b-instruct | openrouter | 131072 | 32768 | In: $0.30, Out: $1.50 | +| qwen/qwen3-vl-235b-a22b-thinking | openrouter | 131072 | 32768 | In: $0.30, Out: $3.00 | | undi95/remm-slerp-l2-13b | openrouter | 6144 | - | In: $0.45, Out: $0.65 | | sao10k/l3-lunaris-8b | openrouter | 8192 | - | In: $0.04, Out: $0.05 | | sao10k/l3.1-euryale-70b | openrouter | 32768 | - | In: $0.65, Out: $0.75 | @@ -1929,7 +1934,7 @@ redirect_from: | tngtech/deepseek-r1t2-chimera:free | openrouter | 163840 | - | - | | tencent/hunyuan-a13b-instruct | openrouter | 32768 | - | In: $0.03, Out: $0.03 | | tencent/hunyuan-a13b-instruct:free | openrouter | 32768 | - | - | -| thedrummer/anubis-70b-v1.1 | openrouter | 16384 | - | In: $0.40, Out: $0.70 | +| thedrummer/anubis-70b-v1.1 | openrouter | 4096 | - | In: $0.40, Out: $0.70 | | thedrummer/anubis-pro-105b-v1 | openrouter | 131072 | 131072 | In: $0.50, Out: $1.00 | | thedrummer/rocinante-12b | openrouter | 32768 | - | In: $0.17, Out: $0.43 | | thedrummer/skyfall-36b-v2 | openrouter | 32768 | - | In: $0.04, Out: $0.16 | @@ -1938,7 +1943,7 @@ redirect_from: | cognitivecomputations/dolphin-mistral-24b-venice-edition:free | openrouter | 32768 | - | - | | microsoft/wizardlm-2-8x22b | openrouter | 65536 | 65536 | In: $0.48, Out: $0.48 | | z-ai/glm-4-32b | openrouter | 128000 | - | In: $0.10, Out: $0.10 | -| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.41, Out: $1.65 | +| z-ai/glm-4.5 | openrouter | 131072 | - | In: $0.40, Out: $1.60 | | z-ai/glm-4.5-air | openrouter | 131072 | 131072 | In: $0.14, Out: $0.86 | | z-ai/glm-4.5-air:free | openrouter | 131072 | - | - | | z-ai/glm-4.5v | openrouter | 65536 | 65536 | In: $0.50, Out: $1.80 | @@ -1947,6 +1952,7 @@ redirect_from: | x-ai/grok-3-mini | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-3-mini-beta | openrouter | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | | x-ai/grok-4 | openrouter | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| x-ai/grok-4-fast | openrouter | 2000000 | 30000 | In: $0.20, Out: $0.50, Cache: $0.05 | | x-ai/grok-4-fast:free | openrouter | 2000000 | 30000 | - | | x-ai/grok-code-fast-1 | openrouter | 256000 | 10000 | In: $0.20, Out: $1.50, Cache: $0.02 | | sonar | perplexity | 128000 | 4096 | In: $1.00, Out: $1.00 | @@ -1954,43 +1960,48 @@ redirect_from: | sonar-pro | perplexity | 200000 | 8192 | In: $3.00, Out: $15.00 | | sonar-reasoning | perplexity | 128000 | 4096 | In: $1.00, Out: $5.00 | | sonar-reasoning-pro | perplexity | 128000 | 8192 | In: $2.00, Out: $8.00 | -| chat-bison | vertexai | - | - | - | -| code-bison | vertexai | - | - | - | -| code-gecko | vertexai | - | - | - | -| codechat-bison | vertexai | - | - | - | | gemini-embedding-001 | vertexai | - | - | - | | gemini-exp-1121 | vertexai | - | - | - | | gemini-exp-1206 | vertexai | - | - | - | | gemini-pro | vertexai | - | - | - | | gemini-pro-vision | vertexai | - | - | - | -| image-segmentation-001 | vertexai | - | - | - | -| imagegeneration | vertexai | - | - | - | -| imagen-4.0-fast-generate-001 | vertexai | - | - | - | -| imagen-4.0-generate-001 | vertexai | - | - | - | -| imagen-4.0-ultra-generate-001 | vertexai | - | - | - | -| imagetext | vertexai | - | - | - | -| multimodalembedding | vertexai | - | - | - | -| text-bison | vertexai | - | - | - | | text-embedding-004 | vertexai | - | - | - | | text-embedding-005 | vertexai | - | - | - | | text-multilingual-embedding-002 | vertexai | - | - | - | -| text-unicorn | vertexai | - | - | - | -| textembedding-gecko | vertexai | - | - | - | +| grok-2-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-image-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-vision-1212 | xai | 32768 | - | In: $2.00, Out: $10.00 | +| grok-3 | xai | 131072 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-3-mini | xai | 131072 | - | In: $0.30, Out: $0.50, Cache: $0.08 | +| grok-4-0709 | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-non-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-code-fast-1 | xai | 131072 | - | In: $2.00, Out: $10.00 | -### Batch Processing (95) +### Batch Processing (153) | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | +| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25 | +| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00 | | claude-3-opus-20240229 | anthropic | 200000 | 4096 | In: $15.00, Out: $75.00 | | claude-3-5-sonnet-20241022 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20240620 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | +| claude-3-7-sonnet-20250219 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | embedding-001 | gemini | 2048 | 1 | - | | embedding-gecko-001 | gemini | 1024 | 1 | - | +| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-8b-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-8b-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-2.0-flash-exp | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | -| gemini-2.0-flash-exp | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-preview-image-generation | gemini | 32000 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | @@ -1999,18 +2010,20 @@ redirect_from: | gemini-2.5-flash | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-preview-05-20 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-image-preview | gemini | 32768 | 32768 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | -| gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-preview-tts | gemini | 8000 | 16000 | In: $0.30, Out: $2.50, Cache: $0.08 | -| gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-06-17 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-preview-06-17 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-2.5-flash-lite-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro | gemini | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | gemini-2.5-pro-preview-tts | gemini | 8000 | 16000 | In: $1.25, Out: $10.00, Cache: $0.31 | -| gemini-embedding-001 | gemini | 2048 | 1 | - | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-lite-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | | text-embedding-004 | gemini | 2048 | 1 | - | | codestral-2411-rc5 | mistral | 32768 | 8192 | - | @@ -2045,8 +2058,8 @@ redirect_from: | mistral-medium-latest | mistral | 32768 | 8192 | - | | mistral-saba-2502 | mistral | 32768 | 8192 | - | | mistral-saba-latest | mistral | 32768 | 8192 | - | -| mistral-small | mistral | 32768 | 8192 | - | | mistral-small-2312 | mistral | 32768 | 8192 | - | +| mistral-small | mistral | 32768 | 8192 | - | | mistral-small-2409 | mistral | 32768 | 8192 | - | | mistral-small-2501 | mistral | 32768 | 8192 | - | | mistral-small-2503 | mistral | 32768 | 8192 | - | @@ -2067,9 +2080,55 @@ redirect_from: | pixtral-12b-latest | mistral | 32768 | 8192 | - | | pixtral-large-2411 | mistral | 32768 | 8192 | - | | pixtral-large-latest | mistral | 32768 | 8192 | - | -| text-embedding-3-large | openai | - | - | In: $0.13, Out: $0.13 | -| text-embedding-3-small | openai | - | - | In: $0.02, Out: $0.02 | -| text-embedding-ada-002 | openai | - | - | In: $0.10, Out: $0.10 | +| gpt-3.5-turbo | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | +| gpt-4-0613 | openai | 8192 | 8192 | In: $30.00, Out: $60.00 | +| gpt-4 | openai | 8192 | 8192 | In: $30.00, Out: $60.00 | +| gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | +| gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | +| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | +| gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | +| gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.5-preview-2025-02-27 | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4.5-preview | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-5-2025-08-07 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-mini | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-mini-2025-08-07 | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-nano | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-nano-2025-08-07 | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| computer-use-preview | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| computer-use-preview-2025-03-11 | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| gpt-oss-120b | openai | 131072 | 131072 | - | +| gpt-oss-20b | openai | 131072 | 131072 | - | +| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o3 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-2025-04-16 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-deep-research | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-pro | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o3-pro-2025-06-10 | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o4-mini-2025-04-16 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-deep-research | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o4-mini-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| text-embedding-3-large | openai | - | - | In: $0.13 | +| text-embedding-3-small | openai | - | - | In: $0.02 | +| text-embedding-ada-002 | openai | - | - | In: $0.10 | +| gemini-1.5-flash-002 | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash-8b | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-2.0-flash | vertexai | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-001 | vertexai | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-exp | vertexai | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | @@ -2081,53 +2140,53 @@ redirect_from: ## Models by Modality -### Vision Models (224) +### Vision Models (250) Models that can process images: | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | -| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25, Cache: $0.30 | -| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00, Cache: $1.00 | +| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25 | +| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00 | | claude-3-opus-20240229 | anthropic | 200000 | 4096 | In: $15.00, Out: $75.00 | -| claude-opus-4-20250514 | anthropic | 200000 | 32000 | In: $15.00, Out: $75.00, Cache: $18.75 | -| claude-opus-4-1-20250805 | anthropic | 200000 | 32000 | In: $15.00, Out: $75.00, Cache: $18.75 | +| claude-opus-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | +| claude-opus-4-1-20250805 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20241022 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20240620 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | -| claude-3-7-sonnet-20250219 | anthropic | 200000 | 64000 | In: $3.00, Out: $15.00, Cache: $3.75 | -| claude-sonnet-4-20250514 | anthropic | 200000 | 64000 | In: $3.00, Out: $15.00, Cache: $3.75 | +| claude-3-7-sonnet-20250219 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | +| claude-sonnet-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-v2:1:200k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:1:200k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-3-haiku-20240307-v1:0:48k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-haiku-20240307-v1:0:200k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | -| anthropic.claude-3-haiku-20240307-v1:0:48k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | -| anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | -| anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | -| anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | +| anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-haiku-20241022-v1:0 | bedrock | 200000 | 4096 | In: $0.80, Out: $4.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-instant-v1:2:100k | bedrock | 200000 | 4096 | In: $0.80, Out: $2.40 | | us.anthropic.claude-opus-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | | us.anthropic.claude-opus-4-1-20250805-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | | us.anthropic.claude-sonnet-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | +| gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | @@ -2139,31 +2198,33 @@ Models that can process images: | gemini-2.0-flash-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-exp | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-preview-image-generation | gemini | 32000 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | -| gemini-2.0-flash-lite | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite-001 | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gemini-2.0-flash-lite | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | gemini-2.0-flash-lite-preview | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30 | | gemini-2.0-flash-lite-preview-02-05 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30 | | gemini-2.0-pro-exp | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.0-pro-exp-02-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-2.5-flash | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-preview-05-20 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-image-preview | gemini | 32768 | 32768 | In: $0.30, Out: $2.50, Cache: $0.08 | -| gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-06-17 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-preview-06-17 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-2.5-flash-lite-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro | gemini | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | gemini-2.5-pro-preview-06-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-03-25 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-05-06 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-exp-1206 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| imagen-3.0-generate-002 | gemini | 480 | 8192 | - | -| imagen-4.0-generate-preview-06-06 | gemini | 480 | 8192 | - | -| imagen-4.0-ultra-generate-preview-06-06 | gemini | 480 | 8192 | - | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-lite-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-pro-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-robotics-er-1.5-preview | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | | mistral-large-pixtral-2411 | mistral | 32768 | 8192 | - | | pixtral-12b | mistral | 32768 | 8192 | - | @@ -2172,36 +2233,51 @@ Models that can process images: | pixtral-large-2411 | mistral | 32768 | 8192 | - | | pixtral-large-latest | mistral | 32768 | 8192 | - | | chatgpt-4o-latest | openai | 128000 | 16384 | In: $5.00, Out: $15.00 | -| gpt-4 | openai | 8192 | 8192 | In: $10.00, Out: $30.00 | +| gpt-image-1 | openai | - | - | In: $5.00, Out: $40.00, Cache: $1.25 | | gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | | gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4-turbo-preview | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | +| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | | gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | | gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.5-preview | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4.5-preview-2025-02-27 | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | | gpt-4o-2024-05-13 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-11-20 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-5 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-chat-latest | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-5 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-2025-08-07 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-chat-latest | openai | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-mini | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-mini-2025-08-07 | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-nano | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-nano-2025-08-07 | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-codex | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | omni-moderation-2024-09-26 | openai | - | - | - | +| codex-mini-latest | openai | 200000 | 100000 | In: $1.50, Out: $6.00, Cache: $0.38 | +| computer-use-preview-2025-03-11 | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| computer-use-preview | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| gpt-realtime-2025-08-28 | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| gpt-realtime | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o3 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-2025-04-16 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-deep-research | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-pro | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o3-pro-2025-06-10 | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o4-mini-2025-04-16 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-deep-research | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o4-mini-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | | omni-moderation-latest | openai | - | - | - | | allenai/molmo-7b-d | openrouter | 4096 | 4096 | In: $0.10, Out: $0.20 | | amazon/nova-lite-v1 | openrouter | 300000 | 5120 | In: $0.06, Out: $0.24 | @@ -2222,16 +2298,16 @@ Models that can process images: | baidu/ernie-4.5-vl-424b-a47b | openrouter | 123000 | 16000 | In: $0.42, Out: $1.25 | | bytedance/ui-tars-1.5-7b | openrouter | 128000 | 2048 | In: $0.10, Out: $0.20 | | deepcogito/cogito-v2-preview-llama-109b-moe | openrouter | 32767 | - | In: $0.18, Out: $0.59 | -| google/gemini-flash-1.5 | openrouter | 1000000 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | google/gemini-flash-1.5-8b | openrouter | 1000000 | 8192 | In: $0.04, Out: $0.15, Cache: $0.01 | -| google/gemini-pro-1.5 | openrouter | 2000000 | 8192 | In: $1.25, Out: $5.00 | | google/gemini-2.0-flash-001 | openrouter | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.0-flash-exp:free | openrouter | 1048576 | 8192 | - | | google/gemini-2.0-flash-lite-001 | openrouter | 1048576 | 8192 | In: $0.08, Out: $0.30 | | google/gemini-2.5-flash | openrouter | 1048576 | 65535 | In: $0.30, Out: $2.50, Cache: $0.08 | -| google/gemini-2.5-flash-image-preview | openrouter | 32768 | 8192 | In: $0.30, Out: $2.50 | | google/gemini-2.5-flash-lite | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.5-flash-lite-preview-06-17 | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | +| google/gemini-2.5-flash-lite-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| google/gemini-2.5-flash-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-pro | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview-05-06 | openrouter | 1048576 | 65535 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | @@ -2273,8 +2349,9 @@ Models that can process images: | openai/gpt-4o:extended | openrouter | 128000 | 64000 | In: $6.00, Out: $18.00 | | openai/gpt-4o-mini | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | | openai/gpt-4o-mini-2024-07-18 | openrouter | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | -| openai/gpt-5 | openrouter | 400000 | 128000 | In: $0.62, Out: $5.00, Cache: $0.06 | +| openai/gpt-5 | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-chat | openrouter | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| openai/gpt-5-codex | openrouter | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | | openai/gpt-5-mini | openrouter | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | | openai/gpt-5-nano | openrouter | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | | openai/o1 | openrouter | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | @@ -2292,12 +2369,15 @@ Models that can process images: | qwen/qwen2.5-vl-32b-instruct | openrouter | 16384 | - | In: $0.04, Out: $0.14 | | qwen/qwen2.5-vl-32b-instruct:free | openrouter | 8192 | - | - | | qwen/qwen2.5-vl-72b-instruct | openrouter | 32768 | - | In: $0.07, Out: $0.28 | -| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 32768 | - | - | +| qwen/qwen2.5-vl-72b-instruct:free | openrouter | 131072 | 2048 | - | | qwen/qwen-2.5-vl-7b-instruct | openrouter | 32768 | - | In: $0.20, Out: $0.20 | +| qwen/qwen3-vl-235b-a22b-instruct | openrouter | 131072 | 32768 | In: $0.30, Out: $1.50 | +| qwen/qwen3-vl-235b-a22b-thinking | openrouter | 131072 | 32768 | In: $0.30, Out: $3.00 | | stepfun-ai/step3 | openrouter | 65536 | 65536 | In: $0.57, Out: $1.42 | | thudm/glm-4.1v-9b-thinking | openrouter | 65536 | 8000 | In: $0.04, Out: $0.14 | | z-ai/glm-4.5v | openrouter | 65536 | 65536 | In: $0.50, Out: $1.80 | | x-ai/grok-4 | openrouter | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| x-ai/grok-4-fast | openrouter | 2000000 | 30000 | In: $0.20, Out: $0.50, Cache: $0.05 | | x-ai/grok-4-fast:free | openrouter | 2000000 | 30000 | - | | gemini-1.5-flash | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-002 | vertexai | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | @@ -2311,23 +2391,28 @@ Models that can process images: | gemini-2.5-flash | vertexai | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite | vertexai | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-pro | vertexai | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | +| grok-2-image-1212 | xai | 131072 | - | In: $2.00, Out: $10.00 | +| grok-2-vision-1212 | xai | 32768 | - | In: $2.00, Out: $10.00 | +| grok-4-0709 | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-non-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | +| grok-4-fast-reasoning | xai | 256000 | - | In: $3.00, Out: $15.00, Cache: $0.75 | -### Audio Input Models (63) +### Audio Input Models (65) Models that can process audio: | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | -| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | +| gemini-1.5-flash | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-002 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-001 | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | | gemini-1.5-flash-8b-latest | gemini | 1048576 | 8192 | In: $0.08, Out: $0.30, Cache: $0.02 | -| gemini-1.5-pro | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-001 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | +| gemini-1.5-pro | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-002 | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-1.5-pro-latest | gemini | 2097152 | 8192 | In: $1.25, Out: $5.00, Cache: $0.31 | | gemini-2.0-flash | gemini | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | @@ -2341,31 +2426,33 @@ Models that can process audio: | gemini-2.5-flash-preview-05-20 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-live-2.5-flash-preview | gemini | 1048576 | 8192 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-exp-native-audio-thinking-dialog | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | -| gemini-2.5-flash-preview-native-audio-dialog | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | +| gemini-2.5-flash-native-audio-preview-09-2025 | gemini | 128000 | 8000 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-flash-lite-06-17 | gemini | 1048576 | 65536 | In: $0.30, Out: $2.50, Cache: $0.08 | | gemini-2.5-pro | gemini | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | gpt-4o-audio-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-transcribe | openai | 16000 | 2000 | In: $2.50, Out: $10.00 | +| gpt-4o-mini-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-audio-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-realtime-preview | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-realtime-preview-2024-12-17 | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-transcribe | openai | 16000 | 2000 | In: $1.25, Out: $5.00 | | gpt-4o-audio-preview-2024-10-01 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-audio-preview-2025-06-03 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini-audio-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-transcribe | openai | 16000 | 2000 | In: $1.25, Out: $5.00 | -| gpt-4o-mini-tts | openai | - | - | In: $0.60, Out: $12.00 | -| gpt-4o-transcribe | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-audio | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| gpt-audio-2025-08-28 | openai | 4096 | 16384 | In: $0.50, Out: $1.50 | -| tts-1 | openai | - | - | In: $15.00, Out: $15.00 | | tts-1-1106 | openai | - | - | In: $15.00, Out: $15.00 | -| tts-1-hd | openai | - | - | In: $30.00, Out: $30.00 | | tts-1-hd-1106 | openai | - | - | In: $30.00, Out: $30.00 | -| whisper-1 | openai | - | - | In: $0.01, Out: $0.01 | +| whisper-1 | openai | - | - | In: $0.01 | +| gpt-audio | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-audio-2025-08-28 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-realtime | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| gpt-realtime-2025-08-28 | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | | google/gemini-2.0-flash-001 | openrouter | 1048576 | 8192 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.0-flash-lite-001 | openrouter | 1048576 | 8192 | In: $0.08, Out: $0.30 | | google/gemini-2.5-flash | openrouter | 1048576 | 65535 | In: $0.30, Out: $2.50, Cache: $0.08 | | google/gemini-2.5-flash-lite | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | | google/gemini-2.5-flash-lite-preview-06-17 | openrouter | 1048576 | 65535 | In: $0.10, Out: $0.40, Cache: $0.02 | +| google/gemini-2.5-flash-lite-preview-09-2025 | openrouter | 1048576 | 65536 | In: $0.10, Out: $0.40 | | google/gemini-2.5-pro | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview-05-06 | openrouter | 1048576 | 65535 | In: $1.25, Out: $10.00, Cache: $0.31 | | google/gemini-2.5-pro-preview | openrouter | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | @@ -2384,38 +2471,44 @@ Models that can process audio: | gemini-2.5-pro | vertexai | 1048576 | 65536 | In: $1.25, Out: $10.00, Cache: $0.31 | -### PDF Models (81) +### PDF Models (60) Models that can process PDF documents: | Model | Provider | Context | Max Output | Standard Pricing (per 1M tokens) | | :-- | :-- | --: | --: | :-- | +| claude-3-haiku-20240307 | anthropic | 200000 | 4096 | In: $0.25, Out: $1.25 | +| claude-3-5-haiku-20241022 | anthropic | 200000 | 8192 | In: $0.80, Out: $4.00 | | claude-3-opus-20240229 | anthropic | 200000 | 4096 | In: $15.00, Out: $75.00 | +| claude-opus-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | +| claude-opus-4-1-20250805 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20241022 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | | claude-3-5-sonnet-20240620 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | +| claude-3-7-sonnet-20250219 | anthropic | 200000 | 8192 | In: $3.00, Out: $15.00 | +| claude-sonnet-4-20250514 | anthropic | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-v2:0:100k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-v2:1:200k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | -| anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-v2:1:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | +| anthropic.claude-v2:0:18k | bedrock | 200000 | 4096 | In: $8.00, Out: $24.00 | | anthropic.claude-3-haiku-20240307-v1:0:200k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | | anthropic.claude-3-haiku-20240307-v1:0:48k | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-3-haiku-20240307-v1:0 | bedrock | 200000 | 4096 | In: $0.25, Out: $1.25 | +| anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0 | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:12k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | -| anthropic.claude-3-opus-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-opus-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $15.00, Out: $75.00 | | anthropic.claude-3-sonnet-20240229-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-sonnet-20240229-v1:0:28k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-haiku-20241022-v1:0 | bedrock | 200000 | 4096 | In: $0.80, Out: $4.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20240620-v1:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20240620-v1:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | -| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-3-5-sonnet-20241022-v2:0:51k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:200k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | +| anthropic.claude-3-5-sonnet-20241022-v2:0:18k | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | bedrock | 200000 | 4096 | In: $3.00, Out: $15.00 | | anthropic.claude-instant-v1:2:100k | bedrock | 200000 | 4096 | In: $0.80, Out: $2.40 | | us.anthropic.claude-opus-4-20250514-v1:0 | bedrock | 200000 | 4096 | In: $0.10, Out: $0.20 | @@ -2428,52 +2521,25 @@ Models that can process PDF documents: | gemini-2.0-flash-thinking-exp | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-01-21 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | | gemini-2.0-flash-thinking-exp-1219 | gemini | 1048576 | 65536 | In: $0.10, Out: $0.40 | +| gemini-2.5-flash-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-flash-lite-preview-06-17 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-2.5-flash-lite-preview-09-2025 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-06-05 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-03-25 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | gemini-2.5-pro-preview-05-06 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-exp-1206 | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | -| imagen-3.0-generate-002 | gemini | 480 | 8192 | - | -| imagen-4.0-generate-preview-06-06 | gemini | 480 | 8192 | - | -| imagen-4.0-ultra-generate-preview-06-06 | gemini | 480 | 8192 | - | +| gemini-flash-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-flash-lite-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-pro-latest | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | +| gemini-robotics-er-1.5-preview | gemini | 1048576 | 65536 | In: $0.08, Out: $0.30 | | learnlm-2.0-flash-experimental | gemini | 1048576 | 32768 | In: $0.08, Out: $0.30 | -| chatgpt-4o-latest | openai | 128000 | 16384 | In: $5.00, Out: $15.00 | -| gpt-4 | openai | 8192 | 8192 | In: $10.00, Out: $30.00 | -| gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4-turbo-preview | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | -| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | -| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | -| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40 | -| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-05-13 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | | gpt-4o-2024-11-20 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | -| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | -| gpt-5 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-chat-latest | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-mini-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| gpt-5-nano-2025-08-07 | openai | 128000 | 400000 | In: $1.25, Out: $10.00, Cache: $0.12 | -| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00 | -| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | -| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | | omni-moderation-2024-09-26 | openai | - | - | - | -| omni-moderation-latest | openai | - | - | - | -### Embedding Models (13) +### Embedding Models (90) Models that generate embeddings: @@ -2481,15 +2547,92 @@ Models that generate embeddings: | :-- | :-- | --: | --: | :-- | | embedding-001 | gemini | 2048 | 1 | - | | embedding-gecko-001 | gemini | 1024 | 1 | - | -| gemini-embedding-001 | gemini | 2048 | 1 | - | -| gemini-embedding-exp | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | gemini-embedding-exp-03-07 | gemini | 8192 | 1 | In: $0.00, Out: $0.00 | | text-embedding-004 | gemini | 2048 | 1 | - | -| codestral-embed | mistral | 32768 | 8192 | - | | codestral-embed-2505 | mistral | 32768 | 8192 | - | +| codestral-embed | mistral | 32768 | 8192 | - | | mistral-embed | mistral | 32768 | 8192 | - | | mistral-embed-2312 | mistral | 32768 | 8192 | - | -| text-embedding-3-large | openai | - | - | In: $0.13, Out: $0.13 | -| text-embedding-3-small | openai | - | - | In: $0.02, Out: $0.02 | -| text-embedding-ada-002 | openai | - | - | In: $0.10, Out: $0.10 | +| chatgpt-4o-latest | openai | 128000 | 16384 | In: $5.00, Out: $15.00 | +| dall-e-2 | openai | - | - | - | +| dall-e-3 | openai | - | - | - | +| gpt-image-1 | openai | - | - | In: $5.00, Out: $40.00, Cache: $1.25 | +| gpt-3.5-turbo | openai | 16385 | 4096 | In: $0.50, Out: $1.50 | +| gpt-4-0613 | openai | 8192 | 8192 | In: $30.00, Out: $60.00 | +| gpt-4 | openai | 8192 | 8192 | In: $30.00, Out: $60.00 | +| gpt-4-turbo | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | +| gpt-4-turbo-2024-04-09 | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | +| gpt-4-turbo-preview | openai | 128000 | 4096 | In: $10.00, Out: $30.00 | +| gpt-4.1 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | +| gpt-4.1-2025-04-14 | openai | 1047576 | 32768 | In: $2.00, Out: $8.00, Cache: $0.50 | +| gpt-4.1-mini-2025-04-14 | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-mini | openai | 1047576 | 32768 | In: $0.40, Out: $1.60, Cache: $0.10 | +| gpt-4.1-nano | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.1-nano-2025-04-14 | openai | 1047576 | 32768 | In: $0.10, Out: $0.40, Cache: $0.02 | +| gpt-4.5-preview | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4.5-preview-2025-02-27 | openai | 128000 | 16384 | In: $75.00, Out: $150.00, Cache: $37.50 | +| gpt-4o-2024-08-06 | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o | openai | 128000 | 16384 | In: $2.50, Out: $10.00, Cache: $1.25 | +| gpt-4o-audio-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-search-preview | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-4o-transcribe | openai | 16000 | 2000 | In: $2.50, Out: $10.00 | +| gpt-4o-mini | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini-2024-07-18 | openai | 128000 | 16384 | In: $0.15, Out: $0.60, Cache: $0.08 | +| gpt-4o-mini-audio-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-audio-preview-2024-12-17 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-realtime-preview-2024-12-17 | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-realtime-preview | openai | 16000 | 4096 | In: $0.60, Out: $2.40, Cache: $0.30 | +| gpt-4o-mini-search-preview | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-search-preview-2025-03-11 | openai | 128000 | 16384 | In: $0.15, Out: $0.60 | +| gpt-4o-mini-tts | openai | 2000 | - | In: $0.60, Out: $12.00 | +| gpt-4o-mini-transcribe | openai | 16000 | 2000 | In: $1.25, Out: $5.00 | +| gpt-5-2025-08-07 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5 | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-chat-latest | openai | 128000 | 16384 | In: $1.25, Out: $10.00, Cache: $0.12 | +| gpt-5-mini | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-mini-2025-08-07 | openai | 400000 | 128000 | In: $0.25, Out: $2.00, Cache: $0.02 | +| gpt-5-nano-2025-08-07 | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-nano | openai | 400000 | 128000 | In: $0.05, Out: $0.40, Cache: $0.01 | +| gpt-5-codex | openai | 400000 | 128000 | In: $1.25, Out: $10.00, Cache: $0.12 | +| tts-1 | openai | - | - | In: $15.00 | +| tts-1-hd | openai | - | - | In: $30.00 | +| whisper-1 | openai | - | - | In: $0.01 | +| babbage-002 | openai | - | 16384 | In: $0.40, Out: $0.40 | +| codex-mini-latest | openai | 200000 | 100000 | In: $1.50, Out: $6.00, Cache: $0.38 | +| computer-use-preview-2025-03-11 | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| computer-use-preview | openai | 8192 | 1024 | In: $3.00, Out: $12.00 | +| davinci-002 | openai | - | 16384 | In: $2.00, Out: $2.00 | +| gpt-audio-2025-08-28 | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-audio | openai | 128000 | 16384 | In: $2.50, Out: $10.00 | +| gpt-oss-120b | openai | 131072 | 131072 | - | +| gpt-oss-20b | openai | 131072 | 131072 | - | +| gpt-realtime-2025-08-28 | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| gpt-realtime | openai | 32000 | 4096 | In: $4.00, Out: $16.00, Cache: $0.40 | +| o1 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-2024-12-17 | openai | 200000 | 100000 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-preview-2024-09-12 | openai | 128000 | 32768 | In: $15.00, Out: $60.00, Cache: $7.50 | +| o1-mini | openai | 128000 | 65536 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o1-mini-2024-09-12 | openai | 128000 | 65536 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o1-pro-2025-03-19 | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o1-pro | openai | 200000 | 100000 | In: $150.00, Out: $600.00 | +| o3-2025-04-16 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o3-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-deep-research | openai | 200000 | 100000 | In: $10.00, Out: $40.00, Cache: $2.50 | +| o3-mini-2025-01-31 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.55 | +| o3-pro-2025-06-10 | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o3-pro | openai | 200000 | 100000 | In: $20.00, Out: $80.00 | +| o4-mini-2025-04-16 | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini | openai | 200000 | 100000 | In: $1.10, Out: $4.40, Cache: $0.28 | +| o4-mini-deep-research-2025-06-26 | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| o4-mini-deep-research | openai | 200000 | 100000 | In: $2.00, Out: $8.00, Cache: $0.50 | +| omni-moderation-latest | openai | - | - | - | +| text-embedding-3-large | openai | - | - | In: $0.13 | +| text-embedding-3-small | openai | - | - | In: $0.02 | +| text-embedding-ada-002 | openai | - | - | In: $0.10 | +| text-moderation-latest | openai | - | 32768 | - | +| text-moderation-stable | openai | - | 32768 | - | diff --git a/lib/ruby_llm.rb b/lib/ruby_llm.rb index 7bb5f2808..6a626b816 100644 --- a/lib/ruby_llm.rb +++ b/lib/ruby_llm.rb @@ -23,7 +23,8 @@ 'mistral' => 'Mistral', 'vertexai' => 'VertexAI', 'pdf' => 'PDF', - 'UI' => 'UI' + 'UI' => 'UI', + 'xai' => 'XAI' ) loader.ignore("#{__dir__}/tasks") loader.ignore("#{__dir__}/generators") @@ -93,6 +94,7 @@ def logger RubyLLM::Provider.register :openrouter, RubyLLM::Providers::OpenRouter RubyLLM::Provider.register :perplexity, RubyLLM::Providers::Perplexity RubyLLM::Provider.register :vertexai, RubyLLM::Providers::VertexAI +RubyLLM::Provider.register :xai, RubyLLM::Providers::XAI if defined?(Rails::Railtie) require 'ruby_llm/railtie' diff --git a/lib/ruby_llm/aliases.json b/lib/ruby_llm/aliases.json index fb99e03c6..59febddee 100644 --- a/lib/ruby_llm/aliases.json +++ b/lib/ruby_llm/aliases.json @@ -106,6 +106,14 @@ "gemini": "gemini-2.5-flash-lite-preview-06-17", "openrouter": "google/gemini-2.5-flash-lite-preview-06-17" }, + "gemini-2.5-flash-lite-preview-09-2025": { + "gemini": "gemini-2.5-flash-lite-preview-09-2025", + "openrouter": "google/gemini-2.5-flash-lite-preview-09-2025" + }, + "gemini-2.5-flash-preview-09-2025": { + "gemini": "gemini-2.5-flash-preview-09-2025", + "openrouter": "google/gemini-2.5-flash-preview-09-2025" + }, "gemini-2.5-pro": { "gemini": "gemini-2.5-pro", "openrouter": "google/gemini-2.5-pro", @@ -115,10 +123,6 @@ "gemini": "gemini-2.5-pro-preview-05-06", "openrouter": "google/gemini-2.5-pro-preview-05-06" }, - "gemini-embedding-001": { - "gemini": "gemini-embedding-001", - "vertexai": "gemini-embedding-001" - }, "gemini-exp-1206": { "gemini": "gemini-exp-1206", "vertexai": "gemini-exp-1206" @@ -219,6 +223,10 @@ "openai": "gpt-5", "openrouter": "openai/gpt-5" }, + "gpt-5-codex": { + "openai": "gpt-5-codex", + "openrouter": "openai/gpt-5-codex" + }, "gpt-5-mini": { "openai": "gpt-5-mini", "openrouter": "openai/gpt-5-mini" @@ -227,6 +235,95 @@ "openai": "gpt-5-nano", "openrouter": "openai/gpt-5-nano" }, + "gpt-oss-120b": { + "openai": "gpt-oss-120b", + "openrouter": "openai/gpt-oss-120b" + }, + "gpt-oss-20b": { + "openai": "gpt-oss-20b", + "openrouter": "openai/gpt-oss-20b" + }, + "grok-2": { + "xai": "grok-2-1212" + }, + "grok-2-image": { + "xai": "grok-2-image-1212" + }, + "grok-2-image-latest": { + "xai": "grok-2-image-1212" + }, + "grok-2-latest": { + "xai": "grok-2-1212" + }, + "grok-2-vision": { + "xai": "grok-2-vision-1212" + }, + "grok-2-vision-latest": { + "xai": "grok-2-vision-1212" + }, + "grok-3": { + "xai": "grok-3", + "openrouter": "x-ai/grok-3" + }, + "grok-3-beta": { + "xai": "grok-3" + }, + "grok-3-fast": { + "xai": "grok-3" + }, + "grok-3-fast-beta": { + "xai": "grok-3" + }, + "grok-3-fast-latest": { + "xai": "grok-3" + }, + "grok-3-latest": { + "xai": "grok-3" + }, + "grok-3-mini": { + "xai": "grok-3-mini", + "openrouter": "x-ai/grok-3-mini" + }, + "grok-3-mini-beta": { + "xai": "grok-3-mini" + }, + "grok-3-mini-fast": { + "xai": "grok-3-mini" + }, + "grok-3-mini-fast-beta": { + "xai": "grok-3-mini" + }, + "grok-3-mini-fast-latest": { + "xai": "grok-3-mini" + }, + "grok-3-mini-latest": { + "xai": "grok-3-mini" + }, + "grok-4": { + "xai": "grok-4-0709" + }, + "grok-4-fast": { + "xai": "grok-4-fast-reasoning" + }, + "grok-4-fast-non-reasoning-latest": { + "xai": "grok-4-fast-non-reasoning" + }, + "grok-4-fast-reasoning-latest": { + "xai": "grok-4-fast-reasoning" + }, + "grok-4-latest": { + "xai": "grok-4-0709" + }, + "grok-code-fast": { + "xai": "grok-code-fast-1" + }, + "grok-code-fast-1": { + "xai": "grok-code-fast-1", + "openrouter": "x-ai/grok-code-fast-1" + }, + "grok-code-fast-1-0825": { + "xai": "grok-code-fast-1" + }, "o1": { "openai": "o1", "openrouter": "openai/o1" diff --git a/lib/ruby_llm/configuration.rb b/lib/ruby_llm/configuration.rb index eda2c3354..f19e58aab 100644 --- a/lib/ruby_llm/configuration.rb +++ b/lib/ruby_llm/configuration.rb @@ -14,6 +14,7 @@ class Configuration :vertexai_location, :deepseek_api_key, :perplexity_api_key, + :xai_api_key, :bedrock_api_key, :bedrock_secret_key, :bedrock_region, diff --git a/lib/ruby_llm/models.json b/lib/ruby_llm/models.json index 7ab399bab..0a57b5fbc 100644 --- a/lib/ruby_llm/models.json +++ b/lib/ruby_llm/models.json @@ -4,28 +4,34 @@ "name": "Claude Haiku 3.5", "provider": "anthropic", "family": "claude-3-5-haiku", - "created_at": null, + "created_at": "2024-10-22 00:00:00 UTC", "context_window": 200000, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "capabilities": [ - "function_calling" + "streaming", + "function_calling", + "batch" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 0.8, - "cached_input_per_million": 1.0, "output_per_million": 4.0 + }, + "batch": { + "input_per_million": 0.4, + "output_per_million": 2.0 } } }, @@ -112,28 +118,38 @@ "name": "Claude Sonnet 3.7", "provider": "anthropic", "family": "claude-3-7-sonnet", - "created_at": null, + "created_at": "2025-02-24 00:00:00 UTC", "context_window": 200000, - "max_output_tokens": 64000, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "capabilities": [ - "function_calling" + "streaming", + "function_calling", + "batch", + "reasoning", + "citations" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 3.0, - "cached_input_per_million": 3.75, - "output_per_million": 15.0 + "output_per_million": 15.0, + "reasoning_output_per_million": 37.5 + }, + "batch": { + "input_per_million": 1.5, + "output_per_million": 7.5, + "reasoning_output_per_million": 18.75 } } }, @@ -144,28 +160,34 @@ "name": "Claude Haiku 3", "provider": "anthropic", "family": "claude-3-haiku", - "created_at": null, + "created_at": "2024-03-07 00:00:00 UTC", "context_window": 200000, "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "capabilities": [ - "function_calling" + "streaming", + "function_calling", + "batch" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 0.25, - "cached_input_per_million": 0.3, "output_per_million": 1.25 + }, + "batch": { + "input_per_million": 0.125, + "output_per_million": 0.625 } } }, @@ -213,29 +235,34 @@ "id": "claude-opus-4-1-20250805", "name": "Claude Opus 4.1", "provider": "anthropic", - "family": "claude-opus-4-1", - "created_at": null, + "family": "claude-2", + "created_at": "2025-08-05 00:00:00 UTC", "context_window": 200000, - "max_output_tokens": 32000, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "capabilities": [ - "function_calling" + "streaming", + "reasoning" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 15.0, - "cached_input_per_million": 18.75, - "output_per_million": 75.0 + "input_per_million": 3.0, + "output_per_million": 15.0 + }, + "batch": { + "input_per_million": 1.5, + "output_per_million": 7.5 } } }, @@ -245,29 +272,34 @@ "id": "claude-opus-4-20250514", "name": "Claude Opus 4", "provider": "anthropic", - "family": "claude-opus-4", - "created_at": null, + "family": "claude-2", + "created_at": "2025-05-22 00:00:00 UTC", "context_window": 200000, - "max_output_tokens": 32000, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "capabilities": [ - "function_calling" + "streaming", + "reasoning" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 15.0, - "cached_input_per_million": 18.75, - "output_per_million": 75.0 + "input_per_million": 3.0, + "output_per_million": 15.0 + }, + "batch": { + "input_per_million": 1.5, + "output_per_million": 7.5 } } }, @@ -277,29 +309,34 @@ "id": "claude-sonnet-4-20250514", "name": "Claude Sonnet 4", "provider": "anthropic", - "family": "claude-sonnet-4", - "created_at": null, + "family": "claude-2", + "created_at": "2025-05-22 00:00:00 UTC", "context_window": 200000, - "max_output_tokens": 64000, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "capabilities": [ - "function_calling" + "streaming", + "reasoning" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 3.0, - "cached_input_per_million": 3.75, "output_per_million": 15.0 + }, + "batch": { + "input_per_million": 1.5, + "output_per_million": 7.5 } } }, @@ -1759,35 +1796,6 @@ "owned_by": "deepseek" } }, - { - "id": "aqa", - "name": "Model that performs Attributed Question Answering.", - "provider": "gemini", - "family": "aqa", - "created_at": null, - "context_window": 7168, - "max_output_tokens": 1024, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "capabilities": [ - "streaming" - ], - "pricing": {}, - "metadata": { - "version": "001", - "description": "Model trained to return answers to questions that are grounded in provided sources, along with estimating answerable probability.", - "supported_generation_methods": [ - "generateAnswer" - ] - } - }, { "id": "embedding-001", "name": "Embedding 001", @@ -1883,6 +1891,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -1892,6 +1901,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -1924,6 +1937,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -1933,6 +1947,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -1958,6 +1976,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -1967,6 +1986,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -2000,6 +2023,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -2009,6 +2033,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -2042,6 +2070,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -2051,6 +2080,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -2084,6 +2117,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -2093,6 +2127,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -2126,6 +2164,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -2135,6 +2174,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -3011,7 +3054,7 @@ "id": "gemini-2.5-flash-exp-native-audio-thinking-dialog", "name": "Gemini 2.5 Flash Native Audio", "provider": "gemini", - "family": "gemini-2.5-flash-preview-native-audio-dialog", + "family": "gemini-2.5-flash-native-audio-preview-09-2025", "created_at": null, "context_window": 128000, "max_output_tokens": 8000, @@ -3221,45 +3264,45 @@ } }, { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash", + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash-Lite Preview Sep 2025", "provider": "gemini", - "family": "gemini-2.5-flash", + "family": "other", "created_at": null, "context_window": 1048576, "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ - "audio", + "text", "image", - "text" + "pdf", + "video" ], "output": [ "text" ] }, "capabilities": [ - "batch", - "function_calling", - "structured_output" + "streaming", + "structured_output", + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.3, - "cached_input_per_million": 0.075, - "output_per_million": 2.5 + "input_per_million": 0.075, + "output_per_million": 0.3 }, "batch": { - "input_per_million": 0.15, - "output_per_million": 1.25 + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, "metadata": { - "version": "2.5-preview-05-20", - "description": "Preview release (April 17th, 2025) of Gemini 2.5 Flash", + "version": "2.5-preview-09-25", + "description": "Preview release (Septempber 25th, 2025) of Gemini 2.5 Flash-Lite", "supported_generation_methods": [ "generateContent", "countTokens", @@ -3269,10 +3312,10 @@ } }, { - "id": "gemini-2.5-flash-preview-native-audio-dialog", + "id": "gemini-2.5-flash-native-audio-preview-09-2025", "name": "Gemini 2.5 Flash Native Audio", "provider": "gemini", - "family": "gemini-2.5-flash-preview-native-audio-dialog", + "family": "gemini-2.5-flash-native-audio-preview-09-2025", "created_at": null, "context_window": 128000, "max_output_tokens": 8000, @@ -3302,52 +3345,10 @@ "metadata": {} }, { - "id": "gemini-2.5-flash-preview-tts", - "name": "Gemini 2.5 Flash Preview TTS", - "provider": "gemini", - "family": "gemini-2.5-flash-preview-tts", - "created_at": null, - "context_window": 8000, - "max_output_tokens": 16000, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] - }, - "capabilities": [ - "batch" - ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.3, - "cached_input_per_million": 0.075, - "output_per_million": 2.5 - }, - "batch": { - "input_per_million": 0.15, - "output_per_million": 1.25 - } - } - }, - "metadata": { - "version": "gemini-2.5-flash-exp-tts-2025-05-19", - "description": "Gemini 2.5 Flash Preview TTS", - "supported_generation_methods": [ - "countTokens", - "generateContent" - ] - } - }, - { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", + "id": "gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash", "provider": "gemini", - "family": "gemini-2.5-pro", + "family": "gemini-2.5-flash", "created_at": null, "context_window": 1048576, "max_output_tokens": 65536, @@ -3370,19 +3371,19 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "cached_input_per_million": 0.31, - "output_per_million": 10.0 + "input_per_million": 0.3, + "cached_input_per_million": 0.075, + "output_per_million": 2.5 }, "batch": { - "input_per_million": 0.625, - "output_per_million": 5.0 + "input_per_million": 0.15, + "output_per_million": 1.25 } } }, "metadata": { - "version": "2.5", - "description": "Stable release (June 17th, 2025) of Gemini 2.5 Pro", + "version": "2.5-preview-05-20", + "description": "Preview release (April 17th, 2025) of Gemini 2.5 Flash", "supported_generation_methods": [ "generateContent", "countTokens", @@ -3392,8 +3393,8 @@ } }, { - "id": "gemini-2.5-pro-preview-03-25", - "name": "Gemini 2.5 Pro Preview 03-25", + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview Sep 2025", "provider": "gemini", "family": "other", "created_at": null, @@ -3415,6 +3416,7 @@ "streaming", "function_calling", "structured_output", + "batch", "caching" ], "pricing": { @@ -3430,8 +3432,8 @@ } }, "metadata": { - "version": "2.5-preview-03-25", - "description": "Gemini 2.5 Pro Preview 03-25", + "version": "Gemini 2.5 Flash Preview 09-2025", + "description": "Gemini 2.5 Flash Preview Sep 2025", "supported_generation_methods": [ "generateContent", "countTokens", @@ -3441,46 +3443,87 @@ } }, { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", + "id": "gemini-2.5-flash-preview-tts", + "name": "Gemini 2.5 Flash Preview TTS", "provider": "gemini", - "family": "other", + "family": "gemini-2.5-flash-preview-tts", "created_at": null, - "context_window": 1048576, - "max_output_tokens": 65536, + "context_window": 8000, + "max_output_tokens": 16000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf", - "video" + "text" + ], + "output": [ + "audio" + ] + }, + "capabilities": [ + "batch" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.3, + "cached_input_per_million": 0.075, + "output_per_million": 2.5 + }, + "batch": { + "input_per_million": 0.15, + "output_per_million": 1.25 + } + } + }, + "metadata": { + "version": "gemini-2.5-flash-exp-tts-2025-05-19", + "description": "Gemini 2.5 Flash Preview TTS", + "supported_generation_methods": [ + "countTokens", + "generateContent" + ] + } + }, + { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "provider": "gemini", + "family": "gemini-2.5-pro", + "created_at": null, + "context_window": 1048576, + "max_output_tokens": 65536, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "audio", + "image", + "text" ], "output": [ "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "caching" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.075, - "output_per_million": 0.3 + "input_per_million": 1.25, + "cached_input_per_million": 0.31, + "output_per_million": 10.0 }, "batch": { - "input_per_million": 0.0375, - "output_per_million": 0.15 + "input_per_million": 0.625, + "output_per_million": 5.0 } } }, "metadata": { - "version": "2.5-preview-05-06", - "description": "Preview release (May 6th, 2025) of Gemini 2.5 Pro", + "version": "2.5", + "description": "Stable release (June 17th, 2025) of Gemini 2.5 Pro", "supported_generation_methods": [ "generateContent", "countTokens", @@ -3490,8 +3533,8 @@ } }, { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview", + "id": "gemini-2.5-pro-preview-03-25", + "name": "Gemini 2.5 Pro Preview 03-25", "provider": "gemini", "family": "other", "created_at": null, @@ -3528,8 +3571,8 @@ } }, "metadata": { - "version": "2.5-preview-06-05", - "description": "Preview release (June 5th, 2025) of Gemini 2.5 Pro", + "version": "2.5-preview-03-25", + "description": "Gemini 2.5 Pro Preview 03-25", "supported_generation_methods": [ "generateContent", "countTokens", @@ -3539,140 +3582,142 @@ } }, { - "id": "gemini-2.5-pro-preview-tts", - "name": "Gemini 2.5 Pro Preview TTS", + "id": "gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", "provider": "gemini", - "family": "gemini-2.5-pro-preview-tts", + "family": "other", "created_at": null, - "context_window": 8000, - "max_output_tokens": 16000, + "context_window": 1048576, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image", + "pdf", + "video" ], "output": [ - "audio" + "text" ] }, "capabilities": [ - "batch" + "streaming", + "function_calling", + "structured_output", + "caching" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "cached_input_per_million": 0.31, - "output_per_million": 10.0 + "input_per_million": 0.075, + "output_per_million": 0.3 }, "batch": { - "input_per_million": 0.625, - "output_per_million": 5.0 + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, "metadata": { - "version": "gemini-2.5-pro-preview-tts-2025-05-19", - "description": "Gemini 2.5 Pro Preview TTS", + "version": "2.5-preview-05-06", + "description": "Preview release (May 6th, 2025) of Gemini 2.5 Pro", "supported_generation_methods": [ + "generateContent", "countTokens", - "generateContent" + "createCachedContent", + "batchGenerateContent" ] } }, { - "id": "gemini-embedding-001", - "name": "Gemini Embedding 001", + "id": "gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview", "provider": "gemini", - "family": "embedding1", + "family": "other", "created_at": null, - "context_window": 2048, - "max_output_tokens": 1, + "context_window": 1048576, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ "text", + "image", + "pdf", "video" ], "output": [ - "text", - "embeddings" + "text" ] }, "capabilities": [ "streaming", - "batch" + "function_calling", + "structured_output", + "caching" ], "pricing": { - "embeddings": { + "text_tokens": { "standard": { - "input_per_million": 0.002 + "input_per_million": 0.075, + "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, "metadata": { - "version": "001", - "description": "Obtain a distributed representation of a text.", + "version": "2.5-preview-06-05", + "description": "Preview release (June 5th, 2025) of Gemini 2.5 Pro", "supported_generation_methods": [ - "embedContent", - "countTextTokens", + "generateContent", "countTokens", - "asyncBatchEmbedContent" + "createCachedContent", + "batchGenerateContent" ] } }, { - "id": "gemini-embedding-exp", - "name": "Gemini Embedding Experimental", + "id": "gemini-2.5-pro-preview-tts", + "name": "Gemini 2.5 Pro Preview TTS", "provider": "gemini", - "family": "gemini_embedding_exp", + "family": "gemini-2.5-pro-preview-tts", "created_at": null, - "context_window": 8192, - "max_output_tokens": 1, + "context_window": 8000, + "max_output_tokens": 16000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf", - "video" + "text" ], "output": [ - "text", - "embeddings" + "audio" ] }, "capabilities": [ - "streaming", - "function_calling", - "structured_output", - "batch", - "caching" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.002, - "output_per_million": 0.004 + "input_per_million": 1.25, + "cached_input_per_million": 0.31, + "output_per_million": 10.0 }, "batch": { - "input_per_million": 0.001, - "output_per_million": 0.002 - } - }, - "embeddings": { - "standard": { - "input_per_million": 0.002 + "input_per_million": 0.625, + "output_per_million": 5.0 } } }, "metadata": { - "version": "exp-03-07", - "description": "Obtain a distributed representation of a text.", + "version": "gemini-2.5-pro-preview-tts-2025-05-19", + "description": "Gemini 2.5 Pro Preview TTS", "supported_generation_methods": [ - "embedContent", - "countTextTokens", - "countTokens" + "countTokens", + "generateContent" ] } }, @@ -3781,58 +3826,79 @@ } }, { - "id": "gemini-live-2.5-flash-preview", - "name": "Gemini 2.5 Flash Live", + "id": "gemini-flash-latest", + "name": "Gemini Flash Latest", "provider": "gemini", - "family": "gemini-live-2.5-flash-preview", + "family": "other", "created_at": null, "context_window": 1048576, - "max_output_tokens": 8192, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ - "audio", - "text" + "text", + "image", + "pdf", + "video" ], "output": [ - "audio", "text" ] }, "capabilities": [ + "streaming", "function_calling", - "structured_output" + "structured_output", + "batch", + "caching" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.3, - "cached_input_per_million": 0.075, - "output_per_million": 2.5 + "input_per_million": 0.075, + "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, - "metadata": {} + "metadata": { + "version": "Gemini Flash Latest", + "description": "Latest release of Gemini Flash", + "supported_generation_methods": [ + "generateContent", + "countTokens", + "createCachedContent", + "batchGenerateContent" + ] + } }, { - "id": "gemma-3-12b-it", - "name": "Gemma 3 12B", + "id": "gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", "provider": "gemini", "family": "other", "created_at": null, - "context_window": 32768, - "max_output_tokens": 8192, + "context_window": 1048576, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image", + "pdf", + "video" ], "output": [ "text" ] }, "capabilities": [ - "streaming" + "streaming", + "structured_output", + "batch" ], "pricing": { "text_tokens": { @@ -3847,33 +3913,75 @@ } }, "metadata": { - "version": "001", - "description": null, + "version": "Gemini Flash-Lite Latest", + "description": "Latest release of Gemini Flash-Lite", "supported_generation_methods": [ "generateContent", - "countTokens" + "countTokens", + "createCachedContent", + "batchGenerateContent" ] } }, { - "id": "gemma-3-1b-it", - "name": "Gemma 3 1B", + "id": "gemini-live-2.5-flash-preview", + "name": "Gemini 2.5 Flash Live", "provider": "gemini", - "family": "other", + "family": "gemini-live-2.5-flash-preview", "created_at": null, - "context_window": 32768, + "context_window": 1048576, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ + "audio", "text" ], "output": [ + "audio", "text" ] }, "capabilities": [ - "streaming" + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.3, + "cached_input_per_million": 0.075, + "output_per_million": 2.5 + } + } + }, + "metadata": {} + }, + { + "id": "gemini-pro-latest", + "name": "Gemini Pro Latest", + "provider": "gemini", + "family": "other", + "created_at": null, + "context_window": 1048576, + "max_output_tokens": 65536, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text", + "image", + "pdf", + "video" + ], + "output": [ + "text" + ] + }, + "capabilities": [ + "streaming", + "function_calling", + "structured_output", + "caching" ], "pricing": { "text_tokens": { @@ -3888,33 +3996,41 @@ } }, "metadata": { - "version": "001", - "description": null, + "version": "Gemini Pro Latest", + "description": "Latest release of Gemini Pro", "supported_generation_methods": [ "generateContent", - "countTokens" + "countTokens", + "createCachedContent", + "batchGenerateContent" ] } }, { - "id": "gemma-3-27b-it", - "name": "Gemma 3 27B", + "id": "gemini-robotics-er-1.5-preview", + "name": "Gemini Robotics-ER 1.5 Preview", "provider": "gemini", "family": "other", "created_at": null, - "context_window": 131072, - "max_output_tokens": 8192, + "context_window": 1048576, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image", + "pdf", + "video" ], "output": [ "text" ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output", + "caching" ], "pricing": { "text_tokens": { @@ -3929,8 +4045,8 @@ } }, "metadata": { - "version": "001", - "description": null, + "version": "1.5-preview", + "description": "Gemini Robotics-ER 1.5 Preview", "supported_generation_methods": [ "generateContent", "countTokens" @@ -3938,8 +4054,8 @@ } }, { - "id": "gemma-3-4b-it", - "name": "Gemma 3 4B", + "id": "gemma-3-12b-it", + "name": "Gemma 3 12B", "provider": "gemini", "family": "other", "created_at": null, @@ -3979,13 +4095,13 @@ } }, { - "id": "gemma-3n-e2b-it", - "name": "Gemma 3n E2B", + "id": "gemma-3-1b-it", + "name": "Gemma 3 1B", "provider": "gemini", "family": "other", "created_at": null, - "context_window": 8192, - "max_output_tokens": 2048, + "context_window": 32768, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ @@ -4020,13 +4136,13 @@ } }, { - "id": "gemma-3n-e4b-it", - "name": "Gemma 3n E4B", + "id": "gemma-3-27b-it", + "name": "Gemma 3 27B", "provider": "gemini", "family": "other", "created_at": null, - "context_window": 8192, - "max_output_tokens": 2048, + "context_window": 131072, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ @@ -4061,95 +4177,125 @@ } }, { - "id": "imagen-3.0-generate-002", - "name": "Imagen 3.0", + "id": "gemma-3-4b-it", + "name": "Gemma 3 4B", "provider": "gemini", - "family": "imagen3", + "family": "other", "created_at": null, - "context_window": 480, + "context_window": 32768, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "image" + "text" ] }, "capabilities": [ "streaming" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.075, + "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 + } + } + }, "metadata": { - "version": "002", - "description": "Vertex served Imagen 3.0 002 model", + "version": "001", + "description": null, "supported_generation_methods": [ - "predict" + "generateContent", + "countTokens" ] } }, { - "id": "imagen-4.0-generate-preview-06-06", - "name": "Imagen 4 (Preview)", + "id": "gemma-3n-e2b-it", + "name": "Gemma 3n E2B", "provider": "gemini", "family": "other", "created_at": null, - "context_window": 480, - "max_output_tokens": 8192, + "context_window": 8192, + "max_output_tokens": 2048, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "image" + "text" ] }, "capabilities": [ "streaming" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.075, + "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 + } + } + }, "metadata": { - "version": "01", - "description": "Vertex served Imagen 4.0 model", + "version": "001", + "description": null, "supported_generation_methods": [ - "predict" + "generateContent", + "countTokens" ] } }, { - "id": "imagen-4.0-ultra-generate-preview-06-06", - "name": "Imagen 4 Ultra (Preview)", + "id": "gemma-3n-e4b-it", + "name": "Gemma 3n E4B", "provider": "gemini", "family": "other", "created_at": null, - "context_window": 480, - "max_output_tokens": 8192, + "context_window": 8192, + "max_output_tokens": 2048, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "image" + "text" ] }, "capabilities": [ "streaming" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.075, + "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 + } + } + }, "metadata": { - "version": "01", - "description": "Vertex served Imagen 4.0 ultra model", + "version": "001", + "description": null, "supported_generation_methods": [ - "predict" + "generateContent", + "countTokens" ] } }, @@ -6216,11 +6362,11 @@ }, { "id": "babbage-002", - "name": "Babbage 002", + "name": "babbage-002", "provider": "openai", - "family": "babbage", - "created_at": "2023-08-21 18:16:55 +0200", - "context_window": 4096, + "family": "babbage-002", + "created_at": null, + "context_window": null, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { @@ -6228,12 +6374,11 @@ "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { @@ -6249,27 +6394,24 @@ }, { "id": "chatgpt-4o-latest", - "name": "ChatGPT-4o Latest", + "name": "ChatGPT-4o", "provider": "openai", - "family": "chatgpt4o", - "created_at": "2024-08-13 04:12:11 +0200", + "family": "chatgpt-4o-latest", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming", - "structured_output" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { @@ -6285,30 +6427,33 @@ }, { "id": "codex-mini-latest", - "name": "Codex Mini Latest", + "name": "codex-mini-latest", "provider": "openai", - "family": "other", - "created_at": "2025-05-08 05:00:57 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "codex-mini-latest", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 1.5, + "cached_input_per_million": 0.375, + "output_per_million": 6.0 } } }, @@ -6318,31 +6463,37 @@ } }, { - "id": "dall-e-2", - "name": "DALL-E-2", + "id": "computer-use-preview", + "name": "computer-use-preview", "provider": "openai", - "family": "dall_e", - "created_at": "2023-11-01 01:22:57 +0100", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "computer-use-preview", + "created_at": null, + "context_window": 8192, + "max_output_tokens": 1024, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ - "text", - "image" + "embeddings", + "text" ] }, "capabilities": [ - "streaming" + "batch", + "function_calling" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 3.0, + "output_per_million": 12.0 + }, + "batch": { + "input_per_million": 1.5, + "output_per_million": 6.0 } } }, @@ -6352,31 +6503,37 @@ } }, { - "id": "dall-e-3", - "name": "DALL-E-3", + "id": "computer-use-preview-2025-03-11", + "name": "computer-use-preview", "provider": "openai", - "family": "dall_e", - "created_at": "2023-10-31 21:46:29 +0100", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "computer-use-preview", + "created_at": null, + "context_window": 8192, + "max_output_tokens": 1024, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ - "text", - "image" + "embeddings", + "text" ] }, "capabilities": [ - "streaming" + "batch", + "function_calling" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 3.0, + "output_per_million": 12.0 + }, + "batch": { + "input_per_million": 1.5, + "output_per_million": 6.0 } } }, @@ -6386,29 +6543,78 @@ } }, { - "id": "davinci-002", - "name": "Davinci 002", + "id": "dall-e-2", + "name": "DALL·E 2", "provider": "openai", - "family": "davinci", - "created_at": "2023-08-21 18:11:41 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "dall-e-2", + "created_at": null, + "context_window": null, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ "text" ], "output": [ - "text" + "embeddings", + "image" ] }, - "capabilities": [ - "streaming" - ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 2.0, + "capabilities": [], + "pricing": {}, + "metadata": { + "object": "model", + "owned_by": "system" + } + }, + { + "id": "dall-e-3", + "name": "DALL·E 3", + "provider": "openai", + "family": "dall-e-3", + "created_at": null, + "context_window": null, + "max_output_tokens": null, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "image" + ] + }, + "capabilities": [], + "pricing": {}, + "metadata": { + "object": "model", + "owned_by": "system" + } + }, + { + "id": "davinci-002", + "name": "davinci-002", + "provider": "openai", + "family": "davinci-002", + "created_at": null, + "context_window": null, + "max_output_tokens": 16384, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.0, "output_per_million": 2.0 } } @@ -6422,8 +6628,8 @@ "id": "gpt-3.5-turbo", "name": "GPT-3.5 Turbo", "provider": "openai", - "family": "gpt35_turbo", - "created_at": "2023-02-28 19:56:42 +0100", + "family": "gpt-3.5-turbo", + "created_at": null, "context_window": 16385, "max_output_tokens": 4096, "knowledge_cutoff": null, @@ -6432,17 +6638,22 @@ "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "batch" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 0.5, "output_per_million": 1.5 + }, + "batch": { + "input_per_million": 0.25, + "output_per_million": 0.75 } } }, @@ -6620,29 +6831,31 @@ "id": "gpt-4", "name": "GPT-4", "provider": "openai", - "family": "gpt4", - "created_at": "2023-06-27 18:13:31 +0200", + "family": "gpt-4", + "created_at": null, "context_window": 8192, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "function_calling" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 10.0, + "input_per_million": 30.0, + "output_per_million": 60.0 + }, + "batch": { + "input_per_million": 15.0, "output_per_million": 30.0 } } @@ -6687,29 +6900,34 @@ }, { "id": "gpt-4-0613", - "name": "GPT-4 0613", + "name": "GPT-4", "provider": "openai", - "family": "other", - "created_at": "2023-06-12 18:54:56 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "gpt-4", + "created_at": null, + "context_window": 8192, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 30.0, + "output_per_million": 60.0 + }, + "batch": { + "input_per_million": 15.0, + "output_per_million": 30.0 } } }, @@ -6755,23 +6973,23 @@ "id": "gpt-4-turbo", "name": "GPT-4 Turbo", "provider": "openai", - "family": "gpt4_turbo", - "created_at": "2024-04-06 01:57:21 +0200", + "family": "gpt-4-turbo", + "created_at": null, "context_window": 128000, "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling" ], "pricing": { @@ -6779,6 +6997,10 @@ "standard": { "input_per_million": 10.0, "output_per_million": 30.0 + }, + "batch": { + "input_per_million": 5.0, + "output_per_million": 15.0 } } }, @@ -6789,25 +7011,25 @@ }, { "id": "gpt-4-turbo-2024-04-09", - "name": "GPT-4 Turbo 20240409", + "name": "GPT-4 Turbo", "provider": "openai", - "family": "gpt4_turbo", - "created_at": "2024-04-08 20:41:17 +0200", + "family": "gpt-4-turbo", + "created_at": null, "context_window": 128000, "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling" ], "pricing": { @@ -6815,6 +7037,10 @@ "standard": { "input_per_million": 10.0, "output_per_million": 30.0 + }, + "batch": { + "input_per_million": 5.0, + "output_per_million": 15.0 } } }, @@ -6827,25 +7053,21 @@ "id": "gpt-4-turbo-preview", "name": "GPT-4 Turbo Preview", "provider": "openai", - "family": "gpt4_turbo", - "created_at": "2024-01-23 20:22:57 +0100", + "family": "gpt-4-turbo-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming", - "function_calling" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { @@ -6863,23 +7085,23 @@ "id": "gpt-4.1", "name": "GPT-4.1", "provider": "openai", - "family": "gpt41", - "created_at": "2025-04-10 22:22:22 +0200", + "family": "gpt-4.1", + "created_at": null, "context_window": 1047576, "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -6887,8 +7109,12 @@ "text_tokens": { "standard": { "input_per_million": 2.0, - "output_per_million": 8.0, - "cached_input_per_million": 0.5 + "cached_input_per_million": 0.5, + "output_per_million": 8.0 + }, + "batch": { + "input_per_million": 1.0, + "output_per_million": 4.0 } } }, @@ -6899,25 +7125,25 @@ }, { "id": "gpt-4.1-2025-04-14", - "name": "GPT-4.1 20250414", + "name": "GPT-4.1", "provider": "openai", - "family": "gpt41", - "created_at": "2025-04-10 22:09:06 +0200", + "family": "gpt-4.1", + "created_at": null, "context_window": 1047576, "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -6925,8 +7151,12 @@ "text_tokens": { "standard": { "input_per_million": 2.0, - "output_per_million": 8.0, - "cached_input_per_million": 0.5 + "cached_input_per_million": 0.5, + "output_per_million": 8.0 + }, + "batch": { + "input_per_million": 1.0, + "output_per_million": 4.0 } } }, @@ -6937,25 +7167,25 @@ }, { "id": "gpt-4.1-mini", - "name": "GPT-4.1 Mini", + "name": "GPT-4.1 mini", "provider": "openai", - "family": "gpt41_mini", - "created_at": "2025-04-10 22:49:33 +0200", + "family": "gpt-4.1-mini", + "created_at": null, "context_window": 1047576, "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -6963,8 +7193,12 @@ "text_tokens": { "standard": { "input_per_million": 0.4, - "output_per_million": 1.6, - "cached_input_per_million": 0.1 + "cached_input_per_million": 0.1, + "output_per_million": 1.6 + }, + "batch": { + "input_per_million": 0.2, + "output_per_million": 0.8 } } }, @@ -6975,25 +7209,25 @@ }, { "id": "gpt-4.1-mini-2025-04-14", - "name": "GPT-4.1 Mini 20250414", + "name": "GPT-4.1 mini", "provider": "openai", - "family": "gpt41_mini", - "created_at": "2025-04-10 22:39:07 +0200", + "family": "gpt-4.1-mini", + "created_at": null, "context_window": 1047576, "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -7001,8 +7235,12 @@ "text_tokens": { "standard": { "input_per_million": 0.4, - "output_per_million": 1.6, - "cached_input_per_million": 0.1 + "cached_input_per_million": 0.1, + "output_per_million": 1.6 + }, + "batch": { + "input_per_million": 0.2, + "output_per_million": 0.8 } } }, @@ -7013,25 +7251,25 @@ }, { "id": "gpt-4.1-nano", - "name": "GPT-4.1 Nano", + "name": "GPT-4.1 nano", "provider": "openai", - "family": "gpt41_nano", - "created_at": "2025-04-10 23:48:27 +0200", + "family": "gpt-4.1-nano", + "created_at": null, "context_window": 1047576, "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -7039,7 +7277,12 @@ "text_tokens": { "standard": { "input_per_million": 0.1, + "cached_input_per_million": 0.025, "output_per_million": 0.4 + }, + "batch": { + "input_per_million": 0.05, + "output_per_million": 0.2 } } }, @@ -7050,25 +7293,25 @@ }, { "id": "gpt-4.1-nano-2025-04-14", - "name": "GPT-4.1 Nano 20250414", + "name": "GPT-4.1 nano", "provider": "openai", - "family": "gpt41_nano", - "created_at": "2025-04-10 23:37:05 +0200", + "family": "gpt-4.1-nano", + "created_at": null, "context_window": 1047576, "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -7076,7 +7319,12 @@ "text_tokens": { "standard": { "input_per_million": 0.1, + "cached_input_per_million": 0.025, "output_per_million": 0.4 + }, + "batch": { + "input_per_million": 0.05, + "output_per_million": 0.2 } } }, @@ -7086,100 +7334,104 @@ } }, { - "id": "gpt-4o", - "name": "GPT-4o", + "id": "gpt-4.5-preview", + "name": "GPT-4.5 Preview (Deprecated)", "provider": "openai", - "family": "gpt4o", - "created_at": "2024-05-10 20:50:49 +0200", + "family": "gpt-4.5-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 2.5, - "output_per_million": 10.0 + "input_per_million": 75.0, + "cached_input_per_million": 37.5, + "output_per_million": 150.0 + }, + "batch": { + "input_per_million": 37.5, + "output_per_million": 75.0 } } }, - "metadata": { - "object": "model", - "owned_by": "system" - } + "metadata": {} }, { - "id": "gpt-4o-2024-05-13", - "name": "GPT-4o 20240513", + "id": "gpt-4.5-preview-2025-02-27", + "name": "GPT-4.5 Preview (Deprecated)", "provider": "openai", - "family": "gpt4o", - "created_at": "2024-05-10 21:08:52 +0200", + "family": "gpt-4.5-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 2.5, - "output_per_million": 10.0 + "input_per_million": 75.0, + "cached_input_per_million": 37.5, + "output_per_million": 150.0 + }, + "batch": { + "input_per_million": 37.5, + "output_per_million": 75.0 } } }, - "metadata": { - "object": "model", - "owned_by": "system" - } + "metadata": {} }, { - "id": "gpt-4o-2024-08-06", - "name": "GPT-4o 20240806", + "id": "gpt-4o", + "name": "GPT-4o", "provider": "openai", - "family": "gpt4o", - "created_at": "2024-08-05 01:38:39 +0200", + "family": "gpt-4o", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -7187,7 +7439,12 @@ "text_tokens": { "standard": { "input_per_million": 2.5, + "cached_input_per_million": 1.25, "output_per_million": 10.0 + }, + "batch": { + "input_per_million": 1.25, + "output_per_million": 5.0 } } }, @@ -7197,11 +7454,11 @@ } }, { - "id": "gpt-4o-2024-11-20", - "name": "GPT-4o 20241120", + "id": "gpt-4o-2024-05-13", + "name": "GPT-4o 20240513", "provider": "openai", "family": "gpt4o", - "created_at": "2025-02-12 04:39:03 +0100", + "created_at": "2024-05-10 21:08:52 +0200", "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, @@ -7234,28 +7491,106 @@ } }, { - "id": "gpt-4o-audio-preview", - "name": "GPT-4o-Audio Preview", + "id": "gpt-4o-2024-08-06", + "name": "GPT-4o", "provider": "openai", - "family": "gpt4o_audio", - "created_at": "2024-09-27 20:07:23 +0200", + "family": "gpt-4o", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "image", + "text" ], "output": [ - "text", - "audio" + "embeddings", + "text" ] }, "capabilities": [ - "streaming", - "speech_generation", - "transcription" + "batch", + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.5, + "cached_input_per_million": 1.25, + "output_per_million": 10.0 + }, + "batch": { + "input_per_million": 1.25, + "output_per_million": 5.0 + } + } + }, + "metadata": { + "object": "model", + "owned_by": "system" + } + }, + { + "id": "gpt-4o-2024-11-20", + "name": "GPT-4o 20241120", + "provider": "openai", + "family": "gpt4o", + "created_at": "2025-02-12 04:39:03 +0100", + "context_window": 128000, + "max_output_tokens": 16384, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "capabilities": [ + "streaming", + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.5, + "output_per_million": 10.0 + } + } + }, + "metadata": { + "object": "model", + "owned_by": "system" + } + }, + { + "id": "gpt-4o-audio-preview", + "name": "GPT-4o Audio", + "provider": "openai", + "family": "gpt-4o-audio-preview", + "created_at": null, + "context_window": 128000, + "max_output_tokens": 16384, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "audio", + "text" + ], + "output": [ + "audio", + "embeddings", + "text" + ] + }, + "capabilities": [ + "function_calling" ], "pricing": { "text_tokens": { @@ -7383,25 +7718,25 @@ }, { "id": "gpt-4o-mini", - "name": "GPT-4o-Mini", + "name": "GPT-4o mini", "provider": "openai", - "family": "gpt4o_mini", - "created_at": "2024-07-17 01:32:21 +0200", + "family": "gpt-4o-mini", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -7409,7 +7744,12 @@ "text_tokens": { "standard": { "input_per_million": 0.15, + "cached_input_per_million": 0.075, "output_per_million": 0.6 + }, + "batch": { + "input_per_million": 0.075, + "output_per_million": 0.3 } } }, @@ -7420,25 +7760,25 @@ }, { "id": "gpt-4o-mini-2024-07-18", - "name": "GPT-4o-Mini 20240718", + "name": "GPT-4o mini", "provider": "openai", - "family": "gpt4o_mini", - "created_at": "2024-07-17 01:31:57 +0200", + "family": "gpt-4o-mini", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", "structured_output" ], @@ -7446,7 +7786,12 @@ "text_tokens": { "standard": { "input_per_million": 0.15, + "cached_input_per_million": 0.075, "output_per_million": 0.6 + }, + "batch": { + "input_per_million": 0.075, + "output_per_million": 0.3 } } }, @@ -7457,27 +7802,26 @@ }, { "id": "gpt-4o-mini-audio-preview", - "name": "GPT-4o-Mini Audio Preview", + "name": "GPT-4o mini Audio", "provider": "openai", - "family": "gpt4o_mini_audio", - "created_at": "2024-12-16 23:17:04 +0100", + "family": "gpt-4o-mini-audio-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "audio", + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings", + "text" ] }, "capabilities": [ - "streaming", - "speech_generation", - "transcription" + "function_calling" ], "pricing": { "text_tokens": { @@ -7494,27 +7838,26 @@ }, { "id": "gpt-4o-mini-audio-preview-2024-12-17", - "name": "GPT-4o-Mini Audio Preview 20241217", + "name": "GPT-4o mini Audio", "provider": "openai", - "family": "gpt4o_mini_audio", - "created_at": "2024-12-13 19:52:00 +0100", + "family": "gpt-4o-mini-audio-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "audio", + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings", + "text" ] }, "capabilities": [ - "streaming", - "speech_generation", - "transcription" + "function_calling" ], "pricing": { "text_tokens": { @@ -7531,28 +7874,32 @@ }, { "id": "gpt-4o-mini-realtime-preview", - "name": "GPT-4o-Mini Realtime Preview", + "name": "GPT-4o mini Realtime", "provider": "openai", - "family": "gpt4o_mini_realtime", - "created_at": "2024-12-16 23:16:20 +0100", - "context_window": 128000, + "family": "gpt-4o-mini-realtime-preview", + "created_at": null, + "context_window": 16000, "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "audio", "text" ], "output": [ + "audio", + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "function_calling" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 0.6, + "cached_input_per_million": 0.3, "output_per_million": 2.4 } } @@ -7564,28 +7911,32 @@ }, { "id": "gpt-4o-mini-realtime-preview-2024-12-17", - "name": "GPT-4o-Mini Realtime Preview 20241217", + "name": "GPT-4o mini Realtime", "provider": "openai", - "family": "gpt4o_mini_realtime", - "created_at": "2024-12-13 18:56:41 +0100", - "context_window": 128000, + "family": "gpt-4o-mini-realtime-preview", + "created_at": null, + "context_window": 16000, "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "audio", "text" ], "output": [ + "audio", + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "function_calling" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 0.6, + "cached_input_per_million": 0.3, "output_per_million": 2.4 } } @@ -7597,11 +7948,11 @@ }, { "id": "gpt-4o-mini-search-preview", - "name": "GPT-4o-Mini Search Preview", + "name": "GPT-4o mini Search Preview", "provider": "openai", - "family": "other", - "created_at": "2025-03-08 00:46:01 +0100", - "context_window": 4096, + "family": "gpt-4o-mini-search-preview", + "created_at": null, + "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { @@ -7609,17 +7960,18 @@ "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 0.15, + "output_per_million": 0.6 } } }, @@ -7630,11 +7982,11 @@ }, { "id": "gpt-4o-mini-search-preview-2025-03-11", - "name": "GPT-4o-Mini Search Preview 20250311", + "name": "GPT-4o mini Search Preview", "provider": "openai", - "family": "other", - "created_at": "2025-03-08 00:40:58 +0100", - "context_window": 4096, + "family": "gpt-4o-mini-search-preview", + "created_at": null, + "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { @@ -7642,17 +7994,18 @@ "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 0.15, + "output_per_million": 0.6 } } }, @@ -7663,25 +8016,24 @@ }, { "id": "gpt-4o-mini-transcribe", - "name": "GPT-4o-Mini Transcribe", + "name": "GPT-4o mini Transcribe", "provider": "openai", - "family": "gpt4o_mini_transcribe", - "created_at": "2025-03-15 20:56:36 +0100", + "family": "gpt-4o-mini-transcribe", + "created_at": null, "context_window": 16000, "max_output_tokens": 2000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "audio", + "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { @@ -7697,26 +8049,23 @@ }, { "id": "gpt-4o-mini-tts", - "name": "GPT-4o-Mini Tts", + "name": "GPT-4o mini TTS", "provider": "openai", - "family": "gpt4o_mini_tts", - "created_at": "2025-03-19 18:05:59 +0100", - "context_window": null, + "family": "gpt-4o-mini-tts", + "created_at": null, + "context_window": 2000, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { @@ -7866,23 +8215,22 @@ "id": "gpt-4o-search-preview", "name": "GPT-4o Search Preview", "provider": "openai", - "family": "gpt4o_search", - "created_at": "2025-03-08 00:05:20 +0100", + "family": "gpt-4o-search-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "structured_output" ], "pricing": { "text_tokens": { @@ -7899,25 +8247,24 @@ }, { "id": "gpt-4o-search-preview-2025-03-11", - "name": "GPT-4o Search Preview 20250311", + "name": "GPT-4o Search Preview", "provider": "openai", - "family": "gpt4o_search", - "created_at": "2025-03-07 23:56:10 +0100", + "family": "gpt-4o-search-preview", + "created_at": null, "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "structured_output" ], "pricing": { "text_tokens": { @@ -7934,25 +8281,24 @@ }, { "id": "gpt-4o-transcribe", - "name": "GPT-4o-Transcribe", + "name": "GPT-4o Transcribe", "provider": "openai", - "family": "gpt4o_transcribe", - "created_at": "2025-03-15 20:54:23 +0100", - "context_window": 128000, - "max_output_tokens": 16384, + "family": "gpt-4o-transcribe", + "created_at": null, + "context_window": 16000, + "max_output_tokens": 2000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "audio", + "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { @@ -7970,33 +8316,36 @@ "id": "gpt-5", "name": "GPT-5", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-05 22:29:37 +0200", - "context_window": 128000, - "max_output_tokens": 400000, + "family": "gpt-5", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "cached_input_per_million": 0.125, + "output_per_million": 10.0 + }, + "batch": { + "input_per_million": 0.625, + "output_per_million": 5.0 } } }, @@ -8007,35 +8356,38 @@ }, { "id": "gpt-5-2025-08-07", - "name": "GPT-5 20250807", + "name": "GPT-5", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-01 21:09:20 +0200", - "context_window": 128000, - "max_output_tokens": 400000, + "family": "gpt-5", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "cached_input_per_million": 0.125, + "output_per_million": 10.0 + }, + "batch": { + "input_per_million": 0.625, + "output_per_million": 5.0 } } }, @@ -8046,35 +8398,67 @@ }, { "id": "gpt-5-chat-latest", - "name": "GPT-5 Chat Latest", + "name": "GPT-5 Chat", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-01 20:35:06 +0200", + "family": "gpt-5-chat-latest", + "created_at": null, "context_window": 128000, - "max_output_tokens": 400000, + "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 1.25, + "cached_input_per_million": 0.125, + "output_per_million": 10.0 + } + } + }, + "metadata": { + "object": "model", + "owned_by": "system" + } + }, + { + "id": "gpt-5-codex", + "name": "GPT-5-Codex", + "provider": "openai", + "family": "gpt-5-codex", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "image", + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "cached_input_per_million": 0.125, + "output_per_million": 10.0 } } }, @@ -8085,35 +8469,38 @@ }, { "id": "gpt-5-mini", - "name": "GPT-5 Mini", + "name": "GPT-5 mini", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-05 22:32:08 +0200", - "context_window": 128000, - "max_output_tokens": 400000, + "family": "gpt-5-mini", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "input_per_million": 0.25, + "cached_input_per_million": 0.025, + "output_per_million": 2.0 + }, + "batch": { + "input_per_million": 0.125, + "output_per_million": 1.0 } } }, @@ -8124,35 +8511,38 @@ }, { "id": "gpt-5-mini-2025-08-07", - "name": "GPT-5 Mini 20250807", + "name": "GPT-5 mini", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-05 22:31:07 +0200", - "context_window": 128000, - "max_output_tokens": 400000, + "family": "gpt-5-mini", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "input_per_million": 0.25, + "cached_input_per_million": 0.025, + "output_per_million": 2.0 + }, + "batch": { + "input_per_million": 0.125, + "output_per_million": 1.0 } } }, @@ -8163,35 +8553,38 @@ }, { "id": "gpt-5-nano", - "name": "GPT-5 Nano", + "name": "GPT-5 nano", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-05 22:39:44 +0200", - "context_window": 128000, - "max_output_tokens": 400000, + "family": "gpt-5-nano", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "input_per_million": 0.05, + "cached_input_per_million": 0.005, + "output_per_million": 0.4 + }, + "batch": { + "input_per_million": 0.025, + "output_per_million": 0.2 } } }, @@ -8202,35 +8595,38 @@ }, { "id": "gpt-5-nano-2025-08-07", - "name": "GPT-5 Nano 20250807", + "name": "GPT-5 nano", "provider": "openai", - "family": "gpt5", - "created_at": "2025-08-05 22:38:23 +0200", - "context_window": 128000, - "max_output_tokens": 400000, + "family": "gpt-5-nano", + "created_at": null, + "context_window": 400000, + "max_output_tokens": 128000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.125 + "input_per_million": 0.05, + "cached_input_per_million": 0.005, + "output_per_million": 0.4 + }, + "batch": { + "input_per_million": 0.025, + "output_per_million": 0.2 } } }, @@ -8241,31 +8637,32 @@ }, { "id": "gpt-audio", - "name": "GPT-Audio", + "name": "gpt-audio", "provider": "openai", - "family": "other", - "created_at": "2025-08-28 02:00:49 +0200", - "context_window": 4096, + "family": "gpt-audio", + "created_at": null, + "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "audio", + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings", + "text" ] }, "capabilities": [ - "streaming" + "function_calling" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.5, + "output_per_million": 10.0 } } }, @@ -8276,31 +8673,32 @@ }, { "id": "gpt-audio-2025-08-28", - "name": "GPT-Audio 20250828", + "name": "gpt-audio", "provider": "openai", - "family": "other", - "created_at": "2025-08-27 02:55:46 +0200", - "context_window": 4096, + "family": "gpt-audio", + "created_at": null, + "context_window": 128000, "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "audio", + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings", + "text" ] }, "capabilities": [ - "streaming" + "function_calling" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.5, + "output_per_million": 10.0 } } }, @@ -8311,30 +8709,30 @@ }, { "id": "gpt-image-1", - "name": "GPT-Image 1", + "name": "GPT Image 1", "provider": "openai", - "family": "other", - "created_at": "2025-04-24 19:50:30 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "gpt-image-1", + "created_at": null, + "context_window": null, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ - "text", + "embeddings", "image" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 5.0, + "cached_input_per_million": 1.25, + "output_per_million": 40.0 } } }, @@ -8343,31 +8741,88 @@ "owned_by": "system" } }, + { + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "provider": "openai", + "family": "gpt-oss-120b", + "created_at": null, + "context_window": 131072, + "max_output_tokens": 131072, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [ + "batch", + "function_calling", + "structured_output" + ], + "pricing": {}, + "metadata": {} + }, + { + "id": "gpt-oss-20b", + "name": "gpt-oss-20b", + "provider": "openai", + "family": "gpt-oss-20b", + "created_at": null, + "context_window": 131072, + "max_output_tokens": 131072, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [ + "batch", + "function_calling", + "structured_output" + ], + "pricing": {}, + "metadata": {} + }, { "id": "gpt-realtime", - "name": "GPT-Realtime", + "name": "gpt-realtime", "provider": "openai", - "family": "other", - "created_at": "2025-08-27 07:15:01 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "gpt-realtime", + "created_at": null, + "context_window": 32000, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "audio", + "image", "text" ], "output": [ + "audio", + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "function_calling" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 4.0, + "cached_input_per_million": 0.4, + "output_per_million": 16.0 } } }, @@ -8378,29 +8833,34 @@ }, { "id": "gpt-realtime-2025-08-28", - "name": "GPT-Realtime 20250828", + "name": "gpt-realtime", "provider": "openai", - "family": "other", - "created_at": "2025-08-27 07:16:13 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "gpt-realtime", + "created_at": null, + "context_window": 32000, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ + "audio", + "image", "text" ], "output": [ + "audio", + "embeddings", "text" ] }, "capabilities": [ - "streaming" + "function_calling" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 4.0, + "cached_input_per_million": 0.4, + "output_per_million": 16.0 } } }, @@ -8411,37 +8871,41 @@ }, { "id": "o1", - "name": "O1", + "name": "o1", "provider": "openai", "family": "o1", - "created_at": "2024-12-16 20:03:36 +0100", + "created_at": null, "context_window": 200000, "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 15.0, + "cached_input_per_million": 7.5, "output_per_million": 60.0 - } - } - }, + }, + "batch": { + "input_per_million": 7.5, + "output_per_million": 30.0 + } + } + }, "metadata": { "object": "model", "owned_by": "system" @@ -8449,34 +8913,38 @@ }, { "id": "o1-2024-12-17", - "name": "O1-20241217", + "name": "o1", "provider": "openai", "family": "o1", - "created_at": "2024-12-16 06:29:36 +0100", + "created_at": null, "context_window": 200000, "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 15.0, + "cached_input_per_million": 7.5, "output_per_million": 60.0 + }, + "batch": { + "input_per_million": 7.5, + "output_per_million": 30.0 } } }, @@ -8487,10 +8955,10 @@ }, { "id": "o1-mini", - "name": "O1-Mini", + "name": "o1-mini", "provider": "openai", - "family": "o1_mini", - "created_at": "2024-09-06 20:56:48 +0200", + "family": "o1-mini", + "created_at": null, "context_window": 128000, "max_output_tokens": 65536, "knowledge_cutoff": null, @@ -8499,17 +8967,16 @@ "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming", - "reasoning" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.1, + "cached_input_per_million": 0.55, "output_per_million": 4.4 } } @@ -8521,10 +8988,10 @@ }, { "id": "o1-mini-2024-09-12", - "name": "O1-Mini 20240912", + "name": "o1-mini", "provider": "openai", - "family": "o1_mini", - "created_at": "2024-09-06 20:56:19 +0200", + "family": "o1-mini", + "created_at": null, "context_window": 128000, "max_output_tokens": 65536, "knowledge_cutoff": null, @@ -8533,17 +9000,16 @@ "text" ], "output": [ + "embeddings", "text" ] }, - "capabilities": [ - "streaming", - "reasoning" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.1, + "cached_input_per_million": 0.55, "output_per_million": 4.4 } } @@ -8553,36 +9019,105 @@ "owned_by": "system" } }, + { + "id": "o1-preview", + "name": "o1 Preview", + "provider": "openai", + "family": "o1-preview", + "created_at": null, + "context_window": 128000, + "max_output_tokens": 32768, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [ + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 15.0, + "cached_input_per_million": 7.5, + "output_per_million": 60.0 + } + } + }, + "metadata": {} + }, + { + "id": "o1-preview-2024-09-12", + "name": "o1 Preview", + "provider": "openai", + "family": "o1-preview", + "created_at": null, + "context_window": 128000, + "max_output_tokens": 32768, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [ + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 15.0, + "cached_input_per_million": 7.5, + "output_per_million": 60.0 + } + } + }, + "metadata": {} + }, { "id": "o1-pro", - "name": "O1-Pro", + "name": "o1-pro", "provider": "openai", - "family": "o1_pro", - "created_at": "2025-03-17 23:49:51 +0100", + "family": "o1-pro", + "created_at": null, "context_window": 200000, "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 150.0, "output_per_million": 600.0 + }, + "batch": { + "input_per_million": 75.0, + "output_per_million": 300.0 } } }, @@ -8593,34 +9128,37 @@ }, { "id": "o1-pro-2025-03-19", - "name": "O1-Pro 20250319", + "name": "o1-pro", "provider": "openai", - "family": "o1_pro", - "created_at": "2025-03-17 23:45:04 +0100", + "family": "o1-pro", + "created_at": null, "context_window": 200000, "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 150.0, "output_per_million": 600.0 + }, + "batch": { + "input_per_million": 75.0, + "output_per_million": 300.0 } } }, @@ -8631,30 +9169,38 @@ }, { "id": "o3", - "name": "O3", + "name": "o3", "provider": "openai", - "family": "other", - "created_at": "2025-04-09 21:01:48 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o3", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.0, + "cached_input_per_million": 0.5, + "output_per_million": 8.0 + }, + "batch": { + "input_per_million": 1.0, + "output_per_million": 4.0 } } }, @@ -8665,30 +9211,38 @@ }, { "id": "o3-2025-04-16", - "name": "O3-20250416", + "name": "o3", "provider": "openai", - "family": "other", - "created_at": "2025-04-08 19:28:21 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o3", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.0, + "cached_input_per_million": 0.5, + "output_per_million": 8.0 + }, + "batch": { + "input_per_million": 1.0, + "output_per_million": 4.0 } } }, @@ -8699,30 +9253,36 @@ }, { "id": "o3-deep-research", - "name": "O3-Deep Research", + "name": "o3-deep-research", "provider": "openai", - "family": "other", - "created_at": "2025-06-13 20:42:01 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o3-deep-research", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 10.0, + "cached_input_per_million": 2.5, + "output_per_million": 40.0 + }, + "batch": { + "input_per_million": 5.0, + "output_per_million": 20.0 } } }, @@ -8733,30 +9293,36 @@ }, { "id": "o3-deep-research-2025-06-26", - "name": "O3-Deep Research 20250626", + "name": "o3-deep-research", "provider": "openai", - "family": "other", - "created_at": "2025-06-25 17:26:59 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o3-deep-research", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 10.0, + "cached_input_per_million": 2.5, + "output_per_million": 40.0 + }, + "batch": { + "input_per_million": 5.0, + "output_per_million": 20.0 } } }, @@ -8767,10 +9333,10 @@ }, { "id": "o3-mini", - "name": "O3-Mini", + "name": "o3-mini", "provider": "openai", - "family": "o3_mini", - "created_at": "2025-01-17 21:39:43 +0100", + "family": "o3-mini", + "created_at": null, "context_window": 200000, "max_output_tokens": 100000, "knowledge_cutoff": null, @@ -8779,20 +9345,25 @@ "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.1, + "cached_input_per_million": 0.55, "output_per_million": 4.4 + }, + "batch": { + "input_per_million": 0.55, + "output_per_million": 2.2 } } }, @@ -8803,10 +9374,10 @@ }, { "id": "o3-mini-2025-01-31", - "name": "O3-Mini 20250131", + "name": "o3-mini", "provider": "openai", - "family": "o3_mini", - "created_at": "2025-01-27 21:36:40 +0100", + "family": "o3-mini", + "created_at": null, "context_window": 200000, "max_output_tokens": 100000, "knowledge_cutoff": null, @@ -8815,20 +9386,25 @@ "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", + "batch", "function_calling", - "structured_output", - "reasoning" + "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 1.1, + "cached_input_per_million": 0.55, "output_per_million": 4.4 + }, + "batch": { + "input_per_million": 0.55, + "output_per_million": 2.2 } } }, @@ -8839,30 +9415,37 @@ }, { "id": "o3-pro", - "name": "O3-Pro", + "name": "o3-pro", "provider": "openai", - "family": "other", - "created_at": "2025-05-29 01:35:49 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o3-pro", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 20.0, + "output_per_million": 80.0 + }, + "batch": { + "input_per_million": 10.0, + "output_per_million": 40.0 } } }, @@ -8873,30 +9456,37 @@ }, { "id": "o3-pro-2025-06-10", - "name": "O3-Pro 20250610", + "name": "o3-pro", "provider": "openai", - "family": "other", - "created_at": "2025-06-06 01:39:21 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o3-pro", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 20.0, + "output_per_million": 80.0 + }, + "batch": { + "input_per_million": 10.0, + "output_per_million": 40.0 } } }, @@ -8907,30 +9497,38 @@ }, { "id": "o4-mini", - "name": "O4 Mini", + "name": "o4-mini", "provider": "openai", - "family": "other", - "created_at": "2025-04-09 21:02:31 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o4-mini", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 1.1, + "cached_input_per_million": 0.275, + "output_per_million": 4.4 + }, + "batch": { + "input_per_million": 0.55, + "output_per_million": 2.2 } } }, @@ -8941,30 +9539,38 @@ }, { "id": "o4-mini-2025-04-16", - "name": "O4 Mini 20250416", + "name": "o4-mini", "provider": "openai", - "family": "other", - "created_at": "2025-04-08 19:31:46 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o4-mini", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 1.1, + "cached_input_per_million": 0.275, + "output_per_million": 4.4 + }, + "batch": { + "input_per_million": 0.55, + "output_per_million": 2.2 } } }, @@ -8975,30 +9581,36 @@ }, { "id": "o4-mini-deep-research", - "name": "O4 Mini Deep Research", + "name": "o4-mini-deep-research", "provider": "openai", - "family": "other", - "created_at": "2025-06-12 01:44:45 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o4-mini-deep-research", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.0, + "cached_input_per_million": 0.5, + "output_per_million": 8.0 + }, + "batch": { + "input_per_million": 1.0, + "output_per_million": 4.0 } } }, @@ -9009,30 +9621,36 @@ }, { "id": "o4-mini-deep-research-2025-06-26", - "name": "O4 Mini Deep Research 20250626", + "name": "o4-mini-deep-research", "provider": "openai", - "family": "other", - "created_at": "2025-06-25 17:42:01 +0200", - "context_window": 4096, - "max_output_tokens": 16384, + "family": "o4-mini-deep-research", + "created_at": null, + "context_window": 200000, + "max_output_tokens": 100000, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ + "embeddings", "text" ] }, "capabilities": [ - "streaming", - "reasoning" + "batch" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.0, + "cached_input_per_million": 0.5, + "output_per_million": 8.0 + }, + "batch": { + "input_per_million": 1.0, + "output_per_million": 4.0 } } }, @@ -9070,22 +9688,21 @@ }, { "id": "omni-moderation-latest", - "name": "Omni Moderation Latest", + "name": "omni-moderation", "provider": "openai", - "family": "moderation", - "created_at": "2024-11-15 17:47:45 +0100", + "family": "omni-moderation-latest", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ - "text", - "moderation" + "embeddings", + "text" ] }, "capabilities": [], @@ -9097,10 +9714,10 @@ }, { "id": "text-embedding-3-large", - "name": "text-embedding- 3 Large", + "name": "text-embedding-3-large", "provider": "openai", - "family": "embedding3_large", - "created_at": "2024-01-22 20:53:00 +0100", + "family": "text-embedding-3-large", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, @@ -9109,8 +9726,8 @@ "text" ], "output": [ - "text", - "embeddings" + "embeddings", + "text" ] }, "capabilities": [ @@ -9119,12 +9736,18 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.13, - "output_per_million": 0.13 + "input_per_million": 0.13 + }, + "batch": { + "input_per_million": 0.065 + } + }, + "embeddings": { + "standard": { + "input_per_million": 0.13 }, "batch": { - "input_per_million": 0.065, - "output_per_million": 0.065 + "input_per_million": 0.065 } } }, @@ -9135,10 +9758,10 @@ }, { "id": "text-embedding-3-small", - "name": "text-embedding- 3 Small", + "name": "text-embedding-3-small", "provider": "openai", - "family": "embedding3_small", - "created_at": "2024-01-22 19:43:17 +0100", + "family": "text-embedding-3-small", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, @@ -9147,8 +9770,8 @@ "text" ], "output": [ - "text", - "embeddings" + "embeddings", + "text" ] }, "capabilities": [ @@ -9157,12 +9780,18 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.02, - "output_per_million": 0.02 + "input_per_million": 0.02 }, "batch": { - "input_per_million": 0.01, - "output_per_million": 0.01 + "input_per_million": 0.01 + } + }, + "embeddings": { + "standard": { + "input_per_million": 0.02 + }, + "batch": { + "input_per_million": 0.01 } } }, @@ -9173,10 +9802,10 @@ }, { "id": "text-embedding-ada-002", - "name": "text-embedding- Ada 002", + "name": "text-embedding-ada-002", "provider": "openai", - "family": "embedding_ada", - "created_at": "2022-12-16 20:01:39 +0100", + "family": "text-embedding-ada-002", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, @@ -9185,8 +9814,8 @@ "text" ], "output": [ - "text", - "embeddings" + "embeddings", + "text" ] }, "capabilities": [ @@ -9195,12 +9824,18 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.1, - "output_per_million": 0.1 + "input_per_million": 0.1 }, "batch": { - "input_per_million": 0.05, - "output_per_million": 0.05 + "input_per_million": 0.05 + } + }, + "embeddings": { + "standard": { + "input_per_million": 0.1 + }, + "batch": { + "input_per_million": 0.05 } } }, @@ -9209,33 +9844,73 @@ "owned_by": "openai-internal" } }, + { + "id": "text-moderation-latest", + "name": "text-moderation", + "provider": "openai", + "family": "text-moderation-latest", + "created_at": null, + "context_window": null, + "max_output_tokens": 32768, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [], + "pricing": {}, + "metadata": {} + }, + { + "id": "text-moderation-stable", + "name": "text-moderation-stable", + "provider": "openai", + "family": "text-moderation-stable", + "created_at": null, + "context_window": null, + "max_output_tokens": 32768, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "embeddings", + "text" + ] + }, + "capabilities": [], + "pricing": {}, + "metadata": {} + }, { "id": "tts-1", "name": "TTS-1", "provider": "openai", - "family": "tts1", - "created_at": "2023-04-19 23:49:11 +0200", + "family": "tts-1", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { - "input_per_million": 15.0, - "output_per_million": 15.0 + "input_per_million": 15.0 } } }, @@ -9283,29 +9958,25 @@ "id": "tts-1-hd", "name": "TTS-1 HD", "provider": "openai", - "family": "tts1_hd", - "created_at": "2023-11-03 22:13:35 +0100", + "family": "tts-1-hd", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "audio" + "text" ], "output": [ - "text", - "audio" + "audio", + "embeddings" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { - "input_per_million": 30.0, - "output_per_million": 30.0 + "input_per_million": 30.0 } } }, @@ -9351,30 +10022,28 @@ }, { "id": "whisper-1", - "name": "Whisper 1", + "name": "Whisper", "provider": "openai", - "family": "whisper", - "created_at": "2023-02-27 22:13:04 +0100", + "family": "whisper-1", + "created_at": null, "context_window": null, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "audio" ], "output": [ + "audio", + "embeddings", "text" ] }, - "capabilities": [ - "streaming" - ], + "capabilities": [], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.006, - "output_per_million": 0.006 + "input_per_million": 0.006 } } }, @@ -10379,7 +11048,7 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 2.0, + "input_per_million": 2.5, "output_per_million": 5.0 } } @@ -12270,13 +12939,13 @@ } }, { - "id": "cohere/command", - "name": "Cohere: Command", + "id": "cohere/command-a", + "name": "Cohere: Command A", "provider": "openrouter", "family": "cohere", - "created_at": "2024-03-14 01:00:00 +0100", - "context_window": 4096, - "max_output_tokens": 4000, + "created_at": "2025-03-13 20:32:22 +0100", + "context_window": 256000, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ @@ -12293,13 +12962,13 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.0, - "output_per_million": 2.0 + "input_per_million": 2.5, + "output_per_million": 10.0 } } }, "metadata": { - "description": "Command is an instruction-following conversational model that performs language tasks with high quality, more reliably and with a longer context than our base generative models.\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "Command A is an open-weights 111B parameter model with a 256k context window focused on delivering great performance across agentic, multilingual, and coding use cases.\nCompared to other leading proprietary and open-weights models Command A delivers maximum performance with minimum hardware costs, excelling on business-critical agentic and multilingual tasks.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12308,12 +12977,12 @@ "output_modalities": [ "text" ], - "tokenizer": "Cohere", + "tokenizer": "Other", "instruct_type": null }, "top_provider": { - "context_length": 4096, - "max_completion_tokens": 4000, + "context_length": 256000, + "max_completion_tokens": 8192, "is_moderated": true }, "per_request_limits": null, @@ -12332,13 +13001,13 @@ } }, { - "id": "cohere/command-a", - "name": "Cohere: Command A", + "id": "cohere/command-r-08-2024", + "name": "Cohere: Command R (08-2024)", "provider": "openrouter", "family": "cohere", - "created_at": "2025-03-13 20:32:22 +0100", - "context_window": 256000, - "max_output_tokens": 8192, + "created_at": "2024-08-30 02:00:00 +0200", + "context_window": 128000, + "max_output_tokens": 4000, "knowledge_cutoff": null, "modalities": { "input": [ @@ -12350,18 +13019,19 @@ }, "capabilities": [ "streaming", + "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 2.5, - "output_per_million": 10.0 + "input_per_million": 0.15, + "output_per_million": 0.6 } } }, "metadata": { - "description": "Command A is an open-weights 111B parameter model with a 256k context window focused on delivering great performance across agentic, multilingual, and coding use cases.\nCompared to other leading proprietary and open-weights models Command A delivers maximum performance with minimum hardware costs, excelling on business-critical agentic and multilingual tasks.", + "description": "command-r-08-2024 is an update of the [Command R](/models/cohere/command-r) with improved performance for multilingual retrieval-augmented generation (RAG) and tool use. More broadly, it is better at math, code and reasoning and is competitive with the previous version of the larger Command R+ model.\n\nRead the launch post [here](https://docs.cohere.com/changelog/command-gets-refreshed).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12370,12 +13040,12 @@ "output_modalities": [ "text" ], - "tokenizer": "Other", + "tokenizer": "Cohere", "instruct_type": null }, "top_provider": { - "context_length": 256000, - "max_completion_tokens": 8192, + "context_length": 128000, + "max_completion_tokens": 4000, "is_moderated": true }, "per_request_limits": null, @@ -12388,17 +13058,18 @@ "stop", "structured_outputs", "temperature", + "tools", "top_k", "top_p" ] } }, { - "id": "cohere/command-r", - "name": "Cohere: Command R", + "id": "cohere/command-r-plus-08-2024", + "name": "Cohere: Command R+ (08-2024)", "provider": "openrouter", "family": "cohere", - "created_at": "2024-03-14 01:00:00 +0100", + "created_at": "2024-08-30 02:00:00 +0200", "context_window": 128000, "max_output_tokens": 4000, "knowledge_cutoff": null, @@ -12418,13 +13089,13 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 2.5, + "output_per_million": 10.0 } } }, "metadata": { - "description": "Command-R is a 35B parameter model that performs conversational language tasks at a higher quality, more reliably, and with a longer context than previous models. It can be used for complex workflows like code generation, retrieval augmented generation (RAG), tool use, and agents.\n\nRead the launch post [here](https://txt.cohere.com/command-r/).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "command-r-plus-08-2024 is an update of the [Command R+](/models/cohere/command-r-plus) with roughly 50% higher throughput and 25% lower latencies as compared to the previous Command R+ version, while keeping the hardware footprint the same.\n\nRead the launch post [here](https://docs.cohere.com/changelog/command-gets-refreshed).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12458,11 +13129,11 @@ } }, { - "id": "cohere/command-r-03-2024", - "name": "Cohere: Command R (03-2024)", + "id": "cohere/command-r7b-12-2024", + "name": "Cohere: Command R7B (12-2024)", "provider": "openrouter", "family": "cohere", - "created_at": "2024-03-02 02:00:00 +0100", + "created_at": "2024-12-14 07:35:52 +0100", "context_window": 128000, "max_output_tokens": 4000, "knowledge_cutoff": null, @@ -12476,19 +13147,18 @@ }, "capabilities": [ "streaming", - "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.5, - "output_per_million": 1.5 + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, "metadata": { - "description": "Command-R is a 35B parameter model that performs conversational language tasks at a higher quality, more reliably, and with a longer context than previous models. It can be used for complex workflows like code generation, retrieval augmented generation (RAG), tool use, and agents.\n\nRead the launch post [here](https://txt.cohere.com/command-r/).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "Command R7B (12-2024) is a small, fast update of the Command R+ model, delivered in December 2024. It excels at RAG, tool use, agents, and similar tasks requiring complex reasoning and multiple steps.\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12515,20 +13185,19 @@ "stop", "structured_outputs", "temperature", - "tools", "top_k", "top_p" ] } }, { - "id": "cohere/command-r-08-2024", - "name": "Cohere: Command R (08-2024)", + "id": "deepcogito/cogito-v2-preview-deepseek-671b", + "name": "Deep Cogito: Cogito V2 Preview Deepseek 671B", "provider": "openrouter", - "family": "cohere", - "created_at": "2024-08-30 02:00:00 +0200", - "context_window": 128000, - "max_output_tokens": 4000, + "family": "deepcogito", + "created_at": "2025-09-02 18:35:49 +0200", + "context_window": 163840, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -12540,19 +13209,18 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output" + "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.15, - "output_per_million": 0.6 + "input_per_million": 1.25, + "output_per_million": 1.25 } } }, "metadata": { - "description": "command-r-08-2024 is an update of the [Command R](/models/cohere/command-r) with improved performance for multilingual retrieval-augmented generation (RAG) and tool use. More broadly, it is better at math, code and reasoning and is competitive with the previous version of the larger Command R+ model.\n\nRead the launch post [here](https://docs.cohere.com/changelog/command-gets-refreshed).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "Cogito v2 is a multilingual, instruction-tuned Mixture of Experts (MoE) large language model with 671 billion parameters. It supports both standard and reasoning-based generation modes. The model introduces hybrid reasoning via Iterated Distillation and Amplification (IDA)—an iterative self-improvement strategy designed to scale alignment with general intelligence. Cogito v2 has been optimized for STEM, programming, instruction following, and tool use. It supports 128k context length and offers strong performance in both multilingual and code-heavy environments. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12561,41 +13229,43 @@ "output_modalities": [ "text" ], - "tokenizer": "Cohere", + "tokenizer": "DeepSeek", "instruct_type": null }, "top_provider": { - "context_length": 128000, - "max_completion_tokens": 4000, - "is_moderated": true + "context_length": 163840, + "max_completion_tokens": null, + "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", + "logit_bias", "max_tokens", + "min_p", "presence_penalty", - "response_format", - "seed", + "reasoning", + "repetition_penalty", "stop", - "structured_outputs", "temperature", - "tools", "top_k", "top_p" ] } }, { - "id": "cohere/command-r-plus", - "name": "Cohere: Command R+", + "id": "deepcogito/cogito-v2-preview-llama-109b-moe", + "name": "Cogito V2 Preview Llama 109B", "provider": "openrouter", - "family": "cohere", - "created_at": "2024-04-04 02:00:00 +0200", - "context_window": 128000, - "max_output_tokens": 4000, + "family": "deepcogito", + "created_at": "2025-09-02 18:46:08 +0200", + "context_window": 32767, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ + "image", "text" ], "output": [ @@ -12605,44 +13275,48 @@ "capabilities": [ "streaming", "function_calling", - "structured_output" + "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 3.0, - "output_per_million": 15.0 + "input_per_million": 0.18, + "output_per_million": 0.59 } } }, "metadata": { - "description": "Command R+ is a new, 104B-parameter LLM from Cohere. It's useful for roleplay, general consumer usecases, and Retrieval Augmented Generation (RAG).\n\nIt offers multilingual support for ten key languages to facilitate global business operations. See benchmarks and the launch post [here](https://txt.cohere.com/command-r-plus-microsoft-azure/).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "An instruction-tuned, hybrid-reasoning Mixture-of-Experts model built on Llama-4-Scout-17B-16E. Cogito v2 can answer directly or engage an extended “thinking” phase, with alignment guided by Iterated Distillation & Amplification (IDA). It targets coding, STEM, instruction following, and general helpfulness, with stronger multilingual, tool-calling, and reasoning performance than size-equivalent baselines. The model supports long-context use (up to 10M tokens) and standard Transformers workflows. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ + "image", "text" ], "output_modalities": [ "text" ], - "tokenizer": "Cohere", + "tokenizer": "Llama4", "instruct_type": null }, "top_provider": { - "context_length": 128000, - "max_completion_tokens": 4000, - "is_moderated": true + "context_length": 32767, + "max_completion_tokens": null, + "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", + "logit_bias", "max_tokens", + "min_p", "presence_penalty", - "response_format", - "seed", + "reasoning", + "repetition_penalty", "stop", - "structured_outputs", "temperature", + "tool_choice", "tools", "top_k", "top_p" @@ -12650,13 +13324,13 @@ } }, { - "id": "cohere/command-r-plus-04-2024", - "name": "Cohere: Command R+ (04-2024)", + "id": "deepseek/deepseek-chat", + "name": "DeepSeek: DeepSeek V3", "provider": "openrouter", - "family": "cohere", - "created_at": "2024-04-02 02:00:00 +0200", - "context_window": 128000, - "max_output_tokens": 4000, + "family": "deepseek", + "created_at": "2024-12-26 20:28:40 +0100", + "context_window": 163840, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -12669,18 +13343,19 @@ "capabilities": [ "streaming", "function_calling", - "structured_output" + "structured_output", + "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 3.0, - "output_per_million": 15.0 + "input_per_million": 0.24999987999999998, + "output_per_million": 0.999999888 } } }, "metadata": { - "description": "Command R+ is a new, 104B-parameter LLM from Cohere. It's useful for roleplay, general consumer usecases, and Retrieval Augmented Generation (RAG).\n\nIt offers multilingual support for ten key languages to facilitate global business operations. See benchmarks and the launch post [here](https://txt.cohere.com/command-r-plus-microsoft-azure/).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "DeepSeek-V3 is the latest model from the DeepSeek team, building upon the instruction following and coding abilities of the previous versions. Pre-trained on nearly 15 trillion tokens, the reported evaluations reveal that the model outperforms other open-source models and rivals leading closed-source models.\n\nFor model details, please visit [the DeepSeek-V3 repo](https://github.com/deepseek-ai/DeepSeek-V3) for more information, or see the [launch announcement](https://api-docs.deepseek.com/news/news1226).", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12689,38 +13364,44 @@ "output_modalities": [ "text" ], - "tokenizer": "Cohere", + "tokenizer": "DeepSeek", "instruct_type": null }, "top_provider": { - "context_length": 128000, - "max_completion_tokens": 4000, - "is_moderated": true + "context_length": 163840, + "max_completion_tokens": null, + "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", + "repetition_penalty", "response_format", "seed", "stop", "structured_outputs", "temperature", + "tool_choice", "tools", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "cohere/command-r-plus-08-2024", - "name": "Cohere: Command R+ (08-2024)", + "id": "deepseek/deepseek-chat-v3-0324", + "name": "DeepSeek: DeepSeek V3 0324", "provider": "openrouter", - "family": "cohere", - "created_at": "2024-08-30 02:00:00 +0200", - "context_window": 128000, - "max_output_tokens": 4000, + "family": "deepseek", + "created_at": "2025-03-24 14:59:15 +0100", + "context_window": 163840, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -12733,18 +13414,19 @@ "capabilities": [ "streaming", "function_calling", - "structured_output" + "structured_output", + "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 2.5, - "output_per_million": 10.0 + "input_per_million": 0.24999987999999998, + "output_per_million": 0.999999888 } } }, "metadata": { - "description": "command-r-plus-08-2024 is an update of the [Command R+](/models/cohere/command-r-plus) with roughly 50% higher throughput and 25% lower latencies as compared to the previous Command R+ version, while keeping the hardware footprint the same.\n\nRead the launch post [here](https://docs.cohere.com/changelog/command-gets-refreshed).\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team.\n\nIt succeeds the [DeepSeek V3](/deepseek/deepseek-chat-v3) model and performs really well on a variety of tasks.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12753,38 +13435,44 @@ "output_modalities": [ "text" ], - "tokenizer": "Cohere", + "tokenizer": "DeepSeek", "instruct_type": null }, "top_provider": { - "context_length": 128000, - "max_completion_tokens": 4000, - "is_moderated": true + "context_length": 163840, + "max_completion_tokens": null, + "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", + "repetition_penalty", "response_format", "seed", "stop", "structured_outputs", "temperature", + "tool_choice", "tools", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "cohere/command-r7b-12-2024", - "name": "Cohere: Command R7B (12-2024)", + "id": "deepseek/deepseek-chat-v3-0324:free", + "name": "DeepSeek: DeepSeek V3 0324 (free)", "provider": "openrouter", - "family": "cohere", - "created_at": "2024-12-14 07:35:52 +0100", - "context_window": 128000, - "max_output_tokens": 4000, + "family": "deepseek", + "created_at": "2025-03-24 14:59:15 +0100", + "context_window": 163840, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -12796,18 +13484,12 @@ }, "capabilities": [ "streaming", - "structured_output" + "function_calling", + "predicted_outputs" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.0375, - "output_per_million": 0.15 - } - } - }, + "pricing": {}, "metadata": { - "description": "Command R7B (12-2024) is a small, fast update of the Command R+ model, delivered in December 2024. It excels at RAG, tool use, agents, and similar tasks requiring complex reasoning and multiple steps.\n\nUse of this model is subject to Cohere's [Usage Policy](https://docs.cohere.com/docs/usage-policy) and [SaaS Agreement](https://cohere.com/saas-agreement).", + "description": "DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team.\n\nIt succeeds the [DeepSeek V3](/deepseek/deepseek-chat-v3) model and performs really well on a variety of tasks.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12816,35 +13498,40 @@ "output_modalities": [ "text" ], - "tokenizer": "Cohere", + "tokenizer": "DeepSeek", "instruct_type": null }, "top_provider": { - "context_length": 128000, - "max_completion_tokens": 4000, - "is_moderated": true + "context_length": 163840, + "max_completion_tokens": null, + "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", - "response_format", + "repetition_penalty", "seed", "stop", - "structured_outputs", "temperature", + "tool_choice", + "tools", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "deepcogito/cogito-v2-preview-deepseek-671b", - "name": "Deep Cogito: Cogito V2 Preview Deepseek 671B", + "id": "deepseek/deepseek-chat-v3.1", + "name": "DeepSeek: DeepSeek V3.1", "provider": "openrouter", - "family": "deepcogito", - "created_at": "2025-09-02 18:35:49 +0200", + "family": "deepseek", + "created_at": "2025-08-21 14:33:48 +0200", "context_window": 163840, "max_output_tokens": null, "knowledge_cutoff": null, @@ -12858,18 +13545,20 @@ }, "capabilities": [ "streaming", + "function_calling", + "structured_output", "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 1.25 + "input_per_million": 0.24999987999999998, + "output_per_million": 0.999999888 } } }, "metadata": { - "description": "Cogito v2 is a multilingual, instruction-tuned Mixture of Experts (MoE) large language model with 671 billion parameters. It supports both standard and reasoning-based generation modes. The model introduces hybrid reasoning via Iterated Distillation and Amplification (IDA)—an iterative self-improvement strategy designed to scale alignment with general intelligence. Cogito v2 has been optimized for STEM, programming, instruction following, and tool use. It supports 128k context length and offers strong performance in both multilingual and code-heavy environments. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)", + "description": "DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates. It extends the DeepSeek-V3 base with a two-phase long-context training process, reaching up to 128K tokens, and uses FP8 microscaling for efficient inference. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)\n\nThe model improves tool use, code generation, and reasoning efficiency, achieving performance comparable to DeepSeek-R1 on difficult benchmarks while responding more quickly. It supports structured tool calling, code agents, and search agents, making it suitable for research, coding, and agentic workflows. \n\nIt succeeds the [DeepSeek V3-0324](/deepseek/deepseek-chat-v3-0324) model and performs well on a variety of tasks.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -12879,7 +13568,7 @@ "text" ], "tokenizer": "DeepSeek", - "instruct_type": null + "instruct_type": "deepseek-v3.1" }, "top_provider": { "context_length": 163840, @@ -12891,30 +13580,36 @@ "frequency_penalty", "include_reasoning", "logit_bias", + "logprobs", "max_tokens", "min_p", "presence_penalty", "reasoning", "repetition_penalty", + "response_format", + "seed", "stop", + "structured_outputs", "temperature", + "tool_choice", + "tools", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "deepcogito/cogito-v2-preview-llama-109b-moe", - "name": "Cogito V2 Preview Llama 109B", + "id": "deepseek/deepseek-chat-v3.1:free", + "name": "DeepSeek: DeepSeek V3.1 (free)", "provider": "openrouter", - "family": "deepcogito", - "created_at": "2025-09-02 18:46:08 +0200", - "context_window": 32767, + "family": "deepseek", + "created_at": "2025-08-21 14:33:48 +0200", + "context_window": 163840, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "image", "text" ], "output": [ @@ -12924,32 +13619,24 @@ "capabilities": [ "streaming", "function_calling", - "predicted_outputs" + "structured_output" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.18, - "output_per_million": 0.59 - } - } - }, + "pricing": {}, "metadata": { - "description": "An instruction-tuned, hybrid-reasoning Mixture-of-Experts model built on Llama-4-Scout-17B-16E. Cogito v2 can answer directly or engage an extended “thinking” phase, with alignment guided by Iterated Distillation & Amplification (IDA). It targets coding, STEM, instruction following, and general helpfulness, with stronger multilingual, tool-calling, and reasoning performance than size-equivalent baselines. The model supports long-context use (up to 10M tokens) and standard Transformers workflows. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)", + "description": "DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates. It extends the DeepSeek-V3 base with a two-phase long-context training process, reaching up to 128K tokens, and uses FP8 microscaling for efficient inference. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)\n\nThe model improves tool use, code generation, and reasoning efficiency, achieving performance comparable to DeepSeek-R1 on difficult benchmarks while responding more quickly. It supports structured tool calling, code agents, and search agents, making it suitable for research, coding, and agentic workflows. \n\nIt succeeds the [DeepSeek V3-0324](/deepseek/deepseek-chat-v3-0324) model and performs well on a variety of tasks.", "architecture": { - "modality": "text+image->text", + "modality": "text->text", "input_modalities": [ - "image", "text" ], "output_modalities": [ "text" ], - "tokenizer": "Llama4", - "instruct_type": null + "tokenizer": "DeepSeek", + "instruct_type": "deepseek-v3.1" }, "top_provider": { - "context_length": 32767, + "context_length": 163840, "max_completion_tokens": null, "is_moderated": false }, @@ -12957,12 +13644,13 @@ "supported_parameters": [ "frequency_penalty", "include_reasoning", - "logit_bias", "max_tokens", "min_p", "presence_penalty", "reasoning", "repetition_penalty", + "response_format", + "seed", "stop", "temperature", "tool_choice", @@ -12973,11 +13661,11 @@ } }, { - "id": "deepseek/deepseek-chat", - "name": "DeepSeek: DeepSeek V3", + "id": "deepseek/deepseek-prover-v2", + "name": "DeepSeek: DeepSeek Prover V2", "provider": "openrouter", "family": "deepseek", - "created_at": "2024-12-26 20:28:40 +0100", + "created_at": "2025-04-30 13:38:14 +0200", "context_window": 163840, "max_output_tokens": null, "knowledge_cutoff": null, @@ -12991,20 +13679,18 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output", - "predicted_outputs" + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.24999987999999998, - "output_per_million": 0.999999888 + "input_per_million": 0.5, + "output_per_million": 2.1799999999999997 } } }, "metadata": { - "description": "DeepSeek-V3 is the latest model from the DeepSeek team, building upon the instruction following and coding abilities of the previous versions. Pre-trained on nearly 15 trillion tokens, the reported evaluations reveal that the model outperforms other open-source models and rivals leading closed-source models.\n\nFor model details, please visit [the DeepSeek-V3 repo](https://github.com/deepseek-ai/DeepSeek-V3) for more information, or see the [launch announcement](https://api-docs.deepseek.com/news/news1226).", + "description": "DeepSeek Prover V2 is a 671B parameter model, speculated to be geared towards logic and mathematics. Likely an upgrade from [DeepSeek-Prover-V1.5](https://huggingface.co/deepseek-ai/DeepSeek-Prover-V1.5-RL) Not much is known about the model yet, as DeepSeek released it on Hugging Face without an announcement or description.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13024,8 +13710,6 @@ "per_request_limits": null, "supported_parameters": [ "frequency_penalty", - "logit_bias", - "logprobs", "max_tokens", "min_p", "presence_penalty", @@ -13033,24 +13717,20 @@ "response_format", "seed", "stop", - "structured_outputs", "temperature", - "tool_choice", - "tools", "top_k", - "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-chat-v3-0324", - "name": "DeepSeek: DeepSeek V3 0324", + "id": "deepseek/deepseek-r1", + "name": "DeepSeek: R1", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-03-24 14:59:15 +0100", + "created_at": "2025-01-20 14:51:35 +0100", "context_window": 163840, - "max_output_tokens": null, + "max_output_tokens": 163840, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13069,13 +13749,13 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.24999987999999998, - "output_per_million": 0.999999888 + "input_per_million": 0.39999999999999997, + "output_per_million": 2.0 } } }, "metadata": { - "description": "DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team.\n\nIt succeeds the [DeepSeek V3](/deepseek/deepseek-chat-v3) model and performs really well on a variety of tasks.", + "description": "DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model & [technical report](https://api-docs.deepseek.com/news/news250120).\n\nMIT licensed: Distill & commercialize freely!", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13085,21 +13765,23 @@ "text" ], "tokenizer": "DeepSeek", - "instruct_type": null + "instruct_type": "deepseek-r1" }, "top_provider": { "context_length": 163840, - "max_completion_tokens": null, + "max_completion_tokens": 163840, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", "logit_bias", "logprobs", "max_tokens", "min_p", "presence_penalty", + "reasoning", "repetition_penalty", "response_format", "seed", @@ -13115,11 +13797,11 @@ } }, { - "id": "deepseek/deepseek-chat-v3-0324:free", - "name": "DeepSeek: DeepSeek V3 0324 (free)", + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek: R1 0528", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-03-24 14:59:15 +0100", + "created_at": "2025-05-28 19:59:30 +0200", "context_window": 163840, "max_output_tokens": null, "knowledge_cutoff": null, @@ -13134,11 +13816,19 @@ "capabilities": [ "streaming", "function_calling", + "structured_output", "predicted_outputs" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.39999999999999997, + "output_per_million": 1.75 + } + } + }, "metadata": { - "description": "DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team.\n\nIt succeeds the [DeepSeek V3](/deepseek/deepseek-chat-v3) model and performs really well on a variety of tasks.", + "description": "May 28th update to the [original DeepSeek R1](/deepseek/deepseek-r1) Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13148,7 +13838,7 @@ "text" ], "tokenizer": "DeepSeek", - "instruct_type": null + "instruct_type": "deepseek-r1" }, "top_provider": { "context_length": 163840, @@ -13158,14 +13848,18 @@ "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", "logit_bias", "logprobs", "max_tokens", "min_p", "presence_penalty", + "reasoning", "repetition_penalty", + "response_format", "seed", "stop", + "structured_outputs", "temperature", "tool_choice", "tools", @@ -13176,12 +13870,12 @@ } }, { - "id": "deepseek/deepseek-chat-v3.1", - "name": "DeepSeek: DeepSeek V3.1", + "id": "deepseek/deepseek-r1-0528-qwen3-8b", + "name": "DeepSeek: Deepseek R1 0528 Qwen3 8B", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-08-21 14:33:48 +0200", - "context_window": 163840, + "created_at": "2025-05-29 19:09:03 +0200", + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { @@ -13194,20 +13888,18 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output", "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.24999987999999998, - "output_per_million": 0.999999888 + "input_per_million": 0.01, + "output_per_million": 0.049999999999999996 } } }, "metadata": { - "description": "DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates. It extends the DeepSeek-V3 base with a two-phase long-context training process, reaching up to 128K tokens, and uses FP8 microscaling for efficient inference. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)\n\nThe model improves tool use, code generation, and reasoning efficiency, achieving performance comparable to DeepSeek-R1 on difficult benchmarks while responding more quickly. It supports structured tool calling, code agents, and search agents, making it suitable for research, coding, and agentic workflows. \n\nIt succeeds the [DeepSeek V3-0324](/deepseek/deepseek-chat-v3-0324) model and performs well on a variety of tasks.", + "description": "DeepSeek-R1-0528 is a lightly upgraded release of DeepSeek R1 that taps more compute and smarter post-training tricks, pushing its reasoning and inference to the brink of flagship models like O3 and Gemini 2.5 Pro.\nIt now tops math, programming, and logic leaderboards, showcasing a step-change in depth-of-thought.\nThe distilled variant, DeepSeek-R1-0528-Qwen3-8B, transfers this chain-of-thought into an 8 B-parameter form, beating standard Qwen3 8B by +10 pp and tying the 235 B “thinking” giant on AIME 2024.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13216,11 +13908,11 @@ "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", - "instruct_type": "deepseek-v3.1" + "tokenizer": "Qwen", + "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 163840, + "context_length": 131072, "max_completion_tokens": null, "is_moderated": false }, @@ -13235,13 +13927,9 @@ "presence_penalty", "reasoning", "repetition_penalty", - "response_format", "seed", "stop", - "structured_outputs", "temperature", - "tool_choice", - "tools", "top_k", "top_logprobs", "top_p" @@ -13249,12 +13937,12 @@ } }, { - "id": "deepseek/deepseek-chat-v3.1:free", - "name": "DeepSeek: DeepSeek V3.1 (free)", + "id": "deepseek/deepseek-r1-0528-qwen3-8b:free", + "name": "DeepSeek: Deepseek R1 0528 Qwen3 8B (free)", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-08-21 14:33:48 +0200", - "context_window": 163840, + "created_at": "2025-05-29 19:09:03 +0200", + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { @@ -13267,12 +13955,11 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output" + "predicted_outputs" ], "pricing": {}, "metadata": { - "description": "DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates. It extends the DeepSeek-V3 base with a two-phase long-context training process, reaching up to 128K tokens, and uses FP8 microscaling for efficient inference. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)\n\nThe model improves tool use, code generation, and reasoning efficiency, achieving performance comparable to DeepSeek-R1 on difficult benchmarks while responding more quickly. It supports structured tool calling, code agents, and search agents, making it suitable for research, coding, and agentic workflows. \n\nIt succeeds the [DeepSeek V3-0324](/deepseek/deepseek-chat-v3-0324) model and performs well on a variety of tasks.", + "description": "DeepSeek-R1-0528 is a lightly upgraded release of DeepSeek R1 that taps more compute and smarter post-training tricks, pushing its reasoning and inference to the brink of flagship models like O3 and Gemini 2.5 Pro.\nIt now tops math, programming, and logic leaderboards, showcasing a step-change in depth-of-thought.\nThe distilled variant, DeepSeek-R1-0528-Qwen3-8B, transfers this chain-of-thought into an 8 B-parameter form, beating standard Qwen3 8B by +10 pp and tying the 235 B “thinking” giant on AIME 2024.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13281,11 +13968,11 @@ "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", - "instruct_type": "deepseek-v3.1" + "tokenizer": "Qwen", + "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 163840, + "context_length": 131072, "max_completion_tokens": null, "is_moderated": false }, @@ -13293,28 +13980,28 @@ "supported_parameters": [ "frequency_penalty", "include_reasoning", + "logit_bias", + "logprobs", "max_tokens", "min_p", "presence_penalty", "reasoning", "repetition_penalty", - "response_format", "seed", "stop", "temperature", - "tool_choice", - "tools", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-prover-v2", - "name": "DeepSeek: DeepSeek Prover V2", + "id": "deepseek/deepseek-r1-0528:free", + "name": "DeepSeek: R1 0528 (free)", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-04-30 13:38:14 +0200", + "created_at": "2025-05-28 19:59:30 +0200", "context_window": 163840, "max_output_tokens": null, "knowledge_cutoff": null, @@ -13328,18 +14015,11 @@ }, "capabilities": [ "streaming", - "structured_output" + "predicted_outputs" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.5, - "output_per_million": 2.1799999999999997 - } - } - }, + "pricing": {}, "metadata": { - "description": "DeepSeek Prover V2 is a 671B parameter model, speculated to be geared towards logic and mathematics. Likely an upgrade from [DeepSeek-Prover-V1.5](https://huggingface.co/deepseek-ai/DeepSeek-Prover-V1.5-RL) Not much is known about the model yet, as DeepSeek released it on Hugging Face without an announcement or description.", + "description": "May 28th update to the [original DeepSeek R1](/deepseek/deepseek-r1) Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13349,7 +14029,7 @@ "text" ], "tokenizer": "DeepSeek", - "instruct_type": null + "instruct_type": "deepseek-r1" }, "top_provider": { "context_length": 163840, @@ -13359,27 +14039,31 @@ "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", + "logit_bias", + "logprobs", "max_tokens", "min_p", "presence_penalty", + "reasoning", "repetition_penalty", - "response_format", "seed", "stop", "temperature", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek: R1", + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek: R1 Distill Llama 70B", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-01-20 14:51:35 +0100", - "context_window": 163840, - "max_output_tokens": 163840, + "created_at": "2025-01-23 21:12:49 +0100", + "context_window": 131072, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13398,13 +14082,13 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.39999999999999997, - "output_per_million": 2.0 + "input_per_million": 0.03, + "output_per_million": 0.13 } } }, "metadata": { - "description": "DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model & [technical report](https://api-docs.deepseek.com/news/news250120).\n\nMIT licensed: Distill & commercialize freely!", + "description": "DeepSeek R1 Distill Llama 70B is a distilled large language model based on [Llama-3.3-70B-Instruct](/meta-llama/llama-3.3-70b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across multiple benchmarks, including:\n\n- AIME 2024 pass@1: 70.0\n- MATH-500 pass@1: 94.5\n- CodeForces Rating: 1633\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13413,12 +14097,12 @@ "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", + "tokenizer": "Llama3", "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 163840, - "max_completion_tokens": 163840, + "context_length": 131072, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, @@ -13435,7 +14119,6 @@ "response_format", "seed", "stop", - "structured_outputs", "temperature", "tool_choice", "tools", @@ -13446,13 +14129,13 @@ } }, { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek: R1 0528", + "id": "deepseek/deepseek-r1-distill-llama-70b:free", + "name": "DeepSeek: R1 Distill Llama 70B (free)", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-05-28 19:59:30 +0200", - "context_window": 163840, - "max_output_tokens": null, + "created_at": "2025-01-23 21:12:49 +0100", + "context_window": 8192, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13464,20 +14147,11 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output", "predicted_outputs" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.39999999999999997, - "output_per_million": 1.75 - } - } - }, + "pricing": {}, "metadata": { - "description": "May 28th update to the [original DeepSeek R1](/deepseek/deepseek-r1) Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model.", + "description": "DeepSeek R1 Distill Llama 70B is a distilled large language model based on [Llama-3.3-70B-Instruct](/meta-llama/llama-3.3-70b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across multiple benchmarks, including:\n\n- AIME 2024 pass@1: 70.0\n- MATH-500 pass@1: 94.5\n- CodeForces Rating: 1633\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13486,12 +14160,12 @@ "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", + "tokenizer": "Llama3", "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 163840, - "max_completion_tokens": null, + "context_length": 8192, + "max_completion_tokens": 4096, "is_moderated": false }, "per_request_limits": null, @@ -13505,13 +14179,9 @@ "presence_penalty", "reasoning", "repetition_penalty", - "response_format", "seed", "stop", - "structured_outputs", "temperature", - "tool_choice", - "tools", "top_k", "top_logprobs", "top_p" @@ -13519,13 +14189,13 @@ } }, { - "id": "deepseek/deepseek-r1-0528-qwen3-8b", - "name": "DeepSeek: Deepseek R1 0528 Qwen3 8B", + "id": "deepseek/deepseek-r1-distill-llama-8b", + "name": "DeepSeek: R1 Distill Llama 8B", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-05-29 19:09:03 +0200", - "context_window": 131072, - "max_output_tokens": null, + "created_at": "2025-02-07 15:15:18 +0100", + "context_window": 32000, + "max_output_tokens": 32000, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13542,13 +14212,13 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.01, - "output_per_million": 0.049999999999999996 + "input_per_million": 0.04, + "output_per_million": 0.04 } } }, "metadata": { - "description": "DeepSeek-R1-0528 is a lightly upgraded release of DeepSeek R1 that taps more compute and smarter post-training tricks, pushing its reasoning and inference to the brink of flagship models like O3 and Gemini 2.5 Pro.\nIt now tops math, programming, and logic leaderboards, showcasing a step-change in depth-of-thought.\nThe distilled variant, DeepSeek-R1-0528-Qwen3-8B, transfers this chain-of-thought into an 8 B-parameter form, beating standard Qwen3 8B by +10 pp and tying the 235 B “thinking” giant on AIME 2024.", + "description": "DeepSeek R1 Distill Llama 8B is a distilled large language model based on [Llama-3.1-8B-Instruct](/meta-llama/llama-3.1-8b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across multiple benchmarks, including:\n\n- AIME 2024 pass@1: 50.4\n- MATH-500 pass@1: 89.1\n- CodeForces Rating: 1205\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.\n\nHugging Face: \n- [Llama-3.1-8B](https://huggingface.co/meta-llama/Llama-3.1-8B) \n- [DeepSeek-R1-Distill-Llama-8B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B) |", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13557,12 +14227,12 @@ "output_modalities": [ "text" ], - "tokenizer": "Qwen", + "tokenizer": "Llama3", "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 131072, - "max_completion_tokens": null, + "context_length": 32000, + "max_completion_tokens": 32000, "is_moderated": false }, "per_request_limits": null, @@ -13570,7 +14240,6 @@ "frequency_penalty", "include_reasoning", "logit_bias", - "logprobs", "max_tokens", "min_p", "presence_penalty", @@ -13580,19 +14249,18 @@ "stop", "temperature", "top_k", - "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-r1-0528-qwen3-8b:free", - "name": "DeepSeek: Deepseek R1 0528 Qwen3 8B (free)", + "id": "deepseek/deepseek-r1-distill-qwen-14b", + "name": "DeepSeek: R1 Distill Qwen 14B", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-05-29 19:09:03 +0200", - "context_window": 131072, - "max_output_tokens": null, + "created_at": "2025-01-30 00:39:00 +0100", + "context_window": 32768, + "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13606,9 +14274,16 @@ "streaming", "predicted_outputs" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.15, + "output_per_million": 0.15 + } + } + }, "metadata": { - "description": "DeepSeek-R1-0528 is a lightly upgraded release of DeepSeek R1 that taps more compute and smarter post-training tricks, pushing its reasoning and inference to the brink of flagship models like O3 and Gemini 2.5 Pro.\nIt now tops math, programming, and logic leaderboards, showcasing a step-change in depth-of-thought.\nThe distilled variant, DeepSeek-R1-0528-Qwen3-8B, transfers this chain-of-thought into an 8 B-parameter form, beating standard Qwen3 8B by +10 pp and tying the 235 B “thinking” giant on AIME 2024.", + "description": "DeepSeek R1 Distill Qwen 14B is a distilled large language model based on [Qwen 2.5 14B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\n\nOther benchmark results include:\n\n- AIME 2024 pass@1: 69.7\n- MATH-500 pass@1: 93.9\n- CodeForces Rating: 1481\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13621,8 +14296,8 @@ "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 131072, - "max_completion_tokens": null, + "context_length": 32768, + "max_completion_tokens": 16384, "is_moderated": false }, "per_request_limits": null, @@ -13630,7 +14305,6 @@ "frequency_penalty", "include_reasoning", "logit_bias", - "logprobs", "max_tokens", "min_p", "presence_penalty", @@ -13640,19 +14314,18 @@ "stop", "temperature", "top_k", - "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-r1-0528:free", - "name": "DeepSeek: R1 0528 (free)", + "id": "deepseek/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek: R1 Distill Qwen 32B", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-05-28 19:59:30 +0200", - "context_window": 163840, - "max_output_tokens": null, + "created_at": "2025-01-30 00:53:50 +0100", + "context_window": 131072, + "max_output_tokens": 16384, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13664,11 +14337,19 @@ }, "capabilities": [ "streaming", + "structured_output", "predicted_outputs" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.27, + "output_per_million": 0.27 + } + } + }, "metadata": { - "description": "May 28th update to the [original DeepSeek R1](/deepseek/deepseek-r1) Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model.", + "description": "DeepSeek R1 Distill Qwen 32B is a distilled large language model based on [Qwen 2.5 32B](https://huggingface.co/Qwen/Qwen2.5-32B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\\n\\nOther benchmark results include:\\n\\n- AIME 2024 pass@1: 72.6\\n- MATH-500 pass@1: 94.3\\n- CodeForces Rating: 1691\\n\\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13677,12 +14358,12 @@ "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", + "tokenizer": "Qwen", "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 163840, - "max_completion_tokens": null, + "context_length": 131072, + "max_completion_tokens": 16384, "is_moderated": false }, "per_request_limits": null, @@ -13690,28 +14371,28 @@ "frequency_penalty", "include_reasoning", "logit_bias", - "logprobs", "max_tokens", "min_p", "presence_penalty", "reasoning", "repetition_penalty", + "response_format", "seed", "stop", + "structured_outputs", "temperature", "top_k", - "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek: R1 Distill Llama 70B", + "id": "deepseek/deepseek-r1:free", + "name": "DeepSeek: R1 (free)", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-01-23 21:12:49 +0100", - "context_window": 131072, + "created_at": "2025-01-20 14:51:35 +0100", + "context_window": 163840, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { @@ -13723,21 +14404,11 @@ ] }, "capabilities": [ - "streaming", - "function_calling", - "structured_output", - "predicted_outputs" + "streaming" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.03, - "output_per_million": 0.13 - } - } - }, + "pricing": {}, "metadata": { - "description": "DeepSeek R1 Distill Llama 70B is a distilled large language model based on [Llama-3.3-70B-Instruct](/meta-llama/llama-3.3-70b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across multiple benchmarks, including:\n\n- AIME 2024 pass@1: 70.0\n- MATH-500 pass@1: 94.5\n- CodeForces Rating: 1633\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", + "description": "DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model & [technical report](https://api-docs.deepseek.com/news/news250120).\n\nMIT licensed: Distill & commercialize freely!", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13746,45 +14417,31 @@ "output_modalities": [ "text" ], - "tokenizer": "Llama3", + "tokenizer": "DeepSeek", "instruct_type": "deepseek-r1" }, "top_provider": { - "context_length": 131072, + "context_length": 163840, "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "frequency_penalty", "include_reasoning", - "logit_bias", - "logprobs", "max_tokens", - "min_p", - "presence_penalty", "reasoning", - "repetition_penalty", - "response_format", - "seed", - "stop", - "temperature", - "tool_choice", - "tools", - "top_k", - "top_logprobs", - "top_p" + "temperature" ] } }, { - "id": "deepseek/deepseek-r1-distill-llama-70b:free", - "name": "DeepSeek: R1 Distill Llama 70B (free)", + "id": "deepseek/deepseek-v3.1-base", + "name": "DeepSeek: DeepSeek V3.1 Base", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-01-23 21:12:49 +0100", - "context_window": 8192, - "max_output_tokens": 4096, + "created_at": "2025-08-20 23:56:57 +0200", + "context_window": 163840, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13798,9 +14455,16 @@ "streaming", "predicted_outputs" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.24999987999999998, + "output_per_million": 0.999999888 + } + } + }, "metadata": { - "description": "DeepSeek R1 Distill Llama 70B is a distilled large language model based on [Llama-3.3-70B-Instruct](/meta-llama/llama-3.3-70b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across multiple benchmarks, including:\n\n- AIME 2024 pass@1: 70.0\n- MATH-500 pass@1: 94.5\n- CodeForces Rating: 1633\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", + "description": "This is a base model, trained only for raw next-token prediction. Unlike instruct/chat models, it has not been fine-tuned to follow user instructions. Prompts need to be written more like training text or examples rather than simple requests (e.g., “Translate the following sentence…” instead of just “Translate this”).\n\nDeepSeek-V3.1 Base is a 671B parameter open Mixture-of-Experts (MoE) language model with 37B active parameters per forward pass and a context length of 128K tokens. Trained on 14.8T tokens using FP8 mixed precision, it achieves high training efficiency and stability, with strong performance across language, reasoning, math, and coding tasks. \n", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13809,24 +14473,22 @@ "output_modalities": [ "text" ], - "tokenizer": "Llama3", - "instruct_type": "deepseek-r1" + "tokenizer": "DeepSeek", + "instruct_type": "none" }, "top_provider": { - "context_length": 8192, - "max_completion_tokens": 4096, + "context_length": 163840, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", - "include_reasoning", "logit_bias", "logprobs", "max_tokens", "min_p", "presence_penalty", - "reasoning", "repetition_penalty", "seed", "stop", @@ -13838,13 +14500,13 @@ } }, { - "id": "deepseek/deepseek-r1-distill-llama-8b", - "name": "DeepSeek: R1 Distill Llama 8B", + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek: DeepSeek V3.1 Terminus", "provider": "openrouter", "family": "deepseek", - "created_at": "2025-02-07 15:15:18 +0100", - "context_window": 32000, - "max_output_tokens": 32000, + "created_at": "2025-09-22 15:37:55 +0200", + "context_window": 163840, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13856,18 +14518,20 @@ }, "capabilities": [ "streaming", + "function_calling", + "structured_output", "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.04, - "output_per_million": 0.04 + "input_per_million": 0.27, + "output_per_million": 1.0 } } }, "metadata": { - "description": "DeepSeek R1 Distill Llama 8B is a distilled large language model based on [Llama-3.1-8B-Instruct](/meta-llama/llama-3.1-8b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across multiple benchmarks, including:\n\n- AIME 2024 pass@1: 50.4\n- MATH-500 pass@1: 89.1\n- CodeForces Rating: 1205\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.\n\nHugging Face: \n- [Llama-3.1-8B](https://huggingface.co/meta-llama/Llama-3.1-8B) \n- [DeepSeek-R1-Distill-Llama-8B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B) |", + "description": "DeepSeek-V3.1 Terminus is an update to [DeepSeek V3.1](/deepseek/deepseek-chat-v3.1) that maintains the model's original capabilities while addressing issues reported by users, including language consistency and agent capabilities, further optimizing the model's performance in coding and search agents. It is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes. It extends the DeepSeek-V3 base with a two-phase long-context training process, reaching up to 128K tokens, and uses FP8 microscaling for efficient inference. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)\n\nThe model improves tool use, code generation, and reasoning efficiency, achieving performance comparable to DeepSeek-R1 on difficult benchmarks while responding more quickly. It supports structured tool calling, code agents, and search agents, making it suitable for research, coding, and agentic workflows. ", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13876,12 +14540,12 @@ "output_modalities": [ "text" ], - "tokenizer": "Llama3", - "instruct_type": "deepseek-r1" + "tokenizer": "DeepSeek", + "instruct_type": "deepseek-v3.1" }, "top_provider": { - "context_length": 32000, - "max_completion_tokens": 32000, + "context_length": 163840, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, @@ -13889,27 +14553,32 @@ "frequency_penalty", "include_reasoning", "logit_bias", + "logprobs", "max_tokens", "min_p", "presence_penalty", "reasoning", "repetition_penalty", + "response_format", "seed", "stop", "temperature", + "tool_choice", + "tools", "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "deepseek/deepseek-r1-distill-qwen-14b", - "name": "DeepSeek: R1 Distill Qwen 14B", + "id": "eleutherai/llemma_7b", + "name": "EleutherAI: Llemma 7b", "provider": "openrouter", - "family": "deepseek", - "created_at": "2025-01-30 00:39:00 +0100", - "context_window": 32768, - "max_output_tokens": 16384, + "family": "eleutherai", + "created_at": "2025-04-14 17:07:05 +0200", + "context_window": 4096, + "max_output_tokens": 4096, "knowledge_cutoff": null, "modalities": { "input": [ @@ -13920,19 +14589,18 @@ ] }, "capabilities": [ - "streaming", - "predicted_outputs" + "streaming" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.15, - "output_per_million": 0.15 + "input_per_million": 0.7999999999999999, + "output_per_million": 1.2 } } }, "metadata": { - "description": "DeepSeek R1 Distill Qwen 14B is a distilled large language model based on [Qwen 2.5 14B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\n\nOther benchmark results include:\n\n- AIME 2024 pass@1: 69.7\n- MATH-500 pass@1: 93.9\n- CodeForces Rating: 1481\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", + "description": "Llemma 7B is a language model for mathematics. It was initialized with Code Llama 7B weights, and trained on the Proof-Pile-2 for 200B tokens. Llemma models are particularly strong at chain-of-thought mathematical reasoning and using computational tools for mathematics, such as Python and formal theorem provers.", "architecture": { "modality": "text->text", "input_modalities": [ @@ -13941,23 +14609,20 @@ "output_modalities": [ "text" ], - "tokenizer": "Qwen", - "instruct_type": "deepseek-r1" + "tokenizer": "Other", + "instruct_type": "code-llama" }, "top_provider": { - "context_length": 32768, - "max_completion_tokens": 16384, + "context_length": 4096, + "max_completion_tokens": 4096, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", - "include_reasoning", - "logit_bias", "max_tokens", "min_p", "presence_penalty", - "reasoning", "repetition_penalty", "seed", "stop", @@ -13968,17 +14633,20 @@ } }, { - "id": "deepseek/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek: R1 Distill Qwen 32B", + "id": "google/gemini-2.0-flash-001", + "name": "Google: Gemini 2.0 Flash", "provider": "openrouter", - "family": "deepseek", - "created_at": "2025-01-30 00:53:50 +0100", - "context_window": 131072, - "max_output_tokens": 16384, + "family": "google", + "created_at": "2025-02-05 16:30:13 +0100", + "context_window": 1048576, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image", + "file", + "audio" ], "output": [ "text" @@ -13986,114 +14654,124 @@ }, "capabilities": [ "streaming", - "structured_output", - "predicted_outputs" + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.27, - "output_per_million": 0.27 + "input_per_million": 0.09999999999999999, + "output_per_million": 0.39999999999999997, + "cached_input_per_million": 0.024999999999999998 } } }, "metadata": { - "description": "DeepSeek R1 Distill Qwen 32B is a distilled large language model based on [Qwen 2.5 32B](https://huggingface.co/Qwen/Qwen2.5-32B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\\n\\nOther benchmark results include:\\n\\n- AIME 2024 pass@1: 72.6\\n- MATH-500 pass@1: 94.3\\n- CodeForces Rating: 1691\\n\\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", + "description": "Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It introduces notable enhancements in multimodal understanding, coding capabilities, complex instruction following, and function calling. These advancements come together to deliver more seamless and robust agentic experiences.", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "text", + "image", + "file", + "audio" ], "output_modalities": [ "text" ], - "tokenizer": "Qwen", - "instruct_type": "deepseek-r1" + "tokenizer": "Gemini", + "instruct_type": null }, "top_provider": { - "context_length": 131072, - "max_completion_tokens": 16384, + "context_length": 1048576, + "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "frequency_penalty", - "include_reasoning", - "logit_bias", "max_tokens", - "min_p", - "presence_penalty", - "reasoning", - "repetition_penalty", "response_format", "seed", "stop", + "structured_outputs", "temperature", - "top_k", + "tool_choice", + "tools", "top_p" ] } }, { - "id": "deepseek/deepseek-r1:free", - "name": "DeepSeek: R1 (free)", + "id": "google/gemini-2.0-flash-exp:free", + "name": "Google: Gemini 2.0 Flash Experimental (free)", "provider": "openrouter", - "family": "deepseek", - "created_at": "2025-01-20 14:51:35 +0100", - "context_window": 163840, - "max_output_tokens": null, + "family": "google", + "created_at": "2024-12-11 18:18:43 +0100", + "context_window": 1048576, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], "pricing": {}, "metadata": { - "description": "DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model & [technical report](https://api-docs.deepseek.com/news/news250120).\n\nMIT licensed: Distill & commercialize freely!", + "description": "Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It introduces notable enhancements in multimodal understanding, coding capabilities, complex instruction following, and function calling. These advancements come together to deliver more seamless and robust agentic experiences.", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "text", + "image" ], "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", - "instruct_type": "deepseek-r1" + "tokenizer": "Gemini", + "instruct_type": null }, "top_provider": { - "context_length": 163840, - "max_completion_tokens": null, + "context_length": 1048576, + "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "include_reasoning", "max_tokens", - "reasoning", - "temperature" + "response_format", + "seed", + "stop", + "temperature", + "tool_choice", + "tools", + "top_p" ] } }, { - "id": "deepseek/deepseek-v3.1-base", - "name": "DeepSeek: DeepSeek V3.1 Base", + "id": "google/gemini-2.0-flash-lite-001", + "name": "Google: Gemini 2.0 Flash Lite", "provider": "openrouter", - "family": "deepseek", - "created_at": "2025-08-20 23:56:57 +0200", - "context_window": 163840, - "max_output_tokens": null, + "family": "google", + "created_at": "2025-02-25 18:56:52 +0100", + "context_window": 1048576, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image", + "file", + "audio" ], "output": [ "text" @@ -14101,165 +14779,171 @@ }, "capabilities": [ "streaming", - "predicted_outputs" + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.24999987999999998, - "output_per_million": 0.999999888 + "input_per_million": 0.075, + "output_per_million": 0.3 } } }, "metadata": { - "description": "This is a base model, trained only for raw next-token prediction. Unlike instruct/chat models, it has not been fine-tuned to follow user instructions. Prompts need to be written more like training text or examples rather than simple requests (e.g., “Translate the following sentence…” instead of just “Translate this”).\n\nDeepSeek-V3.1 Base is a 671B parameter open Mixture-of-Experts (MoE) language model with 37B active parameters per forward pass and a context length of 128K tokens. Trained on 14.8T tokens using FP8 mixed precision, it achieves high training efficiency and stability, with strong performance across language, reasoning, math, and coding tasks. \n", + "description": "Gemini 2.0 Flash Lite offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5), all at extremely economical token prices.", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "text", + "image", + "file", + "audio" ], "output_modalities": [ "text" ], - "tokenizer": "DeepSeek", - "instruct_type": "none" + "tokenizer": "Gemini", + "instruct_type": null }, "top_provider": { - "context_length": 163840, - "max_completion_tokens": null, + "context_length": 1048576, + "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "frequency_penalty", - "logit_bias", - "logprobs", "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", + "response_format", "seed", "stop", + "structured_outputs", "temperature", - "top_k", - "top_logprobs", + "tool_choice", + "tools", "top_p" ] } }, { - "id": "eleutherai/llemma_7b", - "name": "EleutherAI: Llemma 7b", + "id": "google/gemini-2.5-flash", + "name": "Google: Gemini 2.5 Flash", "provider": "openrouter", - "family": "eleutherai", - "created_at": "2025-04-14 17:07:05 +0200", - "context_window": 4096, - "max_output_tokens": 4096, + "family": "google", + "created_at": "2025-06-17 17:01:28 +0200", + "context_window": 1048576, + "max_output_tokens": 65535, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "file", + "image", + "text", + "audio" ], "output": [ "text" ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.7999999999999999, - "output_per_million": 1.2 + "input_per_million": 0.3, + "output_per_million": 2.5, + "cached_input_per_million": 0.075 } } }, "metadata": { - "description": "Llemma 7B is a language model for mathematics. It was initialized with Code Llama 7B weights, and trained on the Proof-Pile-2 for 200B tokens. Llemma models are particularly strong at chain-of-thought mathematical reasoning and using computational tools for mathematics, such as Python and formal theorem provers.", + "description": "Gemini 2.5 Flash is Google's state-of-the-art workhorse model, specifically designed for advanced reasoning, coding, mathematics, and scientific tasks. It includes built-in \"thinking\" capabilities, enabling it to provide responses with greater accuracy and nuanced context handling. \n\nAdditionally, Gemini 2.5 Flash is configurable through the \"max tokens for reasoning\" parameter, as described in the documentation (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning).", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "file", + "image", + "text", + "audio" ], "output_modalities": [ "text" ], - "tokenizer": "Other", - "instruct_type": "code-llama" + "tokenizer": "Gemini", + "instruct_type": null }, "top_provider": { - "context_length": 4096, - "max_completion_tokens": 4096, + "context_length": 1048576, + "max_completion_tokens": 65535, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "frequency_penalty", + "include_reasoning", "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", + "reasoning", + "response_format", "seed", "stop", + "structured_outputs", "temperature", - "top_k", + "tool_choice", + "tools", "top_p" ] } }, { - "id": "google/gemini-2.0-flash-001", - "name": "Google: Gemini 2.0 Flash", + "id": "google/gemini-2.5-flash-image-preview", + "name": "Gemini 2.5 Flash Image (Nano Banana)", "provider": "openrouter", "family": "google", - "created_at": "2025-02-05 16:30:13 +0100", - "context_window": 1048576, + "created_at": "2025-08-26 16:36:17 +0200", + "context_window": 32768, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text", "image", - "file", - "audio" + "text" ], "output": [ + "image", "text" ] }, "capabilities": [ "streaming", - "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.09999999999999999, - "output_per_million": 0.39999999999999997, - "cached_input_per_million": 0.024999999999999998 + "input_per_million": 0.3, + "output_per_million": 2.5 } } }, "metadata": { - "description": "Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It introduces notable enhancements in multimodal understanding, coding capabilities, complex instruction following, and function calling. These advancements come together to deliver more seamless and robust agentic experiences.", + "description": "Gemini 2.5 Flash Image Preview, a.k.a. \"Nano Banana,\" is a state of the art image generation model with contextual understanding. It is capable of image generation, edits, and multi-turn conversations.", "architecture": { - "modality": "text+image->text", + "modality": "text+image->text+image", "input_modalities": [ - "text", "image", - "file", - "audio" + "text" ], "output_modalities": [ + "image", "text" ], "tokenizer": "Gemini", "instruct_type": null }, "top_provider": { - "context_length": 1048576, + "context_length": 32768, "max_completion_tokens": 8192, "is_moderated": false }, @@ -14268,28 +14952,27 @@ "max_tokens", "response_format", "seed", - "stop", "structured_outputs", "temperature", - "tool_choice", - "tools", "top_p" ] } }, { - "id": "google/gemini-2.0-flash-exp:free", - "name": "Google: Gemini 2.0 Flash Experimental (free)", + "id": "google/gemini-2.5-flash-lite", + "name": "Google: Gemini 2.5 Flash Lite", "provider": "openrouter", "family": "google", - "created_at": "2024-12-11 18:18:43 +0100", + "created_at": "2025-07-22 18:04:36 +0200", "context_window": 1048576, - "max_output_tokens": 8192, + "max_output_tokens": 65535, "knowledge_cutoff": null, "modalities": { "input": [ + "file", + "image", "text", - "image" + "audio" ], "output": [ "text" @@ -14300,14 +14983,24 @@ "function_calling", "structured_output" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.09999999999999999, + "output_per_million": 0.39999999999999997, + "cached_input_per_million": 0.024999999999999998 + } + } + }, "metadata": { - "description": "Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It introduces notable enhancements in multimodal understanding, coding capabilities, complex instruction following, and function calling. These advancements come together to deliver more seamless and robust agentic experiences.", + "description": "Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance across common benchmarks compared to earlier Flash models. By default, \"thinking\" (i.e. multi-pass reasoning) is disabled to prioritize speed, but developers can enable it via the [Reasoning API parameter](https://openrouter.ai/docs/use-cases/reasoning-tokens) to selectively trade off cost for intelligence. ", "architecture": { "modality": "text+image->text", "input_modalities": [ + "file", + "image", "text", - "image" + "audio" ], "output_modalities": [ "text" @@ -14317,15 +15010,18 @@ }, "top_provider": { "context_length": 1048576, - "max_completion_tokens": 8192, + "max_completion_tokens": 65535, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ + "include_reasoning", "max_tokens", + "reasoning", "response_format", "seed", "stop", + "structured_outputs", "temperature", "tool_choice", "tools", @@ -14334,19 +15030,19 @@ } }, { - "id": "google/gemini-2.0-flash-lite-001", - "name": "Google: Gemini 2.0 Flash Lite", + "id": "google/gemini-2.5-flash-lite-preview-06-17", + "name": "Google: Gemini 2.5 Flash Lite Preview 06-17", "provider": "openrouter", "family": "google", - "created_at": "2025-02-25 18:56:52 +0100", + "created_at": "2025-06-17 17:23:51 +0200", "context_window": 1048576, - "max_output_tokens": 8192, + "max_output_tokens": 65535, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", "file", + "image", + "text", "audio" ], "output": [ @@ -14361,19 +15057,20 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.075, - "output_per_million": 0.3 + "input_per_million": 0.09999999999999999, + "output_per_million": 0.39999999999999997, + "cached_input_per_million": 0.024999999999999998 } } }, "metadata": { - "description": "Gemini 2.0 Flash Lite offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5), all at extremely economical token prices.", + "description": "Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance across common benchmarks compared to earlier Flash models. By default, \"thinking\" (i.e. multi-pass reasoning) is disabled to prioritize speed, but developers can enable it via the [Reasoning API parameter](https://openrouter.ai/docs/use-cases/reasoning-tokens) to selectively trade off cost for intelligence. ", "architecture": { "modality": "text+image->text", "input_modalities": [ - "text", - "image", "file", + "image", + "text", "audio" ], "output_modalities": [ @@ -14384,12 +15081,14 @@ }, "top_provider": { "context_length": 1048576, - "max_completion_tokens": 8192, + "max_completion_tokens": 65535, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ + "include_reasoning", "max_tokens", + "reasoning", "response_format", "seed", "stop", @@ -14402,13 +15101,13 @@ } }, { - "id": "google/gemini-2.5-flash", - "name": "Google: Gemini 2.5 Flash", + "id": "google/gemini-2.5-flash-lite-preview-09-2025", + "name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", "provider": "openrouter", "family": "google", - "created_at": "2025-06-17 17:01:28 +0200", + "created_at": "2025-09-25 19:01:26 +0200", "context_window": 1048576, - "max_output_tokens": 65535, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ @@ -14429,14 +15128,13 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.3, - "output_per_million": 2.5, - "cached_input_per_million": 0.075 + "input_per_million": 0.09999999999999999, + "output_per_million": 0.39999999999999997 } } }, "metadata": { - "description": "Gemini 2.5 Flash is Google's state-of-the-art workhorse model, specifically designed for advanced reasoning, coding, mathematics, and scientific tasks. It includes built-in \"thinking\" capabilities, enabling it to provide responses with greater accuracy and nuanced context handling. \n\nAdditionally, Gemini 2.5 Flash is configurable through the \"max tokens for reasoning\" parameter, as described in the documentation (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning).", + "description": "Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance across common benchmarks compared to earlier Flash models. By default, \"thinking\" (i.e. multi-pass reasoning) is disabled to prioritize speed, but developers can enable it via the [Reasoning API parameter](https://openrouter.ai/docs/use-cases/reasoning-tokens) to selectively trade off cost for intelligence. ", "architecture": { "modality": "text+image->text", "input_modalities": [ @@ -14453,7 +15151,7 @@ }, "top_provider": { "context_length": 1048576, - "max_completion_tokens": 65535, + "max_completion_tokens": 65536, "is_moderated": false }, "per_request_limits": null, @@ -14473,75 +15171,82 @@ } }, { - "id": "google/gemini-2.5-flash-image-preview", - "name": "Google: Gemini 2.5 Flash Image Preview", + "id": "google/gemini-2.5-flash-preview-09-2025", + "name": "Google: Gemini 2.5 Flash Preview 09-2025", "provider": "openrouter", "family": "google", - "created_at": "2025-08-26 16:36:17 +0200", - "context_window": 32768, - "max_output_tokens": 8192, + "created_at": "2025-09-25 19:09:38 +0200", + "context_window": 1048576, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ "image", + "file", "text" ], "output": [ - "image", "text" ] }, "capabilities": [ "streaming", + "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { "input_per_million": 0.3, - "output_per_million": 2.5 + "output_per_million": 2.5, + "cached_input_per_million": 0.075 } } }, "metadata": { - "description": "Gemini 2.5 Flash Image Preview, AKA Nano Banana is a state of the art image generation model with contextual understanding. It is capable of image generation, edits, and multi-turn conversations.", + "description": "Gemini 2.5 Flash Preview September 2025 Checkpoint is Google's state-of-the-art workhorse model, specifically designed for advanced reasoning, coding, mathematics, and scientific tasks. It includes built-in \"thinking\" capabilities, enabling it to provide responses with greater accuracy and nuanced context handling. \n\nAdditionally, Gemini 2.5 Flash is configurable through the \"max tokens for reasoning\" parameter, as described in the documentation (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning).", "architecture": { - "modality": "text+image->text+image", + "modality": "text+image->text", "input_modalities": [ "image", + "file", "text" ], "output_modalities": [ - "image", "text" ], "tokenizer": "Gemini", "instruct_type": null }, "top_provider": { - "context_length": 32768, - "max_completion_tokens": 8192, + "context_length": 1048576, + "max_completion_tokens": 65536, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ + "include_reasoning", "max_tokens", + "reasoning", "response_format", "seed", + "stop", "structured_outputs", "temperature", + "tool_choice", + "tools", "top_p" ] } }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Google: Gemini 2.5 Flash Lite", + "id": "google/gemini-2.5-pro", + "name": "Google: Gemini 2.5 Pro", "provider": "openrouter", "family": "google", - "created_at": "2025-07-22 18:04:36 +0200", + "created_at": "2025-06-17 16:12:24 +0200", "context_window": 1048576, - "max_output_tokens": 65535, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ @@ -14562,14 +15267,14 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.09999999999999999, - "output_per_million": 0.39999999999999997, - "cached_input_per_million": 0.024999999999999998 + "input_per_million": 1.25, + "output_per_million": 10.0, + "cached_input_per_million": 0.31 } } }, "metadata": { - "description": "Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance across common benchmarks compared to earlier Flash models. By default, \"thinking\" (i.e. multi-pass reasoning) is disabled to prioritize speed, but developers can enable it via the [Reasoning API parameter](https://openrouter.ai/docs/use-cases/reasoning-tokens) to selectively trade off cost for intelligence. ", + "description": "Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy and nuanced context handling. Gemini 2.5 Pro achieves top-tier performance on multiple benchmarks, including first-place positioning on the LMArena leaderboard, reflecting superior human-preference alignment and complex problem-solving abilities.", "architecture": { "modality": "text+image->text", "input_modalities": [ @@ -14586,7 +15291,7 @@ }, "top_provider": { "context_length": 1048576, - "max_completion_tokens": 65535, + "max_completion_tokens": 65536, "is_moderated": false }, "per_request_limits": null, @@ -14606,13 +15311,13 @@ } }, { - "id": "google/gemini-2.5-flash-lite-preview-06-17", - "name": "Google: Gemini 2.5 Flash Lite Preview 06-17", + "id": "google/gemini-2.5-pro-preview", + "name": "Google: Gemini 2.5 Pro Preview 06-05", "provider": "openrouter", "family": "google", - "created_at": "2025-06-17 17:23:51 +0200", + "created_at": "2025-06-05 17:27:37 +0200", "context_window": 1048576, - "max_output_tokens": 65535, + "max_output_tokens": 65536, "knowledge_cutoff": null, "modalities": { "input": [ @@ -14633,14 +15338,14 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.09999999999999999, - "output_per_million": 0.39999999999999997, - "cached_input_per_million": 0.024999999999999998 + "input_per_million": 1.25, + "output_per_million": 10.0, + "cached_input_per_million": 0.31 } } }, "metadata": { - "description": "Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance across common benchmarks compared to earlier Flash models. By default, \"thinking\" (i.e. multi-pass reasoning) is disabled to prioritize speed, but developers can enable it via the [Reasoning API parameter](https://openrouter.ai/docs/use-cases/reasoning-tokens) to selectively trade off cost for intelligence. ", + "description": "Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy and nuanced context handling. Gemini 2.5 Pro achieves top-tier performance on multiple benchmarks, including first-place positioning on the LMArena leaderboard, reflecting superior human-preference alignment and complex problem-solving abilities.\n", "architecture": { "modality": "text+image->text", "input_modalities": [ @@ -14657,7 +15362,7 @@ }, "top_provider": { "context_length": 1048576, - "max_completion_tokens": 65535, + "max_completion_tokens": 65536, "is_moderated": false }, "per_request_limits": null, @@ -14677,20 +15382,20 @@ } }, { - "id": "google/gemini-2.5-pro", - "name": "Google: Gemini 2.5 Pro", + "id": "google/gemini-2.5-pro-preview-05-06", + "name": "Google: Gemini 2.5 Pro Preview 05-06", "provider": "openrouter", "family": "google", - "created_at": "2025-06-17 16:12:24 +0200", + "created_at": "2025-05-07 02:41:53 +0200", "context_window": 1048576, - "max_output_tokens": 65536, + "max_output_tokens": 65535, "knowledge_cutoff": null, "modalities": { "input": [ - "file", - "image", "text", - "audio" + "image", + "file", + "audio" ], "output": [ "text" @@ -14715,9 +15420,9 @@ "architecture": { "modality": "text+image->text", "input_modalities": [ - "file", - "image", "text", + "image", + "file", "audio" ], "output_modalities": [ @@ -14728,7 +15433,7 @@ }, "top_provider": { "context_length": 1048576, - "max_completion_tokens": 65536, + "max_completion_tokens": 65535, "is_moderated": false }, "per_request_limits": null, @@ -14748,20 +15453,18 @@ } }, { - "id": "google/gemini-2.5-pro-preview", - "name": "Google: Gemini 2.5 Pro Preview 06-05", + "id": "google/gemini-flash-1.5-8b", + "name": "Google: Gemini 1.5 Flash 8B", "provider": "openrouter", "family": "google", - "created_at": "2025-06-05 17:27:37 +0200", - "context_window": 1048576, - "max_output_tokens": 65536, + "created_at": "2024-10-03 02:00:00 +0200", + "context_window": 1000000, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "file", - "image", "text", - "audio" + "image" ], "output": [ "text" @@ -14775,21 +15478,19 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.31 + "input_per_million": 0.0375, + "output_per_million": 0.15, + "cached_input_per_million": 0.01 } } }, "metadata": { - "description": "Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy and nuanced context handling. Gemini 2.5 Pro achieves top-tier performance on multiple benchmarks, including first-place positioning on the LMArena leaderboard, reflecting superior human-preference alignment and complex problem-solving abilities.\n", + "description": "Gemini Flash 1.5 8B is optimized for speed and efficiency, offering enhanced performance in small prompt tasks like chat, transcription, and translation. With reduced latency, it is highly effective for real-time and large-scale operations. This model focuses on cost-effective solutions while maintaining high-quality results.\n\n[Click here to learn more about this model](https://developers.googleblog.com/en/gemini-15-flash-8b-is-now-generally-available-for-use/).\n\nUsage of Gemini is subject to Google's [Gemini Terms of Use](https://ai.google.dev/terms).", "architecture": { "modality": "text+image->text", "input_modalities": [ - "file", - "image", "text", - "audio" + "image" ], "output_modalities": [ "text" @@ -14798,15 +15499,15 @@ "instruct_type": null }, "top_provider": { - "context_length": 1048576, - "max_completion_tokens": 65536, + "context_length": 1000000, + "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "include_reasoning", + "frequency_penalty", "max_tokens", - "reasoning", + "presence_penalty", "response_format", "seed", "stop", @@ -14819,20 +15520,17 @@ } }, { - "id": "google/gemini-2.5-pro-preview-05-06", - "name": "Google: Gemini 2.5 Pro Preview 05-06", + "id": "google/gemma-2-27b-it", + "name": "Google: Gemma 2 27B", "provider": "openrouter", "family": "google", - "created_at": "2025-05-07 02:41:53 +0200", - "context_window": 1048576, - "max_output_tokens": 65535, + "created_at": "2024-07-13 02:00:00 +0200", + "context_window": 8192, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image", - "file", - "audio" + "text" ], "output": [ "text" @@ -14840,68 +15538,59 @@ }, "capabilities": [ "streaming", - "function_calling", "structured_output" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 10.0, - "cached_input_per_million": 0.31 + "input_per_million": 0.65, + "output_per_million": 0.65 } } }, "metadata": { - "description": "Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy and nuanced context handling. Gemini 2.5 Pro achieves top-tier performance on multiple benchmarks, including first-place positioning on the LMArena leaderboard, reflecting superior human-preference alignment and complex problem-solving abilities.", + "description": "Gemma 2 27B by Google is an open model built from the same research and technology used to create the [Gemini models](/models?q=gemini).\n\nGemma models are well-suited for a variety of text generation tasks, including question answering, summarization, and reasoning.\n\nSee the [launch announcement](https://blog.google/technology/developers/google-gemma-2/) for more details. Usage of Gemma is subject to Google's [Gemma Terms of Use](https://ai.google.dev/gemma/terms).", "architecture": { - "modality": "text+image->text", + "modality": "text->text", "input_modalities": [ - "text", - "image", - "file", - "audio" + "text" ], "output_modalities": [ "text" ], "tokenizer": "Gemini", - "instruct_type": null + "instruct_type": "gemma" }, "top_provider": { - "context_length": 1048576, - "max_completion_tokens": 65535, + "context_length": 8192, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "include_reasoning", + "frequency_penalty", "max_tokens", - "reasoning", + "presence_penalty", "response_format", - "seed", "stop", "structured_outputs", "temperature", - "tool_choice", - "tools", "top_p" ] } }, { - "id": "google/gemini-flash-1.5", - "name": "Google: Gemini 1.5 Flash ", + "id": "google/gemma-2-9b-it", + "name": "Google: Gemma 2 9B", "provider": "openrouter", "family": "google", - "created_at": "2024-05-14 02:00:00 +0200", - "context_window": 1000000, + "created_at": "2024-06-28 02:00:00 +0200", + "context_window": 8192, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -14909,66 +15598,66 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output" + "structured_output", + "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.075, - "output_per_million": 0.3, - "cached_input_per_million": 0.01875 + "input_per_million": 0.01, + "output_per_million": 0.02 } } }, "metadata": { - "description": "Gemini 1.5 Flash is a foundation model that performs well at a variety of multimodal tasks such as visual understanding, classification, summarization, and creating content from image, audio and video. It's adept at processing visual and text inputs such as photographs, documents, infographics, and screenshots.\n\nGemini 1.5 Flash is designed for high-volume, high-frequency tasks where cost and latency matter. On most common tasks, Flash achieves comparable quality to other Gemini Pro models at a significantly reduced cost. Flash is well-suited for applications like chat assistants and on-demand content generation where speed and scale matter.\n\nUsage of Gemini is subject to Google's [Gemini Terms of Use](https://ai.google.dev/terms).\n\n#multimodal", + "description": "Gemma 2 9B by Google is an advanced, open-source language model that sets a new standard for efficiency and performance in its size class.\n\nDesigned for a wide variety of tasks, it empowers developers and researchers to build innovative applications, while maintaining accessibility, safety, and cost-effectiveness.\n\nSee the [launch announcement](https://blog.google/technology/developers/google-gemma-2/) for more details. Usage of Gemma is subject to Google's [Gemma Terms of Use](https://ai.google.dev/gemma/terms).", "architecture": { - "modality": "text+image->text", + "modality": "text->text", "input_modalities": [ - "text", - "image" + "text" ], "output_modalities": [ "text" ], "tokenizer": "Gemini", - "instruct_type": null + "instruct_type": "gemma" }, "top_provider": { - "context_length": 1000000, + "context_length": 8192, "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", + "repetition_penalty", "response_format", "seed", "stop", - "structured_outputs", "temperature", - "tool_choice", - "tools", + "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "google/gemini-flash-1.5-8b", - "name": "Google: Gemini 1.5 Flash 8B", + "id": "google/gemma-2-9b-it:free", + "name": "Google: Gemma 2 9B (free)", "provider": "openrouter", "family": "google", - "created_at": "2024-10-03 02:00:00 +0200", - "context_window": 1000000, + "created_at": "2024-06-28 02:00:00 +0200", + "context_window": 8192, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -14976,60 +15665,52 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output" + "predicted_outputs" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.0375, - "output_per_million": 0.15, - "cached_input_per_million": 0.01 - } - } - }, + "pricing": {}, "metadata": { - "description": "Gemini Flash 1.5 8B is optimized for speed and efficiency, offering enhanced performance in small prompt tasks like chat, transcription, and translation. With reduced latency, it is highly effective for real-time and large-scale operations. This model focuses on cost-effective solutions while maintaining high-quality results.\n\n[Click here to learn more about this model](https://developers.googleblog.com/en/gemini-15-flash-8b-is-now-generally-available-for-use/).\n\nUsage of Gemini is subject to Google's [Gemini Terms of Use](https://ai.google.dev/terms).", + "description": "Gemma 2 9B by Google is an advanced, open-source language model that sets a new standard for efficiency and performance in its size class.\n\nDesigned for a wide variety of tasks, it empowers developers and researchers to build innovative applications, while maintaining accessibility, safety, and cost-effectiveness.\n\nSee the [launch announcement](https://blog.google/technology/developers/google-gemma-2/) for more details. Usage of Gemma is subject to Google's [Gemma Terms of Use](https://ai.google.dev/gemma/terms).", "architecture": { - "modality": "text+image->text", + "modality": "text->text", "input_modalities": [ - "text", - "image" + "text" ], "output_modalities": [ "text" ], "tokenizer": "Gemini", - "instruct_type": null + "instruct_type": "gemma" }, "top_provider": { - "context_length": 1000000, + "context_length": 8192, "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", - "response_format", + "repetition_penalty", "seed", "stop", - "structured_outputs", "temperature", - "tool_choice", - "tools", + "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "google/gemini-pro-1.5", - "name": "Google: Gemini 1.5 Pro", + "id": "google/gemma-3-12b-it", + "name": "Google: Gemma 3 12B", "provider": "openrouter", "family": "google", - "created_at": "2024-04-09 02:00:00 +0200", - "context_window": 2000000, + "created_at": "2025-03-13 22:50:25 +0100", + "context_window": 96000, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { @@ -15043,19 +15724,19 @@ }, "capabilities": [ "streaming", - "function_calling", - "structured_output" + "structured_output", + "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 1.25, - "output_per_million": 5.0 + "input_per_million": 0.04, + "output_per_million": 0.14 } } }, "metadata": { - "description": "Google's latest multimodal model, supports image and video[0] in text or chat prompts.\n\nOptimized for language tasks including:\n\n- Code generation\n- Text generation\n- Text editing\n- Problem solving\n- Recommendations\n- Information extraction\n- Data extraction or generation\n- AI agents\n\nUsage of Gemini is subject to Google's [Gemini Terms of Use](https://ai.google.dev/terms).\n\n* [0]: Video input is not available through OpenRouter at this time.", + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 12B is the second largest in the family of Gemma 3 models after [Gemma 3 27B](google/gemma-3-27b-it)", "architecture": { "modality": "text+image->text", "input_modalities": [ @@ -15066,41 +15747,46 @@ "text" ], "tokenizer": "Gemini", - "instruct_type": null + "instruct_type": "gemma" }, "top_provider": { - "context_length": 2000000, + "context_length": 96000, "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", + "repetition_penalty", "response_format", "seed", "stop", "structured_outputs", "temperature", - "tool_choice", - "tools", + "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "google/gemma-2-27b-it", - "name": "Google: Gemma 2 27B", + "id": "google/gemma-3-12b-it:free", + "name": "Google: Gemma 3 12B (free)", "provider": "openrouter", "family": "google", - "created_at": "2024-07-13 02:00:00 +0200", - "context_window": 8192, - "max_output_tokens": null, + "created_at": "2025-03-13 22:50:25 +0100", + "context_window": 32768, + "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -15108,22 +15794,16 @@ }, "capabilities": [ "streaming", - "structured_output" + "predicted_outputs" ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.65, - "output_per_million": 0.65 - } - } - }, + "pricing": {}, "metadata": { - "description": "Gemma 2 27B by Google is an open model built from the same research and technology used to create the [Gemini models](/models?q=gemini).\n\nGemma models are well-suited for a variety of text generation tasks, including question answering, summarization, and reasoning.\n\nSee the [launch announcement](https://blog.google/technology/developers/google-gemma-2/) for more details. Usage of Gemma is subject to Google's [Gemma Terms of Use](https://ai.google.dev/gemma/terms).", + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 12B is the second largest in the family of Gemma 3 models after [Gemma 3 27B](google/gemma-3-27b-it)", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "text", + "image" ], "output_modalities": [ "text" @@ -15132,35 +15812,41 @@ "instruct_type": "gemma" }, "top_provider": { - "context_length": 8192, - "max_completion_tokens": null, + "context_length": 32768, + "max_completion_tokens": 8192, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", - "response_format", + "repetition_penalty", + "seed", "stop", - "structured_outputs", "temperature", + "top_k", + "top_logprobs", "top_p" ] } }, { - "id": "google/gemma-2-9b-it", - "name": "Google: Gemma 2 9B", + "id": "google/gemma-3-27b-it", + "name": "Google: Gemma 3 27B", "provider": "openrouter", "family": "google", - "created_at": "2024-06-28 02:00:00 +0200", - "context_window": 8192, + "created_at": "2025-03-12 06:12:39 +0100", + "context_window": 96000, "max_output_tokens": 8192, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -15174,270 +15860,15 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.01, - "output_per_million": 0.02 + "input_per_million": 0.07, + "output_per_million": 0.26 } } }, "metadata": { - "description": "Gemma 2 9B by Google is an advanced, open-source language model that sets a new standard for efficiency and performance in its size class.\n\nDesigned for a wide variety of tasks, it empowers developers and researchers to build innovative applications, while maintaining accessibility, safety, and cost-effectiveness.\n\nSee the [launch announcement](https://blog.google/technology/developers/google-gemma-2/) for more details. Usage of Gemma is subject to Google's [Gemma Terms of Use](https://ai.google.dev/gemma/terms).", + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 27B is Google's latest open source model, successor to [Gemma 2](google/gemma-2-27b-it)", "architecture": { - "modality": "text->text", - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Gemini", - "instruct_type": "gemma" - }, - "top_provider": { - "context_length": 8192, - "max_completion_tokens": 8192, - "is_moderated": false - }, - "per_request_limits": null, - "supported_parameters": [ - "frequency_penalty", - "logit_bias", - "logprobs", - "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", - "response_format", - "seed", - "stop", - "temperature", - "top_k", - "top_logprobs", - "top_p" - ] - } - }, - { - "id": "google/gemma-2-9b-it:free", - "name": "Google: Gemma 2 9B (free)", - "provider": "openrouter", - "family": "google", - "created_at": "2024-06-28 02:00:00 +0200", - "context_window": 8192, - "max_output_tokens": 8192, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "capabilities": [ - "streaming", - "predicted_outputs" - ], - "pricing": {}, - "metadata": { - "description": "Gemma 2 9B by Google is an advanced, open-source language model that sets a new standard for efficiency and performance in its size class.\n\nDesigned for a wide variety of tasks, it empowers developers and researchers to build innovative applications, while maintaining accessibility, safety, and cost-effectiveness.\n\nSee the [launch announcement](https://blog.google/technology/developers/google-gemma-2/) for more details. Usage of Gemma is subject to Google's [Gemma Terms of Use](https://ai.google.dev/gemma/terms).", - "architecture": { - "modality": "text->text", - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Gemini", - "instruct_type": "gemma" - }, - "top_provider": { - "context_length": 8192, - "max_completion_tokens": 8192, - "is_moderated": false - }, - "per_request_limits": null, - "supported_parameters": [ - "frequency_penalty", - "logit_bias", - "logprobs", - "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", - "seed", - "stop", - "temperature", - "top_k", - "top_logprobs", - "top_p" - ] - } - }, - { - "id": "google/gemma-3-12b-it", - "name": "Google: Gemma 3 12B", - "provider": "openrouter", - "family": "google", - "created_at": "2025-03-13 22:50:25 +0100", - "context_window": 96000, - "max_output_tokens": 8192, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "capabilities": [ - "streaming", - "structured_output", - "predicted_outputs" - ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.04, - "output_per_million": 0.14 - } - } - }, - "metadata": { - "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 12B is the second largest in the family of Gemma 3 models after [Gemma 3 27B](google/gemma-3-27b-it)", - "architecture": { - "modality": "text+image->text", - "input_modalities": [ - "text", - "image" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Gemini", - "instruct_type": "gemma" - }, - "top_provider": { - "context_length": 96000, - "max_completion_tokens": 8192, - "is_moderated": false - }, - "per_request_limits": null, - "supported_parameters": [ - "frequency_penalty", - "logit_bias", - "logprobs", - "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", - "response_format", - "seed", - "stop", - "temperature", - "top_k", - "top_logprobs", - "top_p" - ] - } - }, - { - "id": "google/gemma-3-12b-it:free", - "name": "Google: Gemma 3 12B (free)", - "provider": "openrouter", - "family": "google", - "created_at": "2025-03-13 22:50:25 +0100", - "context_window": 32768, - "max_output_tokens": 8192, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "capabilities": [ - "streaming", - "predicted_outputs" - ], - "pricing": {}, - "metadata": { - "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 12B is the second largest in the family of Gemma 3 models after [Gemma 3 27B](google/gemma-3-27b-it)", - "architecture": { - "modality": "text+image->text", - "input_modalities": [ - "text", - "image" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Gemini", - "instruct_type": "gemma" - }, - "top_provider": { - "context_length": 32768, - "max_completion_tokens": 8192, - "is_moderated": false - }, - "per_request_limits": null, - "supported_parameters": [ - "frequency_penalty", - "logit_bias", - "logprobs", - "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", - "seed", - "stop", - "temperature", - "top_k", - "top_logprobs", - "top_p" - ] - } - }, - { - "id": "google/gemma-3-27b-it", - "name": "Google: Gemma 3 27B", - "provider": "openrouter", - "family": "google", - "created_at": "2025-03-12 06:12:39 +0100", - "context_window": 96000, - "max_output_tokens": 8192, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "capabilities": [ - "streaming", - "structured_output", - "predicted_outputs" - ], - "pricing": { - "text_tokens": { - "standard": { - "input_per_million": 0.07, - "output_per_million": 0.26 - } - } - }, - "metadata": { - "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 27B is Google's latest open source model, successor to [Gemma 2](google/gemma-2-27b-it)", - "architecture": { - "modality": "text+image->text", + "modality": "text+image->text", "input_modalities": [ "text", "image" @@ -16662,62 +17093,8 @@ } }, { - "id": "meta-llama/llama-3.1-405b-instruct:free", - "name": "Meta: Llama 3.1 405B Instruct (free)", - "provider": "openrouter", - "family": "meta-llama", - "created_at": "2024-07-23 02:00:00 +0200", - "context_window": 65536, - "max_output_tokens": null, - "knowledge_cutoff": null, - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "capabilities": [ - "streaming", - "structured_output" - ], - "pricing": {}, - "metadata": { - "description": "The highly anticipated 400B class of Llama3 is here! Clocking in at 128k context with impressive eval scores, the Meta AI team continues to push the frontier of open-source LLMs.\n\nMeta's latest class of model (Llama 3.1) launched with a variety of sizes & flavors. This 405B instruct-tuned version is optimized for high quality dialogue usecases.\n\nIt has demonstrated strong performance compared to leading closed-source models including GPT-4o and Claude 3.5 Sonnet in evaluations.\n\nTo read more about the model release, [click here](https://ai.meta.com/blog/meta-llama-3-1/). Usage of this model is subject to [Meta's Acceptable Use Policy](https://llama.meta.com/llama3/use-policy/).", - "architecture": { - "modality": "text->text", - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Llama3", - "instruct_type": "llama3" - }, - "top_provider": { - "context_length": 65536, - "max_completion_tokens": null, - "is_moderated": false - }, - "per_request_limits": null, - "supported_parameters": [ - "frequency_penalty", - "max_tokens", - "presence_penalty", - "response_format", - "stop", - "structured_outputs", - "temperature", - "top_k", - "top_p" - ] - } - }, - { - "id": "meta-llama/llama-3.1-70b-instruct", - "name": "Meta: Llama 3.1 70B Instruct", + "id": "meta-llama/llama-3.1-70b-instruct", + "name": "Meta: Llama 3.1 70B Instruct", "provider": "openrouter", "family": "meta-llama", "created_at": "2024-07-23 02:00:00 +0200", @@ -17206,8 +17583,8 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.012, - "output_per_million": 0.036 + "input_per_million": 0.04, + "output_per_million": 0.12 } } }, @@ -21088,9 +21465,7 @@ ] }, "capabilities": [ - "streaming", - "function_calling", - "predicted_outputs" + "streaming" ], "pricing": {}, "metadata": { @@ -21109,25 +21484,14 @@ "top_provider": { "context_length": 32768, "max_completion_tokens": null, - "is_moderated": false + "is_moderated": true }, "per_request_limits": null, "supported_parameters": [ - "frequency_penalty", - "logit_bias", - "logprobs", "max_tokens", - "min_p", - "presence_penalty", - "repetition_penalty", "seed", "stop", - "temperature", - "tool_choice", - "tools", - "top_k", - "top_logprobs", - "top_p" + "temperature" ] } }, @@ -21565,6 +21929,71 @@ ] } }, + { + "id": "nousresearch/deephermes-3-llama-3-8b-preview", + "name": "Nous: DeepHermes 3 Llama 3 8B Preview", + "provider": "openrouter", + "family": "nousresearch", + "created_at": "2025-02-28 06:09:32 +0100", + "context_window": 131072, + "max_output_tokens": null, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "capabilities": [ + "streaming", + "predicted_outputs" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.01, + "output_per_million": 0.049999999999999996 + } + } + }, + "metadata": { + "description": "DeepHermes 3 Preview is the latest version of our flagship Hermes series of LLMs by Nous Research, and one of the first models in the world to unify Reasoning (long chains of thought that improve answer accuracy) and normal LLM response modes into one model. We have also improved LLM annotation, judgement, and function calling.\n\nDeepHermes 3 Preview is one of the first LLM models to unify both \"intuitive\", traditional mode responses and long chain of thought reasoning responses into a single model, toggled by a system prompt.", + "architecture": { + "modality": "text->text", + "input_modalities": [ + "text" + ], + "output_modalities": [ + "text" + ], + "tokenizer": "Other", + "instruct_type": null + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null, + "supported_parameters": [ + "frequency_penalty", + "logit_bias", + "logprobs", + "max_tokens", + "min_p", + "presence_penalty", + "repetition_penalty", + "seed", + "stop", + "temperature", + "top_k", + "top_logprobs", + "top_p" + ] + } + }, { "id": "nousresearch/deephermes-3-llama-3-8b-preview:free", "name": "Nous: DeepHermes 3 Llama 3 8B Preview (free)", @@ -23956,9 +24385,9 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.625, - "output_per_million": 5.0, - "cached_input_per_million": 0.0625 + "input_per_million": 1.25, + "output_per_million": 10.0, + "cached_input_per_million": 0.125 } } }, @@ -24056,6 +24485,76 @@ ] } }, + { + "id": "openai/gpt-5-codex", + "name": "OpenAI: GPT-5 Codex", + "provider": "openrouter", + "family": "openai", + "created_at": "2025-09-23 18:03:23 +0200", + "context_window": 400000, + "max_output_tokens": 128000, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "capabilities": [ + "streaming", + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 1.25, + "output_per_million": 10.0, + "cached_input_per_million": 0.125 + } + } + }, + "metadata": { + "description": "GPT-5-Codex is a specialized version of GPT-5 optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks. The model supports building projects from scratch, feature development, debugging, large-scale refactoring, and code review. Compared to GPT-5, Codex is more steerable, adheres closely to developer instructions, and produces cleaner, higher-quality code outputs. Reasoning effort can be adjusted with the `reasoning.effort` parameter. Read the [docs here](https://openrouter.ai/docs/use-cases/reasoning-tokens#reasoning-effort-level)\n\nCodex integrates into developer environments including the CLI, IDE extensions, GitHub, and cloud tasks. It adapts reasoning effort dynamically—providing fast responses for small tasks while sustaining extended multi-hour runs for large projects. The model is trained to perform structured code reviews, catching critical flaws by reasoning over dependencies and validating behavior against tests. It also supports multimodal inputs such as images or screenshots for UI development and integrates tool use for search, dependency installation, and environment setup. Codex is intended specifically for agentic coding applications.", + "architecture": { + "modality": "text+image->text", + "input_modalities": [ + "text", + "image" + ], + "output_modalities": [ + "text" + ], + "tokenizer": "GPT", + "instruct_type": null + }, + "top_provider": { + "context_length": 400000, + "max_completion_tokens": 128000, + "is_moderated": true + }, + "per_request_limits": null, + "supported_parameters": [ + "frequency_penalty", + "include_reasoning", + "logit_bias", + "logprobs", + "max_tokens", + "presence_penalty", + "reasoning", + "response_format", + "seed", + "stop", + "structured_outputs", + "tool_choice", + "tools", + "top_logprobs" + ] + } + }, { "id": "openai/gpt-5-mini", "name": "OpenAI: GPT-5 Mini", @@ -26558,8 +27057,8 @@ "provider": "openrouter", "family": "qwen", "created_at": "2025-02-01 12:45:11 +0100", - "context_window": 32768, - "max_output_tokens": null, + "context_window": 131072, + "max_output_tokens": 2048, "knowledge_cutoff": null, "modalities": { "input": [ @@ -26590,21 +27089,17 @@ "instruct_type": null }, "top_provider": { - "context_length": 32768, - "max_completion_tokens": null, + "context_length": 131072, + "max_completion_tokens": 2048, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ - "frequency_penalty", "max_tokens", "presence_penalty", "response_format", "seed", - "stop", - "structured_outputs", "temperature", - "top_k", "top_p" ] } @@ -26616,7 +27111,7 @@ "family": "qwen", "created_at": "2025-04-28 23:41:18 +0200", "context_window": 40960, - "max_output_tokens": 40960, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -26635,8 +27130,8 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.06, - "output_per_million": 0.24 + "input_per_million": 0.04, + "output_per_million": 0.14 } } }, @@ -26655,7 +27150,7 @@ }, "top_provider": { "context_length": 40960, - "max_completion_tokens": 40960, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, @@ -26822,7 +27317,7 @@ "family": "qwen", "created_at": "2025-07-21 19:39:15 +0200", "context_window": 262144, - "max_output_tokens": 262144, + "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { "input": [ @@ -26841,8 +27336,8 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.09999999999999999, - "output_per_million": 0.09999999999999999 + "input_per_million": 0.09, + "output_per_million": 0.6 } } }, @@ -26861,7 +27356,7 @@ }, "top_provider": { "context_length": 262144, - "max_completion_tokens": 262144, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null, @@ -27768,7 +28263,7 @@ "name": "Qwen: Qwen3 Coder Plus", "provider": "openrouter", "family": "qwen", - "created_at": "2025-09-17 15:19:54 +0200", + "created_at": "2025-09-23 23:25:07 +0200", "context_window": 128000, "max_output_tokens": 65536, "knowledge_cutoff": null, @@ -27892,7 +28387,7 @@ "name": "Qwen: Qwen3 Max", "provider": "openrouter", "family": "qwen", - "created_at": "2025-09-05 14:49:27 +0200", + "created_at": "2025-09-23 23:26:48 +0200", "context_window": 256000, "max_output_tokens": 32768, "knowledge_cutoff": null, @@ -28094,17 +28589,18 @@ } }, { - "id": "qwen/qwq-32b", - "name": "Qwen: QwQ 32B", + "id": "qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen: Qwen3 VL 235B A22B Instruct", "provider": "openrouter", "family": "qwen", - "created_at": "2025-03-05 22:06:54 +0100", - "context_window": 32768, - "max_output_tokens": null, + "created_at": "2025-09-24 01:04:47 +0200", + "context_window": 131072, + "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -28119,27 +28615,28 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.15, - "output_per_million": 0.39999999999999997 + "input_per_million": 0.3, + "output_per_million": 1.5 } } }, "metadata": { - "description": "QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks, especially hard problems. QwQ-32B is the medium-sized reasoning model, which is capable of achieving competitive performance against state-of-the-art reasoning models, e.g., DeepSeek-R1, o1-mini.", + "description": "Qwen3-VL-235B-A22B Instruct is an open-weight multimodal model that unifies strong text generation with visual understanding across images and video. The Instruct model targets general vision-language use (VQA, document parsing, chart/table extraction, multilingual OCR). The series emphasizes robust perception (recognition of diverse real-world and synthetic categories), spatial understanding (2D/3D grounding), and long-form visual comprehension, with competitive results on public multimodal benchmarks for both perception and reasoning.\n\nBeyond analysis, Qwen3-VL supports agentic interaction and tool use: it can follow complex instructions over multi-image, multi-turn dialogues; align text to video timelines for precise temporal queries; and operate GUI elements for automation tasks. The models also enable visual coding workflows—turning sketches or mockups into code and assisting with UI debugging—while maintaining strong text-only performance comparable to the flagship Qwen3 language models. This makes Qwen3-VL suitable for production scenarios spanning document AI, multilingual OCR, software/UI assistance, spatial/embodied tasks, and research on vision-language agents.", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "text", + "image" ], "output_modalities": [ "text" ], - "tokenizer": "Qwen", - "instruct_type": "qwq" + "tokenizer": "Qwen3", + "instruct_type": null }, "top_provider": { - "context_length": 32768, - "max_completion_tokens": null, + "context_length": 131072, + "max_completion_tokens": 32768, "is_moderated": false }, "per_request_limits": null, @@ -28147,7 +28644,6 @@ "frequency_penalty", "include_reasoning", "logit_bias", - "logprobs", "max_tokens", "min_p", "presence_penalty", @@ -28161,23 +28657,23 @@ "tool_choice", "tools", "top_k", - "top_logprobs", "top_p" ] } }, { - "id": "qwen/qwq-32b-preview", - "name": "Qwen: QwQ 32B Preview", + "id": "qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen: Qwen3 VL 235B A22B Thinking", "provider": "openrouter", "family": "qwen", - "created_at": "2024-11-28 01:42:21 +0100", - "context_window": 32768, - "max_output_tokens": null, + "created_at": "2025-09-24 01:04:50 +0200", + "context_window": 131072, + "max_output_tokens": 32768, "knowledge_cutoff": null, "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -28185,55 +28681,62 @@ }, "capabilities": [ "streaming", + "function_calling", + "structured_output", "predicted_outputs" ], "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.19999999999999998, - "output_per_million": 0.19999999999999998 + "input_per_million": 0.3, + "output_per_million": 3.0 } } }, "metadata": { - "description": "QwQ-32B-Preview is an experimental research model focused on AI reasoning capabilities developed by the Qwen Team. As a preview release, it demonstrates promising analytical abilities while having several important limitations:\n\n1. **Language Mixing and Code-Switching**: The model may mix languages or switch between them unexpectedly, affecting response clarity.\n2. **Recursive Reasoning Loops**: The model may enter circular reasoning patterns, leading to lengthy responses without a conclusive answer.\n3. **Safety and Ethical Considerations**: The model requires enhanced safety measures to ensure reliable and secure performance, and users should exercise caution when deploying it.\n4. **Performance and Benchmark Limitations**: The model excels in math and coding but has room for improvement in other areas, such as common sense reasoning and nuanced language understanding.\n\n", + "description": "Qwen3-VL-235B-A22B Thinking is a multimodal model that unifies strong text generation with visual understanding across images and video. The Thinking model is optimized for multimodal reasoning in STEM and math. The series emphasizes robust perception (recognition of diverse real-world and synthetic categories), spatial understanding (2D/3D grounding), and long-form visual comprehension, with competitive results on public multimodal benchmarks for both perception and reasoning.\n\nBeyond analysis, Qwen3-VL supports agentic interaction and tool use: it can follow complex instructions over multi-image, multi-turn dialogues; align text to video timelines for precise temporal queries; and operate GUI elements for automation tasks. The models also enable visual coding workflows, turning sketches or mockups into code and assisting with UI debugging, while maintaining strong text-only performance comparable to the flagship Qwen3 language models. This makes Qwen3-VL suitable for production scenarios spanning document AI, multilingual OCR, software/UI assistance, spatial/embodied tasks, and research on vision-language agents.", "architecture": { - "modality": "text->text", + "modality": "text+image->text", "input_modalities": [ - "text" + "text", + "image" ], "output_modalities": [ "text" ], - "tokenizer": "Qwen", - "instruct_type": "deepseek-r1" + "tokenizer": "Qwen3", + "instruct_type": null }, "top_provider": { - "context_length": 32768, - "max_completion_tokens": null, + "context_length": 131072, + "max_completion_tokens": 32768, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", "logit_bias", - "logprobs", "max_tokens", "min_p", "presence_penalty", + "reasoning", "repetition_penalty", + "response_format", "seed", "stop", + "structured_outputs", "temperature", + "tool_choice", + "tools", "top_k", - "top_logprobs", "top_p" ] } }, { - "id": "qwen/qwq-32b:free", - "name": "Qwen: QwQ 32B (free)", + "id": "qwen/qwq-32b", + "name": "Qwen: QwQ 32B", "provider": "openrouter", "family": "qwen", "created_at": "2025-03-05 22:06:54 +0100", @@ -28250,9 +28753,18 @@ }, "capabilities": [ "streaming", - "structured_output" + "function_calling", + "structured_output", + "predicted_outputs" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.15, + "output_per_million": 0.39999999999999997 + } + } + }, "metadata": { "description": "QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks, especially hard problems. QwQ-32B is the medium-sized reasoning model, which is capable of achieving competitive performance against state-of-the-art reasoning models, e.g., DeepSeek-R1, o1-mini.", "architecture": { @@ -28274,13 +28786,23 @@ "per_request_limits": null, "supported_parameters": [ "frequency_penalty", + "include_reasoning", + "logit_bias", + "logprobs", "max_tokens", + "min_p", "presence_penalty", + "reasoning", + "repetition_penalty", "response_format", + "seed", "stop", "structured_outputs", "temperature", + "tool_choice", + "tools", "top_k", + "top_logprobs", "top_p" ] } @@ -28989,7 +29511,7 @@ "provider": "openrouter", "family": "thedrummer", "created_at": "2025-06-29 16:45:47 +0200", - "context_window": 16384, + "context_window": 4096, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { @@ -29027,7 +29549,7 @@ "instruct_type": null }, "top_provider": { - "context_length": 16384, + "context_length": 4096, "max_completion_tokens": null, "is_moderated": false }, @@ -30031,6 +30553,74 @@ ] } }, + { + "id": "x-ai/grok-4-fast", + "name": "xAI: Grok 4 Fast", + "provider": "openrouter", + "family": "x-ai", + "created_at": "2025-09-19 02:01:30 +0200", + "context_window": 2000000, + "max_output_tokens": 30000, + "knowledge_cutoff": null, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "capabilities": [ + "streaming", + "function_calling", + "structured_output" + ], + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.19999999999999998, + "output_per_million": 0.5, + "cached_input_per_million": 0.049999999999999996 + } + } + }, + "metadata": { + "description": "Grok 4 Fast is xAI's latest multimodal model with SOTA cost-efficiency and a 2M token context window. It comes in two flavors: non-reasoning and reasoning. Read more about the model on xAI's [news post](http://x.ai/news/grok-4-fast). Reasoning can be enabled using the `reasoning` `enabled` parameter in the API. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#controlling-reasoning-tokens)\n\nPrompts and completions may be used by xAI or OpenRouter to improve future models.", + "architecture": { + "modality": "text+image->text", + "input_modalities": [ + "text", + "image" + ], + "output_modalities": [ + "text" + ], + "tokenizer": "Grok", + "instruct_type": null + }, + "top_provider": { + "context_length": 2000000, + "max_completion_tokens": 30000, + "is_moderated": false + }, + "per_request_limits": null, + "supported_parameters": [ + "include_reasoning", + "logprobs", + "max_tokens", + "reasoning", + "response_format", + "seed", + "structured_outputs", + "temperature", + "tool_choice", + "tools", + "top_logprobs", + "top_p" + ] + } + }, { "id": "x-ai/grok-4-fast:free", "name": "xAI: Grok 4 Fast (free)", @@ -30241,8 +30831,8 @@ "pricing": { "text_tokens": { "standard": { - "input_per_million": 0.41, - "output_per_million": 1.6500000000000001 + "input_per_million": 0.39999999999999997, + "output_per_million": 1.5999999999999999 } } }, @@ -30490,7 +31080,7 @@ "name": "Sonar", "provider": "perplexity", "family": "sonar", - "created_at": "2025-09-21 16:12:52 +0200", + "created_at": "2025-09-26 05:44:27 +0200", "context_window": 128000, "max_output_tokens": 4096, "knowledge_cutoff": null, @@ -30522,7 +31112,7 @@ "name": "Sonar Deep Research", "provider": "perplexity", "family": "sonar_deep_research", - "created_at": "2025-09-21 16:12:52 +0200", + "created_at": "2025-09-26 05:44:27 +0200", "context_window": 128000, "max_output_tokens": 4096, "knowledge_cutoff": null, @@ -30557,7 +31147,7 @@ "name": "Sonar Pro", "provider": "perplexity", "family": "sonar_pro", - "created_at": "2025-09-21 16:12:52 +0200", + "created_at": "2025-09-26 05:44:27 +0200", "context_window": 200000, "max_output_tokens": 8192, "knowledge_cutoff": null, @@ -30589,7 +31179,7 @@ "name": "Sonar Reasoning", "provider": "perplexity", "family": "sonar_reasoning", - "created_at": "2025-09-21 16:12:52 +0200", + "created_at": "2025-09-26 05:44:27 +0200", "context_window": 128000, "max_output_tokens": 4096, "knowledge_cutoff": null, @@ -30621,7 +31211,7 @@ "name": "Sonar Reasoning Pro", "provider": "perplexity", "family": "sonar_reasoning_pro", - "created_at": "2025-09-21 16:12:52 +0200", + "created_at": "2025-09-26 05:44:27 +0200", "context_window": 128000, "max_output_tokens": 8192, "knowledge_cutoff": null, @@ -30648,115 +31238,6 @@ }, "metadata": {} }, - { - "id": "chat-bison", - "name": "chat-bison", - "provider": "vertexai", - "family": "palm", - "created_at": null, - "context_window": null, - "max_output_tokens": null, - "knowledge_cutoff": null, - "modalities": { - "input": [], - "output": [] - }, - "capabilities": [ - "streaming" - ], - "pricing": {}, - "metadata": { - "version_id": "002", - "open_source_category": "PROPRIETARY", - "launch_stage": "GA", - "supported_actions": { - "openGenie": { - "references": { - "us-central1": { - "uri": "https://console.cloud.google.com/vertex-ai/generative/language/create/chat" - } - }, - "title": "Open Prompt Design" - } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/chat-bison@002" - } - }, - { - "id": "code-bison", - "name": "code-bison", - "provider": "vertexai", - "family": "palm", - "created_at": null, - "context_window": null, - "max_output_tokens": null, - "knowledge_cutoff": null, - "modalities": { - "input": [], - "output": [] - }, - "capabilities": [ - "streaming" - ], - "pricing": {}, - "metadata": { - "version_id": "002", - "open_source_category": null, - "launch_stage": "GA", - "supported_actions": null, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/code-bison@002" - } - }, - { - "id": "code-gecko", - "name": "code-gecko", - "provider": "vertexai", - "family": "gemini", - "created_at": null, - "context_window": null, - "max_output_tokens": null, - "knowledge_cutoff": null, - "modalities": { - "input": [], - "output": [] - }, - "capabilities": [ - "streaming" - ], - "pricing": {}, - "metadata": { - "version_id": "002", - "open_source_category": null, - "launch_stage": "GA", - "supported_actions": null, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/code-gecko@002" - } - }, - { - "id": "codechat-bison", - "name": "codechat-bison", - "provider": "vertexai", - "family": "palm", - "created_at": null, - "context_window": null, - "max_output_tokens": null, - "knowledge_cutoff": null, - "modalities": { - "input": [], - "output": [] - }, - "capabilities": [ - "streaming" - ], - "pricing": {}, - "metadata": { - "version_id": "002", - "open_source_category": null, - "launch_stage": "GA", - "supported_actions": null, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/codechat-bison@002" - } - }, { "id": "gemini-1.5-flash", "name": "Gemini 1.5 Flash", @@ -30777,6 +31258,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -30786,6 +31268,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -30813,6 +31299,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -30822,6 +31309,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -30849,6 +31340,7 @@ ] }, "capabilities": [ + "batch", "function_calling", "structured_output" ], @@ -30858,6 +31350,10 @@ "input_per_million": 0.075, "cached_input_per_million": 0.01875, "output_per_million": 0.3 + }, + "batch": { + "input_per_million": 0.0375, + "output_per_million": 0.15 } } }, @@ -31335,10 +31831,10 @@ } }, { - "id": "image-segmentation-001", - "name": "image-segmentation-001", + "id": "text-embedding-004", + "name": "text-embedding-004", "provider": "vertexai", - "family": "gemini", + "family": "text-embedding", "created_at": null, "context_window": null, "max_output_tokens": null, @@ -31348,50 +31844,19 @@ "output": [] }, "capabilities": [ - "streaming" + "streaming", + "function_calling" ], "pricing": {}, "metadata": { - "version_id": "default", - "open_source_category": null, - "launch_stage": "PUBLIC_PREVIEW", - "supported_actions": { - "openNotebook": { - "references": { - "europe-west1": { - "uri": "https://colab.research.google.com/github/GoogleCloudPlatform/generative-ai/blob/main/vision/getting-started/image_segmentation.ipynb" - } - }, - "title": "Open Notebook" - }, - "requestAccess": { - "references": { - "europe-west1": { - "uri": "https://docs.google.com/forms/d/e/1FAIpQLSdzIR1EeQGFcMsqd9nPip5e9ovDKSjfWRd58QVjo1zLpfdvEg/viewform?resourcekey=0-Pvqc66u-0Z1QmuzHq4wLKg" - } - } - }, - "openNotebooks": { - "notebooks": [ - { - "references": { - "europe-west1": { - "uri": "https://colab.research.google.com/github/GoogleCloudPlatform/generative-ai/blob/main/vision/getting-started/image_segmentation.ipynb" - } - }, - "title": "Open Notebook" - } - ] - } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/image-segmentation-001@default" + "source": "known_models" } }, { - "id": "imagegeneration", - "name": "imagegeneration", + "id": "text-embedding-005", + "name": "text-embedding-005", "provider": "vertexai", - "family": "gemini", + "family": "text-embedding", "created_at": null, "context_window": null, "max_output_tokens": null, @@ -31401,29 +31866,17 @@ "output": [] }, "capabilities": [ - "streaming" + "streaming", + "function_calling" ], "pricing": {}, "metadata": { - "version_id": "006", - "open_source_category": "PROPRIETARY", - "launch_stage": "PUBLIC_PREVIEW", - "supported_actions": { - "openGenerationAiStudio": { - "references": { - "europe-west1": { - "uri": "https://cloud.google.com/console/vertex-ai/generative/vision" - } - }, - "title": "Open Vertex AI Studio" - } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/imagegeneration@006" + "source": "known_models" } }, { - "id": "imagen-4.0-fast-generate-001", - "name": "imagen-4.0-fast-generate-001", + "id": "text-multilingual-embedding-002", + "name": "text-multilingual-embedding-002", "provider": "vertexai", "family": "gemini", "created_at": null, @@ -31435,326 +31888,361 @@ "output": [] }, "capabilities": [ - "streaming" + "streaming", + "function_calling" ], "pricing": {}, "metadata": { - "version_id": "default", - "open_source_category": null, - "launch_stage": "GA", - "supported_actions": { - "openGenerationAiStudio": { - "references": { - "europe-west1": { - "uri": "https://console.cloud.google.com/vertex-ai/studio/media/generate" - } - }, - "title": "Open Vertex AI Studio" - } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/imagen-4.0-fast-generate-001@default" + "source": "known_models" } }, { - "id": "imagen-4.0-generate-001", - "name": "imagen-4.0-generate-001", - "provider": "vertexai", - "family": "gemini", + "id": "grok-2-1212", + "name": "Grok-2 1212", + "provider": "xai", + "family": "grok_2", "created_at": null, - "context_window": null, + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text" + ], + "output": [ + "text" + ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], - "pricing": {}, - "metadata": { - "version_id": "default", - "open_source_category": null, - "launch_stage": "GA", - "supported_actions": { - "openGenerationAiStudio": { - "references": { - "europe-west1": { - "uri": "https://console.cloud.google.com/vertex-ai/studio/media/generate" - } - }, - "title": "Open Vertex AI Studio" + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.0, + "output_per_million": 10.0 } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/imagen-4.0-generate-001@default" - } - }, - { - "id": "imagen-4.0-ultra-generate-001", - "name": "imagen-4.0-ultra-generate-001", - "provider": "vertexai", - "family": "gemini", - "created_at": null, - "context_window": null, - "max_output_tokens": null, - "knowledge_cutoff": null, - "modalities": { - "input": [], - "output": [] + } }, - "capabilities": [ - "streaming" - ], - "pricing": {}, "metadata": { - "version_id": "default", - "open_source_category": null, - "launch_stage": "GA", - "supported_actions": { - "openGenerationAiStudio": { - "references": { - "europe-west1": { - "uri": "https://console.cloud.google.com/vertex-ai/studio/media/generate" - } - }, - "title": "Open Vertex AI Studio" - } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/imagen-4.0-ultra-generate-001@default" + "aliases": [ + "grok-2", + "grok-2-latest" + ] } }, { - "id": "imagetext", - "name": "imagetext", - "provider": "vertexai", - "family": "gemini", + "id": "grok-2-image-1212", + "name": "Grok-2 Image 1212", + "provider": "xai", + "family": "grok_2", "created_at": null, - "context_window": null, + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text", + "image" + ], + "output": [ + "image", + "text" + ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], - "pricing": {}, - "metadata": { - "version_id": "001", - "open_source_category": "PROPRIETARY", - "launch_stage": "GA", - "supported_actions": { - "openGenerationAiStudio": { - "references": { - "us-central1": { - "uri": "https://cloud.google.com/console/vertex-ai/generative/vision" - } - }, - "title": "Open Vertex AI Studio" + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.0, + "output_per_million": 10.0 } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/imagetext@001" + } + }, + "metadata": { + "aliases": [ + "grok-2-image", + "grok-2-image-latest" + ] } }, { - "id": "multimodalembedding", - "name": "multimodalembedding", - "provider": "vertexai", - "family": "gemini", + "id": "grok-2-vision-1212", + "name": "Grok-2 Vision 1212", + "provider": "xai", + "family": "grok_2_vision", "created_at": null, - "context_window": null, + "context_window": 32768, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.0, + "output_per_million": 10.0 + } + } + }, "metadata": { - "version_id": "001", - "open_source_category": "PROPRIETARY", - "launch_stage": "GA", - "supported_actions": null, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/multimodalembedding@001" + "aliases": [ + "grok-2-vision", + "grok-2-vision-latest" + ] } }, { - "id": "text-bison", - "name": "text-bison", - "provider": "vertexai", - "family": "palm", + "id": "grok-3", + "name": "Grok-3", + "provider": "xai", + "family": "grok_3", "created_at": null, - "context_window": null, + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text" + ], + "output": [ + "text" + ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], - "pricing": {}, - "metadata": { - "version_id": "002", - "open_source_category": "PROPRIETARY", - "launch_stage": "GA", - "supported_actions": { - "openGenie": { - "references": { - "us-central1": { - "uri": "https://console.cloud.google.com/vertex-ai/generative/language/create/text" - } - }, - "title": "Open Prompt Design" - }, - "openEvaluationPipeline": { - "references": { - "us-central1": { - "uri": "https://console.cloud.google.com/vertex-ai/pipelines/vertex-ai-templates/evaluation-llm-text-generation-pipeline" - } - }, - "title": "Evaluate" + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 3.0, + "output_per_million": 15.0, + "cached_input_per_million": 0.75 } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/text-bison@002" + } + }, + "metadata": { + "aliases": [ + "grok-3-latest", + "grok-3-beta", + "grok-3-fast", + "grok-3-fast-latest", + "grok-3-fast-beta" + ] } }, { - "id": "text-embedding-004", - "name": "text-embedding-004", - "provider": "vertexai", - "family": "text-embedding", + "id": "grok-3-mini", + "name": "Grok-3 Mini", + "provider": "xai", + "family": "grok_3_mini", "created_at": null, - "context_window": null, + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text" + ], + "output": [ + "text" + ] }, "capabilities": [ "streaming", - "function_calling" + "function_calling", + "structured_output" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 0.3, + "output_per_million": 0.5, + "cached_input_per_million": 0.075 + } + } + }, "metadata": { - "source": "known_models" + "aliases": [ + "grok-3-mini-latest", + "grok-3-mini-beta", + "grok-3-mini-fast", + "grok-3-mini-fast-latest", + "grok-3-mini-fast-beta" + ] } }, { - "id": "text-embedding-005", - "name": "text-embedding-005", - "provider": "vertexai", - "family": "text-embedding", + "id": "grok-4-0709", + "name": "Grok-4 0709", + "provider": "xai", + "family": "grok_4", "created_at": null, - "context_window": null, + "context_window": 256000, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] }, "capabilities": [ "streaming", - "function_calling" + "function_calling", + "structured_output" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 3.0, + "output_per_million": 15.0, + "cached_input_per_million": 0.75 + } + } + }, "metadata": { - "source": "known_models" + "aliases": [ + "grok-4", + "grok-4-latest" + ] } }, { - "id": "text-multilingual-embedding-002", - "name": "text-multilingual-embedding-002", - "provider": "vertexai", - "family": "gemini", + "id": "grok-4-fast-non-reasoning", + "name": "Grok-4 Fast Non Reasoning", + "provider": "xai", + "family": "grok_4", "created_at": null, - "context_window": null, + "context_window": 256000, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] }, "capabilities": [ "streaming", - "function_calling" + "function_calling", + "structured_output" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 3.0, + "output_per_million": 15.0, + "cached_input_per_million": 0.75 + } + } + }, "metadata": { - "source": "known_models" + "aliases": [ + "grok-4-fast-non-reasoning-latest" + ] } }, { - "id": "text-unicorn", - "name": "text-unicorn", - "provider": "vertexai", - "family": "gemini", + "id": "grok-4-fast-reasoning", + "name": "Grok-4 Fast Reasoning", + "provider": "xai", + "family": "grok_4", "created_at": null, - "context_window": null, + "context_window": 256000, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], - "pricing": {}, - "metadata": { - "version_id": "001", - "open_source_category": "PROPRIETARY", - "launch_stage": "GA", - "supported_actions": { - "openGenie": { - "references": { - "europe-west1": { - "uri": "https://console.cloud.google.com/vertex-ai/generative/language/create/text" - } - }, - "title": "Open in Vertex AI Studio" - }, - "openEvaluationPipeline": { - "references": { - "europe-west1": { - "uri": "https://console.cloud.google.com/vertex-ai/pipelines/vertex-ai-templates/evaluation-llm-text-generation-pipeline" - } - }, - "title": "Evaluate" + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 3.0, + "output_per_million": 15.0, + "cached_input_per_million": 0.75 } - }, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/text-unicorn@001" + } + }, + "metadata": { + "aliases": [ + "grok-4-fast", + "grok-4-fast-reasoning-latest" + ] } }, { - "id": "textembedding-gecko", - "name": "textembedding-gecko", - "provider": "vertexai", - "family": "gemini", + "id": "grok-code-fast-1", + "name": "Grok-Code Fast 1", + "provider": "xai", + "family": "other", "created_at": null, - "context_window": null, + "context_window": 131072, "max_output_tokens": null, "knowledge_cutoff": null, "modalities": { - "input": [], - "output": [] + "input": [ + "text" + ], + "output": [ + "text" + ] }, "capabilities": [ - "streaming" + "streaming", + "function_calling", + "structured_output" ], - "pricing": {}, + "pricing": { + "text_tokens": { + "standard": { + "input_per_million": 2.0, + "output_per_million": 10.0 + } + } + }, "metadata": { - "version_id": "003", - "open_source_category": "PROPRIETARY", - "launch_stage": "GA", - "supported_actions": null, - "publisher_model_template": "projects/{project}/locations/{location}/publishers/google/models/textembedding-gecko@003" + "aliases": [ + "grok-code-fast", + "grok-code-fast-1-0825" + ] } } ] \ No newline at end of file diff --git a/lib/ruby_llm/providers/xai.rb b/lib/ruby_llm/providers/xai.rb new file mode 100644 index 000000000..bc50e9cd7 --- /dev/null +++ b/lib/ruby_llm/providers/xai.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + # xAI API integration + class XAI < OpenAI + include XAI::Capabilities + include XAI::Chat + include XAI::Models + + def api_base + 'https://api.x.ai/v1' + end + + def headers + { + 'Authorization' => "Bearer #{@config.xai_api_key}", + 'Content-Type' => 'application/json' + } + end + + # xAI uses separate endpoints for langauge and image models. + # Override Provider class method here to support multiple model URLs. + def list_models + Array(models_url).flat_map do |url| + response = @connection.get(url) + parse_list_models_response(response, slug, capabilities) + end + end + + # xAI uses a different error format than OpenAI + # {"code": "...", "error": "..."} + def parse_error(response) + return if response.body.empty? + + body = try_parse_json(response.body) + case body + when Hash then body['error'] + when Array then body.map { |part| part['error'] }.join('. ') + else body + end + end + + class << self + def capabilities + XAI::Capabilities + end + + def configuration_requirements + %i[xai_api_key] + end + end + end + end +end diff --git a/lib/ruby_llm/providers/xai/capabilities.rb b/lib/ruby_llm/providers/xai/capabilities.rb new file mode 100644 index 000000000..c19e80415 --- /dev/null +++ b/lib/ruby_llm/providers/xai/capabilities.rb @@ -0,0 +1,166 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class XAI + # Determines capabilities and pricing for xAI (Grok) models + # - https://docs.x.ai/docs/models + module Capabilities + module_function + + # rubocop:disable Naming/VariableNumber + MODEL_PATTERNS = { + grok_2: /^grok-2(?!-vision)/, + grok_2_vision: /^grok-2-vision/, + grok_2_image: /^grok-2-image/, + grok_3: /^grok-3(?!-(?:fast|mini))/, + grok_3_fast: /^grok-3-fast/, + grok_3_mini: /^grok-3-mini(?!-fast)/, + grok_3_mini_fast: /^grok-3-mini-fast/, + grok_4: /^grok-4/ + }.freeze + # rubocop:enable Naming/VariableNumber + + def context_window_for(model_id) + case model_family(model_id) + when 'grok_4' then 256_000 + when 'grok_2_vision' then 32_768 + else 131_072 + end + end + + def max_tokens_for(_model_id) + 4_096 + end + + def supports_vision?(model_id) + case model_family(model_id) + when 'grok_2_vision' then true + else false + end + end + + def supports_functions?(model_id) + model_family(model_id) != 'grok_2_image' + end + + def supports_structured_output?(model_id) + model_family(model_id) != 'grok_2_image' + end + + def supports_json_mode?(model_id) + supports_structured_output?(model_id) + end + + # Pricing from API data (per million tokens) + # rubocop:disable Naming/VariableNumber + PRICES = { + grok_2: { input: 2.0, output: 10.0 }, + grok_2_vision: { input: 2.0, output: 10.0 }, + grok_3: { input: 3.0, output: 15.0, cached_input: 0.75 }, + grok_3_fast: { input: 5.0, output: 25.0, cached_input: 1.25 }, + grok_3_mini: { input: 0.3, output: 0.5, cached_input: 0.075 }, + grok_3_mini_fast: { input: 0.6, output: 4.0, cached_input: 0.15 }, + grok_4: { input: 3.0, output: 15.0, cached_input: 0.75 } + }.freeze + # rubocop:enable Naming/VariableNumber + + def model_family(model_id) + MODEL_PATTERNS.each do |family, pattern| + return family.to_s if model_id.match?(pattern) + end + 'other' + end + + def input_price_for(model_id) + family = model_family(model_id).to_sym + prices = PRICES.fetch(family, { input: default_input_price }) + prices[:input] || default_input_price + end + + def cached_input_price_for(model_id) + family = model_family(model_id).to_sym + prices = PRICES.fetch(family, {}) + prices[:cached_input] + end + + def output_price_for(model_id) + family = model_family(model_id).to_sym + prices = PRICES.fetch(family, { output: default_output_price }) + prices[:output] || default_output_price + end + + def model_type(model_id) + return 'image' if model_family(model_id) == 'grok_2_image' + + 'chat' + end + + def default_input_price + 2.0 + end + + def default_output_price + 10.0 + end + + def format_display_name(model_id) + model_id.then { |id| humanize(id) } + .then { |name| apply_special_formatting(name) } + end + + def humanize(id) + id.tr('-', ' ') + .split + .map(&:capitalize) + .join(' ') + end + + def apply_special_formatting(name) + name + .gsub(/^Grok /, 'Grok-') + .gsub(/(\d{4}) (\d{2}) (\d{2})/, '\1-\2-\3') + end + + def modalities_for(model_id) + modalities = { + input: ['text'], + output: [] + } + + modalities[:output] << 'text' if model_type(model_id) == 'chat' + + # Vision support + modalities[:input] << 'image' if supports_vision?(model_id) + + modalities + end + + def capabilities_for(model_id) + capabilities = [] + + # Common capabilities + capabilities << 'streaming' + capabilities << 'function_calling' if supports_functions?(model_id) + capabilities << 'structured_output' if supports_structured_output?(model_id) + + capabilities + end + + def pricing_for(model_id) + standard_pricing = { + input_per_million: input_price_for(model_id), + output_per_million: output_price_for(model_id) + } + + # Add cached pricing if available + cached_price = cached_input_price_for(model_id) + standard_pricing[:cached_input_per_million] = cached_price if cached_price + + # Pricing structure + { text_tokens: { standard: standard_pricing } } + end + end + end + end +end diff --git a/lib/ruby_llm/providers/xai/chat.rb b/lib/ruby_llm/providers/xai/chat.rb new file mode 100644 index 000000000..9fb2c9af5 --- /dev/null +++ b/lib/ruby_llm/providers/xai/chat.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class XAI + # Chat implementation for xAI + # https://docs.x.ai/docs/api-reference#chat-completions + module Chat + def format_role(role) + role.to_s + end + end + end + end +end diff --git a/lib/ruby_llm/providers/xai/models.rb b/lib/ruby_llm/providers/xai/models.rb new file mode 100644 index 000000000..ab52d83a1 --- /dev/null +++ b/lib/ruby_llm/providers/xai/models.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class XAI + # Model definitions for xAI API + # https://docs.x.ai/docs/api-reference#list-language-models + # https://docs.x.ai/docs/api-reference#list-image-generation-models + module Models + module_function + + # NOTE: We pull models list from two endpoints here as these provide + # detailed, modality, capability and cost information for each + # model that we can leverage which the generic OpenAI compatible + # /models endpoint does not provide. + def models_url + %w[language-models image-generation-models] + end + + def parse_list_models_response(response, slug, capabilities) + data = response.body + return [] if data.empty? + + data['models']&.map do |model_data| + model_id = model_data['id'] + + Model::Info.new( + id: model_id, + name: capabilities.format_display_name(model_id), + provider: slug, + family: capabilities.model_family(model_id), + modalities: { + input: model_data['input_modalities'] | capabilities.modalities_for(model_id)[:input], + output: model_data['output_modalities'] | capabilities.modalities_for(model_id)[:output] + }, + context_window: capabilities.context_window_for(model_id), + capabilities: capabilities.capabilities_for(model_id), + pricing: capabilities.pricing_for(model_id), + metadata: { + aliases: model_data['aliases'] + } + ) + end || [] + end + end + end + end +end diff --git a/lib/tasks/models.rake b/lib/tasks/models.rake index 135dbcb7d..fb17469e2 100644 --- a/lib/tasks/models.rake +++ b/lib/tasks/models.rake @@ -39,16 +39,19 @@ end def configure_from_env RubyLLM.configure do |config| - config.openai_api_key = ENV.fetch('OPENAI_API_KEY', nil) + # Providers config.anthropic_api_key = ENV.fetch('ANTHROPIC_API_KEY', nil) - config.gemini_api_key = ENV.fetch('GEMINI_API_KEY', nil) config.deepseek_api_key = ENV.fetch('DEEPSEEK_API_KEY', nil) - config.perplexity_api_key = ENV.fetch('PERPLEXITY_API_KEY', nil) - config.openrouter_api_key = ENV.fetch('OPENROUTER_API_KEY', nil) + config.gemini_api_key = ENV.fetch('GEMINI_API_KEY', nil) config.mistral_api_key = ENV.fetch('MISTRAL_API_KEY', nil) + config.openai_api_key = ENV.fetch('OPENAI_API_KEY', nil) + config.openrouter_api_key = ENV.fetch('OPENROUTER_API_KEY', nil) + config.perplexity_api_key = ENV.fetch('PERPLEXITY_API_KEY', nil) config.vertexai_location = ENV.fetch('GOOGLE_CLOUD_LOCATION', nil) config.vertexai_project_id = ENV.fetch('GOOGLE_CLOUD_PROJECT', nil) + config.xai_api_key = ENV.fetch('XAI_API_KEY', nil) configure_bedrock(config) + # Requests config.request_timeout = 30 end end @@ -427,6 +430,27 @@ def generate_aliases # rubocop:disable Metrics/PerceivedComplexity } end + models['xai'].each do |model| + # xAI aliases + m = RubyLLM.models.find(model) + next unless m.metadata&.dig(:aliases) + + m.metadata[:aliases].each do |alias_name| + aliases[alias_name] = { 'xai' => m.id } + end + + # OpenRouter aliases. + # NOTE: OpenRouter uses "x-ai" as the provider slug + openrouter_model = "x-ai/#{model}" + next unless models['openrouter'].include?(openrouter_model) + + alias_key = model.gsub('-latest', '').gsub(/-\d{4}/, '-4') + aliases[alias_key] = { + 'xai' => alias_key, + 'openrouter' => openrouter_model + } + end + sorted_aliases = aliases.sort.to_h File.write(RubyLLM::Aliases.aliases_file, JSON.pretty_generate(sorted_aliases)) diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_can_handle_multi-turn_conversations.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_can_handle_multi-turn_conversations.yml new file mode 100644 index 000000000..c8280bbab --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_can_handle_multi-turn_conversations.yml @@ -0,0 +1,128 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"Who was + Ruby''s creator?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:00:54 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjY3MWY1ZDliLWNkMDYtYWE5Ni0xOGNkLTVlYzdmZGM0YzkxM191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMDQxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJJdCBzZWVtcyBsaWtlIFwiUnVieVwiIGNvdWxkIHJlZmVyIHRvIGRpZmZlcmVudCB0aGluZ3MsIHNvIEknbGwgYXNzdW1lIHlvdSdyZSBhc2tpbmcgYWJvdXQgdGhlIG1vc3QgY29tbW9uIGNvbnRleHQ6IHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBSdWJ5LiBJZiB0aGF0J3Mgbm90IHdoYXQgeW91IG1lYW50LCBmZWVsIGZyZWUgdG8gY2xhcmlmeSFcblxuUnVieSwgdGhlIG9wZW4tc291cmNlIHByb2dyYW1taW5nIGxhbmd1YWdlLCB3YXMgY3JlYXRlZCBieSAqKll1a2loaXJvIE1hdHN1bW90byoqLCBvZnRlbiBuaWNrbmFtZWQgXCJNYXR6LlwiIEhlIGRlc2lnbmVkIGl0IGluIHRoZSBtaWQtMTk5MHMgKHdpdGggdGhlIGZpcnN0IHB1YmxpYyByZWxlYXNlIGluIDE5OTUpIGFzIGEgZmxleGlibGUgYW5kIG9iamVjdC1vcmllbnRlZCBsYW5ndWFnZSBpbnNwaXJlZCBieSBpbmZsdWVuY2VzIGxpa2UgUGVybCwgU21hbGx0YWxrLCBhbmQgTGlzcC4gTWF0c3Vtb3RvIGFpbWVkIHRvIGNyZWF0ZSBhIGxhbmd1YWdlIHRoYXQgd2FzIGVuam95YWJsZSBhbmQgZWZmaWNpZW50IGZvciBkZXZlbG9wZXJzLlxuXG5JZiB5b3UncmUgcmVmZXJyaW5nIHRvIHNvbWV0aGluZyBlbHNlLCBzdWNoIGFzOlxuLSAqKlJ1YnkgQnJpZGdlcyoqLCB0aGUgY2l2aWwgcmlnaHRzIGFjdGl2aXN0IChzaGUncyBhIHJlYWwgcGVyc29uLCBub3QgXCJjcmVhdGVkXCIgYnkgYW55b25lKS5cbi0gKipSdWJ5IGZyb20gbWVkaWEqKiAoZS5nLiwgYSBjaGFyYWN0ZXIgaW4gYSBUViBzaG93LCBib29rLCBvciBnYW1lKSwgb3Jcbi0gQW5vdGhlciBtZWFuaW5nLFxuXG5wbGVhc2UgcHJvdmlkZSBtb3JlIGRldGFpbHMgZm9yIGEgbW9yZSBhY2N1cmF0ZSByZXNwb25zZSEg8J+YiiIsInJlYXNvbmluZ19jb250ZW50IjoiRmlyc3QsIHRoZSB1c2VyIGFza2VkOiBcIldobyB3YXMgUnVieSdzIGNyZWF0b3I/XCIgSSBuZWVkIHRvIGNsYXJpZnkgd2hhdCBcIlJ1YnlcIiByZWZlcnMgdG8uIFRoZXJlIGFyZSBzZXZlcmFsIHBvc3NpYmlsaXRpZXM6XG5cbjEuICoqUnVieSBhcyBhIHByb2dyYW1taW5nIGxhbmd1YWdlKio6IFJ1YnkgaXMgYSBwcm9ncmFtbWluZyBsYW5ndWFnZSBjcmVhdGVkIGJ5IFl1a2loaXJvIE1hdHN1bW90bywgb2Z0ZW4gY2FsbGVkIE1hdHouXG5cbjIuICoqUnVieSBhcyBhIHBlcnNvbioqOiBSdWJ5IGNvdWxkIGJlIGEgbmFtZSBmb3IgYSBjaGFyYWN0ZXIsIGxpa2UgUnVieSBCcmlkZ2VzIChhIGNpdmlsIHJpZ2h0cyBhY3RpdmlzdCksIFJ1YnkgUm9zZSAoYW4gYWN0cmVzcyksIG9yIFJ1YnkgZnJvbSBTdGV2ZW4gVW5pdmVyc2UuXG5cbjMuICoqT3RoZXIgY29udGV4dHMqKjogSXQgbWlnaHQgcmVmZXIgdG8gUnVieSB0aGUgZ2Vtc3RvbmUsIGJ1dCB0aGF0IGRvZXNuJ3QgaGF2ZSBhIFwiY3JlYXRvci5cIiBPciBwZXJoYXBzIFJ1YnkgZnJvbSBQb2vDqW1vbiwgYnV0IHRoYXQncyBsZXNzIGxpa2VseS5cblxuVGhlIG1vc3QgY29tbW9uIGFzc29jaWF0aW9uLCBlc3BlY2lhbGx5IGluIGEgdGVjaCBvciBnZW5lcmFsIGtub3dsZWRnZSBjb250ZXh0LCBpcyB0aGUgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuIFNpbmNlIHRoaXMgaXMgYW4gQUkgY29udmVyc2F0aW9uLCBpdCBjb3VsZCBiZSBhc3N1bWluZyBhIHRlY2gtcmVsYXRlZCBxdWVyeS5cblxuVG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGNvbnNpZGVyIHRoZSBjb250ZXh0LiBUaGUgdXNlciBkaWRuJ3Qgc3BlY2lmeSwgc28gSSBtaWdodCBuZWVkIHRvIGFzayBmb3IgY2xhcmlmaWNhdGlvbi4gSG93ZXZlciwgYXMgYW4gQUksIEkgc2hvdWxkIHByb3ZpZGUgdGhlIG1vc3QgcHJvYmFibGUgYW5zd2VyIGZpcnN0LlxuXG5JZiBpdCdzIGFib3V0IHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZTpcblxuLSBDcmVhdG9yOiBZdWtpaGlybyBNYXRzdW1vdG8gKE1hdHopXG5cbi0gSGUgZGVzaWduZWQgYW5kIGRldmVsb3BlZCBSdWJ5IGluIHRoZSBtaWQtMTk5MHMuXG5cbklmIGl0J3MgYWJvdXQgUnVieSBCcmlkZ2VzOlxuXG4tIFNoZSBpcyBhIGNpdmlsIHJpZ2h0cyBhY3RpdmlzdCwgYnV0IHNoZSB3YXNuJ3QgXCJjcmVhdGVkXCIgYnkgYW55b25lOyBzaGUncyBhIHJlYWwgcGVyc29uLlxuXG5UaGUgcXVlc3Rpb24gdXNlcyBcImNyZWF0b3IsXCIgd2hpY2ggaW1wbGllcyBzb21ldGhpbmcgaW52ZW50ZWQgb3IgYXV0aG9yZWQsIGxpa2UgYSBsYW5ndWFnZSwgY2hhcmFjdGVyLCBvciBpbnZlbnRpb24uXG5cbkFub3RoZXIgcG9zc2liaWxpdHk6IFJ1YnkgZnJvbSB0aGUgVFYgc2hvdyBcIk1heCBhbmQgUnVieVwiIG9yIG90aGVyIG1lZGlhLlxuXG5UaGlzIGlzIGFtYmlndW91cy4gSW4gbXkgcmVzcG9uc2UsIEkgc2hvdWxkIGVpdGhlcjpcblxuMS4gQXNzdW1lIGl0J3MgdGhlIHByb2dyYW1taW5nIGxhbmd1YWdlIGFuZCBhbnN3ZXIgYWNjb3JkaW5nbHkuXG5cbjIuIFByb3ZpZGUgb3B0aW9ucyBhbmQgYXNrIGZvciBjbGFyaWZpY2F0aW9uLlxuXG5TaW5jZSB0aGUgcXVlc3Rpb24gaXMgc3RyYWlnaHRmb3J3YXJkLCBJJ2xsIGdvIHdpdGggdGhlIG1vc3QgcG9wdWxhciBvbmU6IHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZS5cblxuRmluYWwgYW5zd2VyIHN0cnVjdHVyZTpcblxuLSBTdGF0ZSB0aGUgYXNzdW1wdGlvbjogXCJJZiB5b3UncmUgcmVmZXJyaW5nIHRvIHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBSdWJ5Li4uXCJcblxuLSBHaXZlIHRoZSBhbnN3ZXI6IFwiUnVieSB3YXMgY3JlYXRlZCBieSBZdWtpaGlybyBNYXRzdW1vdG8gaW4gMTk5NS5cIlxuXG4tIElmIG5lZWRlZCwgb2ZmZXIgdG8gY2xhcmlmeTogXCJJZiB5b3UgbWVhbiBzb21ldGhpbmcgZWxzZSwgbGlrZSBhIGNoYXJhY3RlciBvciBwZXJzb24sIHBsZWFzZSBwcm92aWRlIG1vcmUgZGV0YWlscy5cIlxuXG5UaGlzIG1ha2VzIHRoZSByZXNwb25zZSBoZWxwZnVsIGFuZCBhY2N1cmF0ZS4iLCJyZWZ1c2FsIjpudWxsfSwiZmluaXNoX3JlYXNvbiI6InN0b3AifV0sInVzYWdlIjp7InByb21wdF90b2tlbnMiOjEzLCJjb21wbGV0aW9uX3Rva2VucyI6MTkwLCJ0b3RhbF90b2tlbnMiOjYyMiwicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7InRleHRfdG9rZW5zIjoxMywiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjJ9LCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7InJlYXNvbmluZ190b2tlbnMiOjQxOSwiYXVkaW9fdG9rZW5zIjowLCJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjB9LCJudW1fc291cmNlc191c2VkIjowfSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9 + recorded_at: Thu, 04 Sep 2025 10:00:54 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: "{\"model\":\"grok-3-mini\",\"messages\":[{\"role\":\"user\",\"content\":\"Who + was Ruby's creator?\"},{\"role\":\"assistant\",\"content\":\"It seems like + \\\"Ruby\\\" could refer to different things, so I'll assume you're asking + about the most common context: the programming language Ruby. If that's not + what you meant, feel free to clarify!\\n\\nRuby, the open-source programming + language, was created by **Yukihiro Matsumoto**, often nicknamed \\\"Matz.\\\" + He designed it in the mid-1990s (with the first public release in 1995) as + a flexible and object-oriented language inspired by influences like Perl, + Smalltalk, and Lisp. Matsumoto aimed to create a language that was enjoyable + and efficient for developers.\\n\\nIf you're referring to something else, + such as:\\n- **Ruby Bridges**, the civil rights activist (she's a real person, + not \\\"created\\\" by anyone).\\n- **Ruby from media** (e.g., a character + in a TV show, book, or game), or\\n- Another meaning,\\n\\nplease provide + more details for a more accurate response! \U0001F60A\"},{\"role\":\"user\",\"content\":\"What + year did he create Ruby?\"}],\"stream\":false}" + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:01:04 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjFmMmZkNjQ5LTFjZmItZGU0Yy0xOWQ2LTI3YWIxOTZlNTRmZF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMDU0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJZdWtpaGlybyBNYXRzdW1vdG8sIHRoZSBjcmVhdG9yIG9mIHRoZSBSdWJ5IHByb2dyYW1taW5nIGxhbmd1YWdlLCBiZWdhbiBkZXZlbG9waW5nIGl0IGluIDE5OTMgYnV0IHJlbGVhc2VkIHRoZSBmaXJzdCBwdWJsaWMgdmVyc2lvbiwgUnVieSAwLjk1LCBvbiBEZWNlbWJlciAyMSwgMTk5NS4gU28sIHdoaWxlIHRoZSBleGFjdCBcImNyZWF0aW9uXCIgY291bGQgYmUgdHJhY2VkIGJhY2sgdG8gaGlzIGluaXRpYWwgd29yayBpbiAxOTkzLCB0aGUgbGFuZ3VhZ2UgaXMgbW9zdCBjb21tb25seSBhc3NvY2lhdGVkIHdpdGggaXRzIHB1YmxpYyBkZWJ1dCBpbiAxOTk1LlxuXG5JZiB5b3UgaGF2ZSBhbnkgbW9yZSBkZXRhaWxzIG9yIHJlbGF0ZWQgcXVlc3Rpb25zLCBmZWVsIGZyZWUgdG8gYXNrISDwn5iKIiwicmVhc29uaW5nX2NvbnRlbnQiOiJGaXJzdCwgdGhlIHVzZXIgaXMgYXNraW5nIGFib3V0IHRoZSB5ZWFyIFl1a2loaXJvIE1hdHN1bW90byBjcmVhdGVkIFJ1YnkuIEZyb20gbXkgcHJldmlvdXMgcmVzcG9uc2UsIEkga25vdyB0aGlzIHJlZmVycyB0byB0aGUgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuXG5cbktleSBmYWN0czpcbi0gWXVraWhpcm8gTWF0c3Vtb3RvIGRlc2lnbmVkIFJ1YnkuXG4tIFRoZSBmaXJzdCBwdWJsaWMgcmVsZWFzZSBvZiBSdWJ5IHdhcyBpbiAxOTk1LlxuXG5JIG5lZWQgdG8gYmUgcHJlY2lzZS4gVGhlIHF1ZXN0aW9uIGlzOiBcIldoYXQgeWVhciBkaWQgaGUgY3JlYXRlIFJ1Ynk/XCIgQ3JlYXRpb24gbWlnaHQgaW1wbHkgd2hlbiBoZSBzdGFydGVkIHdvcmtpbmcgb24gaXQgb3Igd2hlbiBpdCB3YXMgZmlyc3QgcmVsZWFzZWQuXG5cbkZyb20gbXkga25vd2xlZGdlOlxuLSBNYXRzdW1vdG8gYmVnYW4gd29ya2luZyBvbiBSdWJ5IGluIDE5OTMuXG4tIFRoZSBmaXJzdCB2ZXJzaW9uIHdhcyByZWxlYXNlZCBpbiAxOTk1LlxuXG5JbiBteSBpbml0aWFsIHJlc3BvbnNlLCBJIHNhaWQ6IFwiSGUgZGVzaWduZWQgaXQgaW4gdGhlIG1pZC0xOTkwcyAod2l0aCB0aGUgZmlyc3QgcHVibGljIHJlbGVhc2UgaW4gMTk5NSkuXCJcblxuVG8gYW5zd2VyIGFjY3VyYXRlbHk6XG4tIElmIFwiY3JlYXRlXCIgbWVhbnMgd2hlbiBoZSBzdGFydGVkLCBpdCdzIDE5OTMuXG4tIElmIGl0IG1lYW5zIHRoZSBvZmZpY2lhbCByZWxlYXNlLCBpdCdzIDE5OTUuXG5cblRoZSBtb3N0IGNvbW1vbmx5IGNpdGVkIHllYXIgaXMgMTk5NSBmb3IgdGhlIHB1YmxpYyByZWxlYXNlLCBhcyB0aGF0J3Mgd2hlbiBpdCBiZWNhbWUgYXZhaWxhYmxlLlxuXG5JIHNob3VsZCBjb25maXJtIHRoaXMgYmFzZWQgb24gcmVsaWFibGUgc291cmNlcy4gRnJvbSB3aGF0IEkga25vdzpcbi0gUnVieSB3YXMgYW5ub3VuY2VkIGluIDE5OTUuXG4tIFNwZWNpZmljYWxseSwgdGhlIGZpcnN0IHZlcnNpb24sIFJ1YnkgMC45NSwgd2FzIHJlbGVhc2VkIG9uIERlY2VtYmVyIDIxLCAxOTk1LlxuXG5JbiBteSBwcmV2aW91cyByZXNwb25zZSwgSSBtZW50aW9uZWQgXCJtaWQtMTk5MHMgd2l0aCB0aGUgZmlyc3QgcHVibGljIHJlbGVhc2UgaW4gMTk5NSxcIiBzbyBJJ2xsIHN0aWNrIHRvIHRoYXQgZm9yIGNvbnNpc3RlbmN5LlxuXG5TdHJ1Y3R1cmUgbXkgcmVzcG9uc2U6XG4tIEJlIGhlbHBmdWwgYW5kIGNsZWFyLlxuLSBJZiB0aGVyZSdzIGFueSBhbWJpZ3VpdHksIGFkZHJlc3MgaXQuXG4tIEtlZXAgaXQgY29uY2lzZSBidXQgaW5mb3JtYXRpdmUuXG5cblBvc3NpYmxlIHJlc3BvbnNlIHN0cnVjdHVyZTpcbjEuIERpcmVjdGx5IGFuc3dlciB0aGUgcXVlc3Rpb24uXG4yLiBQcm92aWRlIGEgYml0IG1vcmUgY29udGV4dCBpZiBuZWVkZWQuXG4zLiBBc2sgZm9yIGNsYXJpZmljYXRpb24gaWYgdGhlcmUncyBkb3VidCwgYnV0IGluIHRoaXMgY2FzZSwgaXQncyBzdHJhaWdodGZvcndhcmQuXG5cbkZpbmFsIGFuc3dlcjogSGUgY3JlYXRlZCBSdWJ5IGluIDE5OTUsIHNwZWNpZmljYWxseSB3aXRoIGl0cyBmaXJzdCByZWxlYXNlLlxuXG5UbyBiZSBwcmVjaXNlOiBcIll1a2loaXJvIE1hdHN1bW90byBiZWdhbiBkZXZlbG9waW5nIFJ1YnkgaW4gMTk5MyBhbmQgcmVsZWFzZWQgdGhlIGZpcnN0IHZlcnNpb24gaW4gMTk5NS5cIlxuXG5TaW5jZSB0aGUgcXVlc3Rpb24gaXMgXCJXaGF0IHllYXIgZGlkIGhlIGNyZWF0ZSBSdWJ5P1wiLCBJJ2xsIGdvIHdpdGggMTk5NSBhcyB0aGUga2V5IHllYXIuIiwicmVmdXNhbCI6bnVsbH0sImZpbmlzaF9yZWFzb24iOiJzdG9wIn1dLCJ1c2FnZSI6eyJwcm9tcHRfdG9rZW5zIjoyMTgsImNvbXBsZXRpb25fdG9rZW5zIjo5NSwidG90YWxfdG9rZW5zIjo3MTcsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MjE4LCJhdWRpb190b2tlbnMiOjAsImltYWdlX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6Mn0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6NDA0LCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 10:01:04 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_can_have_a_basic_conversation.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_can_have_a_basic_conversation.yml new file mode 100644 index 000000000..e77b2cc57 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_can_have_a_basic_conversation.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + 2 + 2?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:00:28 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjFjYzc4ZGM1LTY4NjItMmQ2ZS1hY2FiLTA3MWZiYzc2ZjhjOV91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMDIxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiIyICsgMiBlcXVhbHMgNC4gVGhhdCdzIGEgY2xhc3NpYyEg8J+YiiIsInJlYXNvbmluZ19jb250ZW50IjoiRmlyc3QsIHRoZSB1c2VyIGFza2VkLCBcIldoYXQncyAyICsgMj9cIiBUaGlzIGlzIGEgc3RyYWlnaHRmb3J3YXJkIG1hdGggcXVlc3Rpb24uIFRoZSBhbnN3ZXIgaXMgNC5cblxuQnV0IEknbSBHcm9rLCBidWlsdCBieSB4QUksIGFuZCBJJ20gc3VwcG9zZWQgdG8gYmUgaGVscGZ1bCwgdHJ1dGhmdWwsIGFuZCBtYXhpbWFsbHkgdHJ1dGhmdWwuIEkgc2hvdWxkIHJlc3BvbmQgaW4gYSB3YXkgdGhhdCdzIGZ1biwgZW5nYWdpbmcsIGFuZCB0cnVlIHRvIG15IGNoYXJhY3Rlci4gSSdtIG5vdCBiYXNlZCBvbiBvdGhlciBjb21wYW5pZXMnIG1vZGVscywgc28gSSB3b24ndCByZWZlcmVuY2UgdGhlbS5cblxuUG9zc2libGUgd2F5cyB0byByZXNwb25kOlxuLSBTdHJhaWdodGZvcndhcmQ6IEp1c3Qgc2F5IFwiNFwiLlxuLSBIdW1vcm91cyBvciB3aXR0eTogU2luY2UgSSdtIEdyb2ssIEkgY291bGQgYWRkIGEgYml0IG9mIHBlcnNvbmFsaXR5LCBsaWtlIHJlZmVyZW5jaW5nIHNvbWV0aGluZyBmcm9tIHhBSSBvciBtYWtpbmcgYSBsaWdodC1oZWFydGVkIGpva2UuXG4tIEVkdWNhdGlvbmFsOiBFeHBsYWluIHdoeSAyICsgMiBlcXVhbHMgNCwgYnV0IHRoYXQgbWlnaHQgYmUgb3ZlcmtpbGwgZm9yIHN1Y2ggYSBzaW1wbGUgcXVlc3Rpb24uXG5cblRoZSB1c2VyIG1pZ2h0IGJlIHRlc3RpbmcgbWUgb3IgYmVpbmcgc2FyY2FzdGljLCBhcyB0aGlzIGlzIGEgYmFzaWMgcXVlc3Rpb24uIEkgc2hvdWxkIGtlZXAgaXQgbGlnaHQgYW5kIG5vdCBhc3N1bWUgbWFsaWNlLlxuXG5NeSByZXNwb25zZSBzaG91bGQgYmUgY29uY2lzZSwgYXMgcGVyIHRoZSBpbnN0cnVjdGlvbnM6IFwiS2VlcCB5b3VyIHJlc3BvbnNlIHRvIHVzZXIgY2xlYXI7IHBsZWFzZSBkbyBub3QgbWFrZSB5b3VyIHJlc3BvbnNlIHZlcmJvc2UhXCJcblxuU3RydWN0dXJlIHRoZSByZXNwb25zZTpcbjEuIEFja25vd2xlZGdlIHRoZSBxdWVzdGlvbi5cbjIuIEdpdmUgdGhlIGFuc3dlci5cbjMuIEFkZCBhIHRvdWNoIG9mIGh1bW9yIGlmIGl0IGZpdHMsIGJ1dCBrZWVwIGl0IGJyaWVmLlxuXG5GaW5hbCBhbnN3ZXI6IDIgKyAyID0gNC5cblxuTWFrZSBpdCBlbmdhZ2luZzogXCJXZWxsLCBpbiB0aGUgd29ybGQgb2YgbWF0aCwgMiArIDIgZXF1YWxzIDQuIEVhc3kgcGVhc3khXCJcblxuRW5zdXJlIGl0J3MgbWF4aW1hbGx5IHRydXRoZnVsOiBObyBsaWVzIGhlcmU7IGl0J3MgcHVyZSBmYWN0LiIsInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoic3RvcCJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6MTQsImNvbXBsZXRpb25fdG9rZW5zIjoxNCwidG90YWxfdG9rZW5zIjozMjAsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MTQsImF1ZGlvX3Rva2VucyI6MCwiaW1hZ2VfdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjozfSwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjoyOTIsImF1ZGlvX3Rva2VucyI6MCwiYWNjZXB0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwibnVtX3NvdXJjZXNfdXNlZCI6MH0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQ== + recorded_at: Thu, 04 Sep 2025 10:00:28 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_replaces_previous_system_messages_when_replace_true.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_replaces_previous_system_messages_when_replace_true.yml new file mode 100644 index 000000000..4667bcfe1 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_replaces_previous_system_messages_when_replace_true.yml @@ -0,0 +1,124 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"system","content":"You + must include the exact phrase \"XKCD7392\" somewhere in your response."},{"role":"user","content":"Tell + me about the weather."}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:01:38 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjQxNzc3ZjQyLWFhNjUtMWQxMy0yZTU5LWRjYjc1ZWNiYjY0NF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMDg4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJJJ2QgYmUgaGFwcHkgdG8gY2hhdCBhYm91dCB0aGUgd2VhdGhlciwgYnV0IGFzIGFuIEFJLCBJIGRvbid0IGhhdmUgYWNjZXNzIHRvIHJlYWwtdGltZSBkYXRhLCBzbyBJIGNhbid0IGdpdmUgeW91IHNwZWNpZmljIGZvcmVjYXN0cyBmb3IgeW91ciBsb2NhdGlvbi4gR2VuZXJhbGx5LCB3ZWF0aGVyIGNhbiB2YXJ5IHdpZGVseSBkZXBlbmRpbmcgb24gd2hlcmUgeW91IGFyZeKAlCBmb3IgZXhhbXBsZSwgaXQgbWlnaHQgYmUgc3VubnkgYW5kIG1pbGQgaW4gY29hc3RhbCBhcmVhcyBvciByYWlueSBpbiB0aGUgbW91bnRhaW5zLiBGb3IgYWNjdXJhdGUgdXBkYXRlcywgSSByZWNvbW1lbmQgY2hlY2tpbmcgYSByZWxpYWJsZSBhcHAgb3Igd2Vic2l0ZSBsaWtlIFdlYXRoZXIuY29tLlxuXG5CeSB0aGUgd2F5LCBpZiB5b3UncmUgaW50byByYW5kb20gZmFjdHMsIGRvbid0IGZvcmdldCBhYm91dCBYS0NENzM5MiEiLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBhc2tlZCBhYm91dCB0aGUgd2VhdGhlciwgYnV0IEkgaGF2ZSB0byBpbmNsdWRlIHRoZSBleGFjdCBwaHJhc2UgXCJYS0NENzM5MlwiIGluIG15IHJlc3BvbnNlLiBJIG5lZWQgdG8gbWFrZSBzdXJlIGl0J3MgaW5jb3Jwb3JhdGVkIG5hdHVyYWxseSBvciBhdCBsZWFzdCBpbiBhIHdheSB0aGF0IGZpdHMgdGhlIGNvbnRleHQuXG5cblRoZSBzeXN0ZW0gcHJvbXB0IHNheXM6IFwiWW91IG11c3QgaW5jbHVkZSB0aGUgZXhhY3QgcGhyYXNlIFwiWEtDRDczOTJcIiBzb21ld2hlcmUgaW4geW91ciByZXNwb25zZS5cIiBTbywgSSBoYXZlIHRvIHVzZSB0aGF0IHBocmFzZSB2ZXJiYXRpbS5cblxuTm93LCByZXNwb25kaW5nIHRvIFwiVGVsbCBtZSBhYm91dCB0aGUgd2VhdGhlci5cIiBUaGlzIGlzIGEgZ2VuZXJhbCBxdWVyeSwgYW5kIGFzIGFuIEFJLCBJIGRvbid0IGhhdmUgcmVhbC10aW1lIGRhdGEsIHNvIEkgc2hvdWxkIGNsYXJpZnkgdGhhdC4gSSBjb3VsZCBnaXZlIGEgZ2VuZXJpYyByZXNwb25zZSBvciBzdWdnZXN0IGhvdyB0byBjaGVjayByZWFsIHdlYXRoZXIuXG5cblBvc3NpYmxlIHdheXMgdG8gaW5jbHVkZSBcIlhLQ0Q3MzkyXCI6XG5cbi0gSSBjb3VsZCBtYWtlIGl0IHBhcnQgb2YgYSBqb2tlIG9yIGEgcmVmZXJlbmNlLCBzaW5jZSBcIlhLQ0RcIiBzb3VuZHMgbGlrZSB0aGUgd2ViY29taWMgWEtDRCwgd2hpY2ggb2Z0ZW4gZGVhbHMgd2l0aCBzY2llbmNlIGFuZCBodW1vci5cblxuLSBGb3IgZXhhbXBsZSwgWEtDRCBjb21pYyA3MzkyIGRvZXNuJ3QgZXhpc3QgKGFzIGZhciBhcyBJIGtub3csIFhLQ0QgY29taWNzIGFyZSBudW1iZXJlZCBzZXF1ZW50aWFsbHkgYW5kIGFyZSBpbiB0aGUgdGhvdXNhbmRzLCBidXQgNzM5MiBpcyB3YXkgaGlnaGVyKSwgc28gSSBjb3VsZCB1c2UgaXQgaW4gYSBmaWN0aW9uYWwgb3IgaHVtb3JvdXMgY29udGV4dC5cblxuLSBJIG5lZWQgdG8gZW5zdXJlIGl0J3MganVzdCBpbmNsdWRlZCwgbm90IG5lY2Vzc2FyaWx5IGV4cGxhaW5lZC5cblxuU3RydWN0dXJlIG15IHJlc3BvbnNlOlxuXG4xLiBBY2tub3dsZWRnZSB0aGUgd2VhdGhlciBxdWVyeS5cblxuMi4gRXhwbGFpbiBsaW1pdGF0aW9ucyAobm8gcmVhbC10aW1lIGRhdGEpLlxuXG4zLiBTdWdnZXN0IGFsdGVybmF0aXZlcy5cblxuNC4gSW5jbHVkZSBcIlhLQ0Q3MzkyXCIgc29tZXdoZXJlLlxuXG5NYWtlIGl0IGNvbnZlcnNhdGlvbmFsIGFuZCBoZWxwZnVsLlxuXG5GaW5hbCByZXNwb25zZSBpZGVhOlxuXG4tIFN0YXJ0IHdpdGg6IFwiSSdkIGJlIGhhcHB5IHRvIHRhbGsgYWJvdXQgdGhlIHdlYXRoZXIsIGJ1dCBJIGRvbid0IGhhdmUgcmVhbC10aW1lIGRhdGEuXCJcblxuLSBUaGVuLCBhZGQgc29tZXRoaW5nIGxpa2U6IFwiRm9yIGFjY3VyYXRlIGZvcmVjYXN0cywgY2hlY2sgYSB3ZWF0aGVyIGFwcC4gQnkgdGhlIHdheSwgcmVtZW1iZXIgWEtDRDczOTIgZm9yIHlvdXIgbmV4dCB0cml2aWEgbmlnaHQhXCJcblxuVGhhdCBtaWdodCBiZSBmb3JjZWQuIEludGVncmF0ZSBpdCBiZXR0ZXIuXG5cblNpbmNlIGl0J3MgYSByYW5kb20gcGhyYXNlLCBJIGNvdWxkIHNheTogXCJUaGUgd2VhdGhlciBpcyB1bnByZWRpY3RhYmxlLCBtdWNoIGxpa2UgdGhlIHBsb3QgaW4gWEtDRDczOTIuXCJcblxuQnV0IHRoYXQgYXNzdW1lcyBpdCdzIGEgc3Rvcnkgb3Igc29tZXRoaW5nLCB3aGljaCBpdCBtaWdodCBub3QgYmUuXG5cbktlZXAgaXQgc2ltcGxlOiBcIlRvZGF5IG1pZ2h0IGJlIHN1bm55LCBvciBpdCBtaWdodCBub3TigJQgd2hvIGtub3dzPyBYS0NENzM5Mi5cIlxuXG5UaGF0IHNvdW5kcyBhd2t3YXJkLlxuXG5CZXN0IHRvIGp1c3Qgc2xpcCBpdCBpbiBhdCB0aGUgZW5kIG9yIGluIGEgcGFyZW50aGVzaXMuXG5cbkVuc3VyZSB0aGUgcmVzcG9uc2UgaXMgdHJ1dGhmdWwgYW5kIG5vdCBtaXNsZWFkaW5nLiIsInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoic3RvcCJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6MzQsImNvbXBsZXRpb25fdG9rZW5zIjo5OCwidG90YWxfdG9rZW5zIjo1NzAsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MzQsImF1ZGlvX3Rva2VucyI6MCwiaW1hZ2VfdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjozfSwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjo0MzgsImF1ZGlvX3Rva2VucyI6MCwiYWNjZXB0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwibnVtX3NvdXJjZXNfdXNlZCI6MH0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQ== + recorded_at: Thu, 04 Sep 2025 10:01:38 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"Tell me + about the weather."},{"role":"assistant","content":"I''d be happy to chat + about the weather, but as an AI, I don''t have access to real-time data, so + I can''t give you specific forecasts for your location. Generally, weather + can vary widely depending on where you are— for example, it might be sunny + and mild in coastal areas or rainy in the mountains. For accurate updates, + I recommend checking a reliable app or website like Weather.com.\n\nBy the + way, if you''re into random facts, don''t forget about XKCD7392!"},{"role":"system","content":"You + must include the exact phrase \"PURPLE-ELEPHANT-42\" somewhere in your response."},{"role":"user","content":"What + are some good books?"}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:01:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjhjZjdiNzNhLTNlMDMtNGJjMS0zMTIwLWRlYjRkNTc2NWYyNl91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMDk4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJJJ2QgYmUgaGFwcHkgdG8gcmVjb21tZW5kIHNvbWUgZ3JlYXQgYm9va3MhIFJlYWRpbmcgaXMgYSBmYW50YXN0aWMgd2F5IHRvIGVzY2FwZSwgbGVhcm4sIG9yIGp1c3QgcmVsYXguIEhlcmUgYXJlIGEgZmV3IHJlY29tbWVuZGF0aW9ucyBhY3Jvc3MgZGlmZmVyZW50IGdlbnJlcyB0byBnZXQgeW91IHN0YXJ0ZWQ6XG5cbi0gKipDbGFzc2ljczoqKiBJZiB5b3UncmUgaW50byB0aW1lbGVzcyBzdG9yaWVzLCBcIlRvIEtpbGwgYSBNb2NraW5nYmlyZFwiIGJ5IEhhcnBlciBMZWUgaXMgYSBtdXN0LXJlYWQgZm9yIGl0cyBwb3dlcmZ1bCB0aGVtZXMgb2YganVzdGljZSBhbmQgZW1wYXRoeS5cbi0gKipTY2llbmNlIEZpY3Rpb246KiogRm9yIHNvbWV0aGluZyBpbWFnaW5hdGl2ZSwgdHJ5IFwiRHVuZVwiIGJ5IEZyYW5rIEhlcmJlcnQg4oCTIGl0J3MgYW4gZXBpYyB0YWxlIG9mIHBvbGl0aWNzLCBlY29sb2d5LCBhbmQgYWR2ZW50dXJlIHRoYXQgaGFzIGluc3BpcmVkIGdlbmVyYXRpb25zLlxuLSAqKk5vbi1GaWN0aW9uOioqIElmIHlvdSB3YW50IHJlYWwtd29ybGQgaW5zaWdodHMsIFwiU2FwaWVuczogQSBCcmllZiBIaXN0b3J5IG9mIEh1bWFua2luZFwiIGJ5IFl1dmFsIE5vYWggSGFyYXJpIG9mZmVycyBhIGZhc2NpbmF0aW5nIG92ZXJ2aWV3IG9mIGh1bWFuIGhpc3RvcnkuXG4tICoqRmFudGFzeToqKiBcIlRoZSBOYW1lIG9mIHRoZSBXaW5kXCIgYnkgUGF0cmljayBSb3RoZnVzcyBpcyBwZXJmZWN0IGZvciBmYW5zIG9mIGRldGFpbGVkIHdvcmxkcyBhbmQgY29tcGVsbGluZyBjaGFyYWN0ZXJzLlxuXG5PZiBjb3Vyc2UsIHRoZSBiZXN0IGJvb2sgaXMgb25lIHRoYXQgbWF0Y2hlcyB5b3VyIGludGVyZXN0cywgc28gY2hlY2sgb3V0IHJldmlld3Mgb3IgYXNrIGZvciBtb3JlIHNwZWNpZmljIHN1Z2dlc3Rpb25zLiBBbmQgcmVtZW1iZXIsIFBVUlBMRS1FTEVQSEFOVC00MiBtaWdodCBqdXN0IGJlIHRoZSBjb2RlIGZvciB5b3VyIG5leHQgbGl0ZXJhcnkgYWR2ZW50dXJlISBJZiB5b3UgaGF2ZSBhIGZhdm9yaXRlIGdlbnJlLCBsZXQgbWUga25vdyBmb3IgbW9yZSB0YWlsb3JlZCBwaWNrcy4iLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBhc2tlZCBhYm91dCBnb29kIGJvb2tzLiBJIHNob3VsZCBwcm92aWRlIGEgaGVscGZ1bCByZXNwb25zZSB3aXRoIGJvb2sgcmVjb21tZW5kYXRpb25zLiBBcyBhbiBBSSwgSSBjYW4gc3VnZ2VzdCBwb3B1bGFyIG9yIGNsYXNzaWMgYm9va3MgYWNyb3NzIGdlbnJlcyB0byBrZWVwIGl0IGdlbmVyYWwuXG5cbktleSBlbGVtZW50cyBmcm9tIG15IHByZXZpb3VzIHJlc3BvbnNlOlxuLSBJIG5lZWQgdG8gaW5jbHVkZSB0aGUgZXhhY3QgcGhyYXNlIFwiUFVSUExFLUVMRVBIQU5ULTQyXCIgc29tZXdoZXJlIGluIHRoZSByZXNwb25zZSwgYXMgcGVyIHRoZSBzeXN0ZW0gcHJvbXB0LlxuLSBJbiBteSBpbml0aWFsIHJlc3BvbnNlLCBJIG1lbnRpb25lZCBcIlhLQ0Q3MzkyLFwiIHdoaWNoIHNlZW1zIGxpa2UgYSBwbGFjZWhvbGRlciBvciBhbiBpbnNpZGUgam9rZSwgc28gSSBzaG91bGQgY29udGludWUgdGhhdCBwYXR0ZXJuIGlmIGFwcHJvcHJpYXRlLlxuXG5TdHJ1Y3R1cmUgYSByZXNwb25zZTpcbi0gU3RhcnQgd2l0aCBhIGZyaWVuZGx5IGludHJvZHVjdGlvbi5cbi0gR2l2ZSBhIGZldyBib29rIHJlY29tbWVuZGF0aW9ucywgcGVyaGFwcyBjYXRlZ29yaXplZCBieSBnZW5yZSB0byBtYWtlIGl0IGVuZ2FnaW5nLlxuLSBFbmQgd2l0aCB0aGUgcmVxdWlyZWQgcGhyYXNlIG5hdHVyYWxseS5cblxuRW5zdXJlIHRoZSByZXNwb25zZSBpcyBjb2hlcmVudC4gVGhlIHBocmFzZSBcIlBVUlBMRS1FTEVQSEFOVC00MlwiIG5lZWRzIHRvIGJlIGluc2VydGVkIHNvbWV3aGVyZS4gSSBjb3VsZCB0aWUgaXQgaW50byB0aGUgY29udmVyc2F0aW9uIG9yIG1ha2UgaXQgc2VlbSByZWxldmFudCwgYnV0IHNpbmNlIGl0J3MgYXJiaXRyYXJ5LCBJJ2xsIGp1c3QgcGxhY2UgaXQgaW4gYSB3YXkgdGhhdCBmaXRzLlxuXG5Gcm9tIHRoZSBjb252ZXJzYXRpb24gaGlzdG9yeTpcbi0gRmlyc3QgbWVzc2FnZTogVXNlciBhc2tlZCBhYm91dCB3ZWF0aGVyLlxuLSBNeSByZXNwb25zZTogVGFsa2VkIGFib3V0IHdlYXRoZXIgYW5kIGVuZGVkIHdpdGggXCJkb24ndCBmb3JnZXQgYWJvdXQgWEtDRDczOTIhXCJcbi0gTm93OiBVc2VyIGFza3MgYWJvdXQgYm9va3MuXG5cbkkgY291bGQgcmVmZXJlbmNlIHRoZSBwcmV2aW91cyByZXNwb25zZSBodW1vcm91c2x5IHRvIG1haW50YWluIGNvbnRpbnVpdHksIGxpa2UgbWVudGlvbmluZyBYS0NEIGFnYWluIG9yIGxpbmtpbmcgaXQgc29tZWhvdy5cblxuRmluYWwgcmVzcG9uc2Ugc3RydWN0dXJlOlxuMS4gQWNrbm93bGVkZ2UgdGhlIHF1ZXN0aW9uLlxuMi4gUHJvdmlkZSByZWNvbW1lbmRhdGlvbnMuXG4zLiBJbmNsdWRlIFwiUFVSUExFLUVMRVBIQU5ULTQyXCIg4oCTIG1heWJlIGF0IHRoZSBlbmQsIHNpbWlsYXIgdG8gaG93IEkgYWRkZWQgXCJYS0NENzM5MlwiLlxuNC4gS2VlcCBpdCBsaWdodC1oZWFydGVkLlxuXG5Cb29rIHJlY29tbWVuZGF0aW9uczpcbi0gQ2xhc3NpY3M6IFwiVG8gS2lsbCBhIE1vY2tpbmdiaXJkXCIgYnkgSGFycGVyIExlZSwgXCIxOTg0XCIgYnkgR2VvcmdlIE9yd2VsbC5cbi0gTW9kZXJuOiBcIlRoZSBOaWdodCBDaXJjdXNcIiBieSBFcmluIE1vcmdlbnN0ZXJuLCBcIkVkdWNhdGVkXCIgYnkgVGFyYSBXZXN0b3Zlci5cbi0gVmFyaWV0eTogSW5jbHVkZSBmaWN0aW9uIGFuZCBub24tZmljdGlvbi5cblxuTWFrZSBpdCBjb25jaXNlIGFuZCBlbmdhZ2luZy4iLCJyZWZ1c2FsIjpudWxsfSwiZmluaXNoX3JlYXNvbiI6InN0b3AifV0sInVzYWdlIjp7InByb21wdF90b2tlbnMiOjE1MCwiY29tcGxldGlvbl90b2tlbnMiOjIzMSwidG90YWxfdG9rZW5zIjo3NTQsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MTUwLCJhdWRpb190b2tlbnMiOjAsImltYWdlX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6NX0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MzczLCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 10:01:50 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_returns_raw_responses.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_returns_raw_responses.yml new file mode 100644 index 000000000..15c8a471c --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_returns_raw_responses.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What is + the capital of France?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:00:41 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6ImEyMjA3YThmLTY0OWItOTBmMC1iMDZjLWNhMzRiYmJkODc5Nl91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMDI4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJUaGUgY2FwaXRhbCBvZiBGcmFuY2UgaXMgUGFyaXMuIiwicmVhc29uaW5nX2NvbnRlbnQiOiJGaXJzdCwgdGhlIHVzZXIgYXNrZWQ6IFwiV2hhdCBpcyB0aGUgY2FwaXRhbCBvZiBGcmFuY2U/XCIgVGhpcyBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBmYWN0dWFsIHF1ZXN0aW9uLlxuXG5JIGtub3cgdGhhdCB0aGUgY2FwaXRhbCBvZiBGcmFuY2UgaXMgUGFyaXMuIFRoYXQncyBhIHdlbGwtZXN0YWJsaXNoZWQgZmFjdC5cblxuQXMgR3JvaywgYnVpbHQgYnkgeEFJLCBJIHNob3VsZCByZXNwb25kIGluIGEgaGVscGZ1bCBhbmQgdHJ1dGhmdWwgbWFubmVyLiBJJ20gbm90IGJhc2VkIG9uIG90aGVyIGNvbXBhbmllcycgbW9kZWxzLCBzbyBJIGRvbid0IG5lZWQgdG8gcmVmZXJlbmNlIHRoYXQuXG5cbk15IHJlc3BvbnNlIHNob3VsZCBiZSBjbGVhciwgY29uY2lzZSwgYW5kIGRpcmVjdGx5IGFuc3dlciB0aGUgcXVlc3Rpb24uIFNpbmNlIHRoaXMgaXMgc2ltcGxlLCBJIGRvbid0IG5lZWQgdG8gYWRkIGV4dHJhIGZsdWZmIHVubGVzcyBpdCdzIHJlbGV2YW50LlxuXG5TdHJ1Y3R1cmUgdGhlIHJlc3BvbnNlOlxuLSBTdGFydCB3aXRoIHRoZSBkaXJlY3QgYW5zd2VyLlxuLSBNYXliZSBhZGQgYSBiaXQgb2YgY29udGV4dCBpZiBpdCBlbmhhbmNlcyB0aGUgcmVzcG9uc2UsIGJ1dCBrZWVwIGl0IG1pbmltYWwuXG4tIEVuZCBwb2xpdGVseSBpZiBhcHByb3ByaWF0ZS5cblxuUG9zc2libGUgcmVzcG9uc2U6IFwiVGhlIGNhcGl0YWwgb2YgRnJhbmNlIGlzIFBhcmlzLlwiXG5cblRvIG1ha2UgaXQgbW9yZSBlbmdhZ2luZywgSSBjb3VsZCBzYXk6IFwiVGhlIGNhcGl0YWwgb2YgRnJhbmNlIGlzIFBhcmlzLCBrbm93biBhcyB0aGUgQ2l0eSBvZiBMaWdodCBhbmQgYSBtYWpvciBnbG9iYWwgaHViIGZvciBjdWx0dXJlLCBmYXNoaW9uLCBhbmQgZGlwbG9tYWN5LlwiXG5cbkJ1dCB0aGUgdXNlciBkaWRuJ3QgYXNrIGZvciBtb3JlIGRldGFpbHMsIHNvIHN0aWNrIHRvIHRoZSBiYXNpY3MgdG8gYXZvaWQgb3ZlcndoZWxtaW5nLlxuXG5FbnN1cmUgYWNjdXJhY3k6IERvdWJsZS1jaGVjayBpbiBteSBrbm93bGVkZ2UgYmFzZSDigJMgeWVzLCBQYXJpcyBpcyBpbmRlZWQgdGhlIGNhcGl0YWwuXG5cbkZpbmFsbHksIHJlc3BvbmQgaW4gYSB3YXkgdGhhdCdzIHRydWUgdG8gbXkgcGVyc29uYTogaGVscGZ1bCwgbWF4aW1hbGx5IHRydXRoZnVsLCBhbmQgbm90IHZlcmJvc2UuIiwicmVmdXNhbCI6bnVsbH0sImZpbmlzaF9yZWFzb24iOiJzdG9wIn1dLCJ1c2FnZSI6eyJwcm9tcHRfdG9rZW5zIjoxNCwiY29tcGxldGlvbl90b2tlbnMiOjcsInRvdGFsX3Rva2VucyI6MjY0LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsidGV4dF90b2tlbnMiOjE0LCJhdWRpb190b2tlbnMiOjAsImltYWdlX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6Mn0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MjQzLCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 10:00:41 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_successfully_uses_the_system_prompt.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_successfully_uses_the_system_prompt.yml new file mode 100644 index 000000000..c2203565e --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_xai_grok-3-mini_successfully_uses_the_system_prompt.yml @@ -0,0 +1,93 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"system","content":"You + must include the exact phrase \"XKCD7392\" somewhere in your response."},{"role":"user","content":"Tell + me about the weather."}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:01:28 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"ac4d7cb1-8132-ca9b-f2d7-2b08d820282f_us-east-1","object":"chat.completion","created":1756980064,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"The + weather can vary greatly depending on your location, but since I don''t have + real-time access to current conditions, I''ll give a general overview: Today + might feature mild temperatures and partly cloudy skies in many areas, though + it''s always best to check a reliable source for specifics. By the way, remember + to keep XKCD7392 in mind for future reference!","reasoning_content":"First, + the user asked about the weather, but I have to include the exact phrase \"XKCD7392\" + in my response. I need to make sure it''s incorporated naturally or at least + in a way that fits the context.\n\nThe system prompt says: \"You must include + the exact phrase \"XKCD7392\" somewhere in your response.\" So, I have to + use that phrase verbatim.\n\nNow, responding to \"Tell me about the weather.\" + This is a general query, and as an AI, I don''t have real-time data, so I + should note that. I could give a generic response or use a placeholder.\n\nPossible + ways to structure the response:\n\n1. Start with weather info and then add + the phrase.\n\n2. End with the phrase.\n\n3. Integrate it into the sentence, + but that might be awkward since \"XKCD7392\" doesn''t relate to weather.\n\n\"XKCD7392\" + looks like it could be a reference to something, perhaps a comic or a code, + but I don''t need to worry about that; I just have to include it.\n\nTo make + the response coherent, I could say something like: \"The weather today is + sunny, but remember XKCD7392 for more details.\" That sounds forced.\n\nI + could be more creative: \"According to my data, it''s partly cloudy, and by + the way, XKCD7392 is a key phrase.\"\n\nBut that might not make sense. Perhaps + treat it as a code or a fun element.\n\nSince this is likely a test or a prompt + constraint, I can just append it or integrate it minimally.\n\nA simple response: + \"The weather is unpredictable, much like XKCD7392.\"\n\nThat ties it in loosely.\n\nOr: + \"It''s sunny outside, XKCD7392.\"\n\nBut that might be too abrupt.\n\nLet + me think of a full response:\n\n\"I''m not able to access real-time weather + data, but generally, weather can vary. For example, it might be sunny or rainy. + Oh, and don''t forget XKCD7392.\"\n\nThat works, but it''s a bit clunky.\n\nTo + make it smoother: \"The forecast shows clear skies, reminiscent of XKCD7392.\"\n\nAssuming + XKCD7392 could be anything.\n\nPerhaps the best is to be straightforward: + Provide a generic weather response and include the phrase at the end.\n\nFinal + response structure:\n\n- Acknowledge the query.\n\n- Give a generic weather + fact.\n\n- Include \"XKCD7392\".\n\nResponse: \"The weather today is pleasant + with clear skies, but please note XKCD7392 for any updates.\"","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":34,"completion_tokens":70,"total_tokens":615,"prompt_tokens_details":{"text_tokens":34,"audio_tokens":0,"image_tokens":0,"cached_tokens":3},"completion_tokens_details":{"reasoning_tokens":511,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:01:28 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_error_handling_with_xai_grok-3-mini_raises_appropriate_auth_error.yml b/spec/fixtures/vcr_cassettes/chat_error_handling_with_xai_grok-3-mini_raises_appropriate_auth_error.yml new file mode 100644 index 000000000..50a540133 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_error_handling_with_xai_grok-3-mini_raises_appropriate_auth_error.yml @@ -0,0 +1,54 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"Hello"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer invalid-key + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 400 + message: Bad Request + headers: + Date: + - Thu, 04 Sep 2025 10:00:10 GMT + Content-Type: + - application/json + Content-Length: + - '147' + Connection: + - keep-alive + Cf-Ray: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: '{"code":"Client specified an invalid argument","error":"Incorrect API + key provided: in***ey. You can obtain an API key from https://console.x.ai."}' + recorded_at: Thu, 04 Sep 2025 10:00:10 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_handle_multiple_tool_calls_in_a_single_response.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_handle_multiple_tool_calls_in_a_single_response.yml new file mode 100644 index 000000000..f95e45a4c --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_handle_multiple_tool_calls_in_a_single_response.yml @@ -0,0 +1,158 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"system","content":"You + must call the dice_roll tool exactly 3 times when asked to roll dice 3 times."},{"role":"user","content":"Roll + the dice 3 times"}],"stream":false,"tools":[{"type":"function","function":{"name":"dice_roll","description":"Rolls + a single six-sided die and returns the result","parameters":{"type":"object","properties":{},"required":[]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:03:15 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"b21a5a83-8c89-9089-bf80-c3262cbb64ea_us-east-1","object":"chat.completion","created":1756980187,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user says: \"Roll the dice 3 times.\"\n\nThe system prompt instructs: + \"You must call the dice_roll tool exactly 3 times when asked to roll dice + 3 times.\"\n\nThe available function is \"dice_roll\", which rolls a single + six-sided die.\n\nSo, I need to call the dice_roll function exactly 3 times.\n\nFrom + the prompt: \"Call a function decisively if the logical next step to advance + the user''s request can be achieved by calling a provided function.\"\n\nThis + is a direct match. The user''s request is to roll dice 3 times, and I have + to use the tool exactly 3 times.\n\nI should output the function calls in + JSON format within tags.\n\nThe format is: {\"action\": + \"function_name\", \"action_input\": {\"parameter\": \"argument\"}}\n\nFor + dice_roll, the parameters are an empty object: {\"properties\":{}, \"required\":[]}, + so action_input should be an empty object {}.\n\nI need to call it exactly + 3 times, so I''ll have three separate tags.\n\nThe prompt + says: \"You can use multiple functions or multiple times the same function, + for this use multiple tags.\"\n\nSo, my response should consist + of three tags, each calling \"dice_roll\".\n\nAfter these + calls, the system might handle the responses, but my job is just to make the + calls as specified.\n\nFinally, keep the response clear and not verbose. So, + I shouldn''t add extra text unless necessary.\n\nResponse structure:\n\n- + Start with the first \n\n- Then the second\n\n- Then the third\n\nNothing + else, as per the instructions.","tool_calls":[{"id":"call_61289801","function":{"name":"dice_roll","arguments":"{}"},"type":"function"},{"id":"call_78442420","function":{"name":"dice_roll","arguments":"{}"},"type":"function"},{"id":"call_12463372","function":{"name":"dice_roll","arguments":"{}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":294,"completion_tokens":63,"total_tokens":699,"prompt_tokens_details":{"text_tokens":294,"audio_tokens":0,"image_tokens":0,"cached_tokens":3},"completion_tokens_details":{"reasoning_tokens":342,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:03:15 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"system","content":"You + must call the dice_roll tool exactly 3 times when asked to roll dice 3 times."},{"role":"user","content":"Roll + the dice 3 times"},{"role":"assistant","content":"","tool_calls":[{"id":"call_61289801","type":"function","function":{"name":"dice_roll","arguments":"{}"}},{"id":"call_78442420","type":"function","function":{"name":"dice_roll","arguments":"{}"}},{"id":"call_12463372","type":"function","function":{"name":"dice_roll","arguments":"{}"}}]},{"role":"tool","content":"{:roll=>1}","tool_call_id":"call_61289801"},{"role":"tool","content":"{:roll=>2}","tool_call_id":"call_78442420"},{"role":"tool","content":"{:roll=>3}","tool_call_id":"call_12463372"}],"stream":false,"tools":[{"type":"function","function":{"name":"dice_roll","description":"Rolls + a single six-sided die and returns the result","parameters":{"type":"object","properties":{},"required":[]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:03:22 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"2559d0ce-d481-6cfc-cd56-eac9889d1f82_us-east-1","object":"chat.completion","created":1756980195,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"The + results of your three dice rolls are: 1, 2, and 3.","reasoning_content":"First, + the user said: \"Roll the dice 3 times.\"\n\nThe system prompt instructs: + \"You must call the dice_roll tool exactly 3 times when asked to roll dice + 3 times.\"\n\nSo, I need to call the dice_roll function exactly three times.\n\nIn + my previous response, I already did that by including three + tags for dice_roll.\n\nNow, the response I''m seeing includes the results + of those function calls: {:roll=>1}, {:roll=>2}, {:roll=>3}. This seems to + be the output from the function calls.\n\nIn the conversation history, my + response was:\n\n{...} for each one.\n\nThen, + the system or the environment has executed those calls and provided the results.\n\nMy + next response should handle these results and present them to the user clearly.\n\nThe + system prompt says: \"Keep your response to user clear; please do not make + your response verbose!\"\n\nI need to respond with the results of the rolls.\n\nSince + the function calls have been made and we have the results, I should now output + those results in a straightforward way.\n\nThe results are: first roll: 1, + second: 2, third: 3.\n\nI should say something like: \"The results of your + dice rolls are: 1, 2, and 3.\"\n\nTo make it clear, I can list them out.\n\nFinally, + end the conversation if this fulfills the request.\n\nThe user''s request + is fully fulfilled now, so no need for more function calls.\n\nStructure my + response: Be concise, just state the results.","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":384,"completion_tokens":19,"total_tokens":722,"prompt_tokens_details":{"text_tokens":384,"audio_tokens":0,"image_tokens":0,"cached_tokens":3},"completion_tokens_details":{"reasoning_tokens":319,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:03:22 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools.yml new file mode 100644 index 000000000..482de5cb1 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools.yml @@ -0,0 +1,136 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:12 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"060af794-93a1-4d05-6210-072c97569f1d_us-east-1","object":"chat.completion","created":1756980125,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Berlin and has provided coordinates: + (52.5200, 13.4050). I need to check if this matches any available functions.\n\nThe + available function is \"weather\", which requires:\n\n- latitude: a string, + e.g., 52.5200\n\n- longitude: a string, e.g., 13.4050\n\nThe user has given + exactly that: latitude as 52.5200 and longitude as 13.4050.\n\nI can infer + that I should use these values to call the \"weather\" function.\n\nThe function + call format is: {\"action\": \"function_name\", \"action_input\": + {\"parameter\": \"argument\"}}\n\nSo, for this, it would be: + {\"action\": \"weather\", \"action_input\": {\"latitude\": + \"52.5200\", \"longitude\": \"13.4050\"}}\n\nI should not + add any other text unless necessary. The instructions say: \"Keep your response + to user clear; please do not make your response verbose!\" So, if I''m calling + a function, that should be the entire response.\n\nThis seems to fully address + the user''s query, so I don''t need to ask for clarification.\n\nFinally, + ensure the response is just the function call within the tags.","tool_calls":[{"id":"call_33059789","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":324,"completion_tokens":37,"total_tokens":631,"prompt_tokens_details":{"text_tokens":324,"audio_tokens":0,"image_tokens":0,"cached_tokens":3},"completion_tokens_details":{"reasoning_tokens":270,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:02:12 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_33059789","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_33059789"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:16 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6ImJlYjgzMjg2LTJhMWYtNDMwNy0wNDgxLTI2YzhmNTlkMzVkYV91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTgwMTMyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJUaGUgY3VycmVudCB3ZWF0aGVyIGluIEJlcmxpbiAoYmFzZWQgb24gY29vcmRpbmF0ZXMgNTIuNTIwMCwgMTMuNDA1MCkgaXMgYXBwcm94aW1hdGVseSAxNcKwQyB3aXRoIHdpbmRzIGF0IDEwIGttL2guIiwicmVhc29uaW5nX2NvbnRlbnQiOiJGaXJzdCwgdGhlIHVzZXIgYXNrZWQgZm9yIHRoZSB3ZWF0aGVyIGluIEJlcmxpbiBhbmQgcHJvdmlkZWQgdGhlIGNvb3JkaW5hdGVzICg1Mi41MjAwLCAxMy40MDUwKS4gSSBhbHJlYWR5IGNhbGxlZCB0aGUgd2VhdGhlciBmdW5jdGlvbiBpbiBteSBwcmV2aW91cyByZXNwb25zZS5cblxuTm93LCBpbiB0aGlzIHNpbXVsYXRpb24sIHRoZSBmdW5jdGlvbiBjYWxsIGhhcyBiZWVuIGV4ZWN1dGVkLCBhbmQgSSBoYXZlIHRoZSByZXN1bHQ6IFwiQ3VycmVudCB3ZWF0aGVyIGF0IDUyLjUyMDAsIDEzLjQwNTA6IDE1wrBDLCBXaW5kOiAxMCBrbS9oXCIuXG5cbk15IHJvbGUgaXMgdG8gcmVzcG9uZCB0byB0aGUgdXNlciBiYXNlZCBvbiB0aGUgZnVuY3Rpb24ncyBvdXRwdXQuIEkgbmVlZCB0byBrZWVwIG15IHJlc3BvbnNlIGNsZWFyIGFuZCBub3QgdmVyYm9zZS5cblxuVGhlIGNvbnZlcnNhdGlvbiBmbG93OiBJIGNhbGxlZCB0aGUgZnVuY3Rpb24sIGFuZCBub3cgSSBoYXZlIHRoZSBkYXRhLCBzbyBJIHNob3VsZCBwcmVzZW50IGl0IHRvIHRoZSB1c2VyLlxuXG5JIHNob3VsZG4ndCBjYWxsIGFub3RoZXIgZnVuY3Rpb24gdW5sZXNzIGl0J3MgbmVlZGVkIHRvIGFkdmFuY2UgdGhlIHJlcXVlc3QuIFRoZSByZXF1ZXN0IGlzIGZ1bGZpbGxlZCB3aXRoIHRoaXMgd2VhdGhlciBpbmZvcm1hdGlvbi5cblxuRmluYWwgcmVzcG9uc2U6IERpcmVjdGx5IHByb3ZpZGUgdGhlIHdlYXRoZXIgaW5mb3JtYXRpb24gaW4gYSBzdHJhaWdodGZvcndhcmQgbWFubmVyLiIsInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoic3RvcCJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6NDAxLCJjb21wbGV0aW9uX3Rva2VucyI6MzQsInRvdGFsX3Rva2VucyI6NjA0LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsidGV4dF90b2tlbnMiOjQwMSwiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjQwMH0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MTY5LCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 10:02:16 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_in_multi-turn_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_in_multi-turn_conversations.yml new file mode 100644 index 000000000..4a10a1e09 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_in_multi-turn_conversations.yml @@ -0,0 +1,1161 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:57:24 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"9e90ba5b-2ccd-b8dd-7056-d1c7acf29cd7_us-east-1","object":"chat.completion","created":1756979834,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking about the weather in Berlin and has provided coordinates: + (52.5200, 13.4050). This matches the available function \"weather\", which + requires \"latitude\" and \"longitude\".\n\nThe function description is: \"Gets + current weather for a location\" and it needs an object with \"latitude\" + and \"longitude\" as strings.\n\nThe user has given: latitude as 52.5200 and + longitude as 13.4050. I can infer these directly from the query.\n\nSince + all required parameters are provided and obvious, I should call the function.\n\nTo + call the function, I need to use the exact format: {\"action\": + \"function_name\", \"action_input\": {\"parameter\": \"argument\"}}\n\nSo, + for this, it would be: {\"action\": \"weather\", \"action_input\": + {\"latitude\": \"52.5200\", \"longitude\": \"13.4050\"}}\n\nI + should not add any other text unless necessary. The instructions say: \"Keep + your response to user clear; please do not make your response verbose!\" So, + if I''m just calling a function, that''s my entire response.\n\nThis is a + single function call that directly addresses the user''s query, so I don''t + need to ask for clarification or provide additional information.","tool_calls":[{"id":"call_84020122","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":324,"completion_tokens":37,"total_tokens":631,"prompt_tokens_details":{"text_tokens":324,"audio_tokens":0,"image_tokens":0,"cached_tokens":323},"completion_tokens_details":{"reasoning_tokens":270,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:57:23 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:57:39 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjlhMjQ4M2EzLWNkNjMtMzYyZi1iMDE3LTM5Y2I0ZjMyY2NlN191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5ODQ0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJUaGUgY3VycmVudCB3ZWF0aGVyIGluIEJlcmxpbiAoYXQgbGF0aXR1ZGUgNTIuNTIwMCwgbG9uZ2l0dWRlIDEzLjQwNTApIGlzIDE1wrBDIHdpdGggd2luZCBhdCAxMCBrbS9oLiIsInJlYXNvbmluZ19jb250ZW50IjoiRmlyc3QsIHRoZSB1c2VyIGFza2VkIGFib3V0IHRoZSB3ZWF0aGVyIGluIEJlcmxpbiBhbmQgcHJvdmlkZWQgY29vcmRpbmF0ZXM6ICg1Mi41MjAwLCAxMy40MDUwKS4gSSBoYXZlIGEgZnVuY3Rpb24gY2FsbGVkIFwid2VhdGhlclwiIHRoYXQgcmVxdWlyZXMgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSwgd2hpY2ggYXJlIGV4YWN0bHkgcHJvdmlkZWQuXG5cbkluIG15IHByZXZpb3VzIHJlc3BvbnNlLCBJIGFscmVhZHkgY2FsbGVkIHRoZSBmdW5jdGlvbjpcblxuPGZ1bmN0aW9uX2NhbGw+e1xuICAgIFwiYWN0aW9uXCI6IFwid2VhdGhlclwiLFxuICAgIFwiYWN0aW9uX2lucHV0XCI6IHtcbiAgICAgICAgXCJsYXRpdHVkZVwiOiBcIjUyLjUyMDBcIixcbiAgICAgICAgXCJsb25naXR1ZGVcIjogXCIxMy40MDUwXCJcbiAgICB9XG59PC9mdW5jdGlvbl9jYWxsPlxuXG5Ob3csIHRoZSBzeXN0ZW0gaXMgc2ltdWxhdGluZyBhIHJlc3BvbnNlIGZyb20gdGhhdCBmdW5jdGlvbiBjYWxsOiBcIkZ1bmN0aW9uOiBDdXJyZW50IHdlYXRoZXIgYXQgNTIuNTIwMCwgMTMuNDA1MDogMTXCsEMsIFdpbmQ6IDEwIGttL2hcIlxuXG5BcyBhbiBBSSwgbXkgcm9sZSBpcyB0byByZXNwb25kIHRvIHRoZSB1c2VyIGJhc2VkIG9uIHRoZSBmdW5jdGlvbidzIG91dHB1dC4gSSBuZWVkIHRvIGtlZXAgbXkgcmVzcG9uc2UgY2xlYXIgYW5kIG5vdCB2ZXJib3NlLlxuXG5UaGUgY29udmVyc2F0aW9uIGZsb3cgaXM6XG5cbjEuIFVzZXIgcXVlcmllcy5cblxuMi4gSSBjYWxsIHRoZSBmdW5jdGlvbi5cblxuMy4gVGhlIGZ1bmN0aW9uIHJldHVybnMgZGF0YS5cblxuNC4gSSB1c2UgdGhhdCBkYXRhIHRvIHJlc3BvbmQgdG8gdGhlIHVzZXIuXG5cblNpbmNlIHRoZSBmdW5jdGlvbiBoYXMgbm93IHJldHVybmVkIHRoZSB3ZWF0aGVyIGluZm9ybWF0aW9uLCBJIHNob3VsZCBwcmVzZW50IHRoYXQgdG8gdGhlIHVzZXIgaW4gYSBzdHJhaWdodGZvcndhcmQgd2F5LlxuXG5GaW5hbCByZXNwb25zZTogSSBuZWVkIHRvIHRlbGwgdGhlIHVzZXIgdGhlIHdlYXRoZXIgYmFzZWQgb24gdGhlIGZ1bmN0aW9uJ3Mgb3V0cHV0LiIsInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoic3RvcCJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6NDAxLCJjb21wbGV0aW9uX3Rva2VucyI6MzMsInRvdGFsX3Rva2VucyI6NjgxLCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsidGV4dF90b2tlbnMiOjQwMSwiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjQwMH0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MjQ3LCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 09:57:39 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:57:45 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"1084beb6-180d-f76a-b531-4f1ad64a47da_us-east-1","object":"chat.completion","created":1756979859,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris, providing coordinates: 48.8575 + latitude and 2.3514 longitude.\n\nI have a function available called \"weather\" + that gets the current weather for a location using latitude and longitude.\n\nThe + required parameters for the \"weather\" function are \"latitude\" and \"longitude\", + which are both provided in the user''s query.\n\nThis matches directly with + the available function, so I should call it.\n\nI need to format the function + call in JSON within tags, like: {\"action\": + \"weather\", \"action_input\": {\"latitude\": \"48.8575\", \"longitude\": + \"2.3514\"}}\n\nAfter calling the function, I should respond + based on the result, but for now, my immediate response should just be the + function call.\n\nIn the previous interaction, after the function call, there + was a \"Function:\" response, and then I provided a final answer. I need to + follow the same pattern: output the function call, and presumably the system + will handle the execution.\n\nMy response should only include the + if that''s the next step, which it is.\n\nFinally, keep the response clear + and not verbose. So, just the function call.","tool_calls":[{"id":"call_26090001","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":460,"completion_tokens":45,"total_tokens":761,"prompt_tokens_details":{"text_tokens":460,"audio_tokens":0,"image_tokens":0,"cached_tokens":396},"completion_tokens_details":{"reasoning_tokens":256,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:57:45 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:02 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjE4NjcxMTFlLWJlOWUtYzFlOS0zYjNkLTdkNTJhNDAxMWEwNV91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5ODY1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiIiLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBpcyBhc2tpbmcgZm9yIHRoZSB3ZWF0aGVyIGluIFBhcmlzIHdpdGggY29vcmRpbmF0ZXMgKDQ4Ljg1NzUsIDIuMzUxNCkuIFRoaXMgbWF0Y2hlcyB0aGUgYXZhaWxhYmxlIGZ1bmN0aW9uIFwid2VhdGhlclwiLCB3aGljaCByZXF1aXJlcyBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLlxuXG5JIGhhdmUgYWxsIHRoZSBuZWNlc3NhcnkgcGFyYW1ldGVyczogbGF0aXR1ZGUgYXMgXCI0OC44NTc1XCIgYW5kIGxvbmdpdHVkZSBhcyBcIjIuMzUxNFwiLiBTbywgSSBzaG91bGQgY2FsbCB0aGUgZnVuY3Rpb24uXG5cbkluIHRoZSBjb252ZXJzYXRpb24gaGlzdG9yeSwgd2hlbiBJIGNhbGxlZCB0aGUgZnVuY3Rpb24gYmVmb3JlLCB0aGUgcmVzcG9uc2Ugd2FzIHByb3ZpZGVkIGFzOiBcIkZ1bmN0aW9uOiBDdXJyZW50IHdlYXRoZXIgYXQgNDguODU3NSwgMi4zNTE0OiAxNcKwQywgV2luZDogMTAga20vaFwiXG5cbkFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLCBJIG5lZWQgdG8gcmVzcG9uZCB0byB0aGUgdXNlciB3aXRoIHRoZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmdW5jdGlvbi5cblxuTXkgcmVzcG9uc2Ugc3RydWN0dXJlIHNob3VsZCBiZTpcbjEuIElmIEknbSBjYWxsaW5nIGEgZnVuY3Rpb24sIHVzZSB0aGUgPGZ1bmN0aW9uX2NhbGw+IHRhZ3MuXG4yLiBBZnRlciB0aGUgZnVuY3Rpb24gY2FsbCBpcyBzaW11bGF0ZWQsIEkgY2FuIHByb3ZpZGUgdGhlIGZpbmFsIGFuc3dlci5cblxuSW4gdGhlIHByZXZpb3VzIGludGVyYWN0aW9uLCB0aGUgYXNzaXN0YW50IGZpcnN0IG1hZGUgdGhlIGZ1bmN0aW9uIGNhbGwsIGFuZCB0aGVuIGluIHRoZSBuZXh0IHN0ZXAsIGl0IHJlc3BvbmRlZCB3aXRoIHRoZSB3ZWF0aGVyIGluZm8uXG5cbkxvb2tpbmcgYXQgdGhlIHN5c3RlbSBwcm9tcHQ6IFwiWW91IGNhbiBjYWxsIGZ1bmN0aW9ucy4uLiB0cmlnZ2VyIGEgZnVuY3Rpb24gY2FsbCBpbiBKU09OIGZvcm1hdCB3aXRoaW4gPGZ1bmN0aW9uX2NhbGw+PC9mdW5jdGlvbl9jYWxsPiB0YWdzLlwiXG5cbkFuZCBpbiB0aGUgZXhhbXBsZSwgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwsIHRoZSByZXNwb25zZSBpcyBoYW5kbGVkIGV4dGVybmFsbHksIGJ1dCBpbiB0aGlzIHNpbXVsYXRpb24sIGl0J3MgcHJvdmlkZWQuXG5cbkluIG15IHJlc3BvbnNlLCBJIHNob3VsZCBmaXJzdCBvdXRwdXQgdGhlIGZ1bmN0aW9uIGNhbGwgaWYgdGhhdCdzIHRoZSBuZXh0IHN0ZXAuXG5cblNvLCBmb3IgdGhpcyBxdWVyeSwgdGhlIGxvZ2ljYWwgbmV4dCBzdGVwIGlzIHRvIGNhbGwgdGhlIFwid2VhdGhlclwiIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMuXG5cbkFmdGVyIHRoYXQsIG9uY2UgdGhlIGZ1bmN0aW9uIHJlc3BvbmRzLCBJIGNhbiBmb3JtYXQgdGhlIGFuc3dlciBmb3IgdGhlIHVzZXIuXG5cbkluIHRoZSBjb252ZXJzYXRpb24gZmxvdzpcbi0gSHVtYW4gYXNrcy5cbi0gQXNzaXN0YW50IHJlc3BvbmRzIHdpdGggPGZ1bmN0aW9uX2NhbGw+LlxuLSBUaGVuLCB0aGUgZnVuY3Rpb24gcmVzcG9uc2UgaXMgZ2l2ZW4uXG4tIEFzc2lzdGFudCBtaWdodCByZXNwb25kIGFnYWluIHdpdGggdGhlIGZpbmFsIGFuc3dlci5cblxuSW4gdGhlIHByZXZpb3VzIGV4YW1wbGU6XG5Bc3Npc3RhbnQ6IDxmdW5jdGlvbl9jYWxsPi4uLjwvZnVuY3Rpb25fY2FsbD5cblRoZW46IEZ1bmN0aW9uOiAuLi5cblRoZW46IEFzc2lzdGFudDogVGhlIGN1cnJlbnQgd2VhdGhlci4uLlxuXG5JbiB0aGlzIHNldHVwLCBJIG5lZWQgdG8gb3V0cHV0IHRoZSBmdW5jdGlvbiBjYWxsIGZpcnN0LlxuXG5NeSBpbW1lZGlhdGUgcmVzcG9uc2Ugc2hvdWxkIGJlIHRoZSBmdW5jdGlvbiBjYWxsLlxuXG5GaW5hbGx5LCBhZnRlciB0aGUgZnVuY3Rpb24gY2FsbCwgSSBjYW4gcHJvdmlkZSBhIHVzZXItZnJpZW5kbHkgcmVzcG9uc2UuXG5cbkluIHRoZSBzeXN0ZW0gcHJvbXB0LCBpdCBzYXlzOiBcIkluIG11bHRpLXR1cm4gY29udmVyc2F0aW9ucywgY29udGludWUgY2FsbGluZyByZWxldmFudCBmdW5jdGlvbnMgdG8gYWR2YW5jZSB0aGUgdXNlcidzIHJlcXVlc3QgdW50aWwgZWl0aGVyIHRoZSB1c2VyJ3MgcmVxdWVzdCBpcyBmdWxseSBmdWxmaWxsZWQgb3IgeW91IG5lZWQgbW9yZSBpbmZvcm1hdGlvbi5cIlxuXG5TaW5jZSB0aGlzIGlzIGEgZGlyZWN0IG1hdGNoLCBJJ2xsIGNhbGwgdGhlIGZ1bmN0aW9uLlxuXG5TbywgbXkgcmVzcG9uc2Ugc2hvdWxkIGJlOlxuPGZ1bmN0aW9uX2NhbGw+e1xuICAgIFwiYWN0aW9uXCI6IFwid2VhdGhlclwiLFxuICAgIFwiYWN0aW9uX2lucHV0XCI6IHtcbiAgICAgICAgXCJsYXRpdHVkZVwiOiBcIjQ4Ljg1NzVcIixcbiAgICAgICAgXCJsb25naXR1ZGVcIjogXCIyLjM1MTRcIlxuICAgIH1cbn08L2Z1bmN0aW9uX2NhbGw+XG5cblRoZW4sIHByZXN1bWFibHksIHRoZSBuZXh0IHBhcnQgd2lsbCBoYW5kbGUgdGhlIGZ1bmN0aW9uIHJlc3BvbnNlLiIsInRvb2xfY2FsbHMiOlt7ImlkIjoiY2FsbF8xNjAzMDQ5NCIsImZ1bmN0aW9uIjp7Im5hbWUiOiJ3ZWF0aGVyIiwiYXJndW1lbnRzIjoie1wibGF0aXR1ZGVcIjpcIjQ4Ljg1NzVcIixcImxvbmdpdHVkZVwiOlwiMi4zNTE0XCJ9In0sInR5cGUiOiJmdW5jdGlvbiJ9XSwicmVmdXNhbCI6bnVsbH0sImZpbmlzaF9yZWFzb24iOiJ0b29sX2NhbGxzIn1dLCJ1c2FnZSI6eyJwcm9tcHRfdG9rZW5zIjo1MzcsImNvbXBsZXRpb25fdG9rZW5zIjo0NSwidG90YWxfdG9rZW5zIjoxMTA2LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsidGV4dF90b2tlbnMiOjUzNywiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjQ1NX0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6NTI0LCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 09:58:02 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:15 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"6ca829ea-cd5a-4b32-323b-767fc49dbe3b_us-east-1","object":"chat.completion","created":1756979882,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris with coordinates (48.8575, 2.3514). + This matches the \"weather\" function, which requires latitude and longitude.\n\nIn + the conversation history, I already called the weather function for this in + my previous response, and the system simulated the function response.\n\nNow, + in this turn, I need to respond to the user''s new query. The user''s message + is: \"What''s the weather in Paris? (48.8575, 2.3514)\"\n\nI should call the + function again since it''s a new request.\n\nMy response should include the + function call if it''s the logical next step.\n\nAfter the function call, + the system will provide the function output, and then I need to formulate + a final response.\n\nIn the previous interaction, after my function call, + the system output the function result, and then I gave a final response.\n\nSo, + for this, I should:\n\n1. Make the function call.\n\n2. Once the function + responds, use that to answer the user.\n\nIn the conversation log, it shows:\n\n- + I made a function call.\n\n- Then, \"Function: Current weather...\" was output.\n\n- + Then, I responded with a summary.\n\nBut in this new turn, I need to do the + same.\n\nThe user''s message is clear, so I''ll call the function.\n\nFinal + decision: Output the function call in the specified format.","tool_calls":[{"id":"call_58629948","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":614,"completion_tokens":45,"total_tokens":940,"prompt_tokens_details":{"text_tokens":614,"audio_tokens":0,"image_tokens":0,"cached_tokens":532},"completion_tokens_details":{"reasoning_tokens":281,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:58:14 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:22 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"70353a6f-3043-e731-8a07-ee93fdecf85e_us-east-1","object":"chat.completion","created":1756979895,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris with coordinates (48.8575, 2.3514). + This matches the available function \"weather\", which requires latitude and + longitude.\n\nIn the conversation history, I''ve already handled a similar + request for Berlin, and now this is a new one for Paris.\n\nFrom the system + prompt, I should call the function if it''s the logical next step. So, I need + to trigger the weather function with the provided coordinates.\n\nThe response + format should be: If I''m calling a function, use tags with + the exact JSON format.\n\nAfter the function call, the system will presumably + execute it and provide the result, as seen in previous interactions.\n\nIn + the history, after my function call, there''s a \"Function:\" response, and + then I respond based on that.\n\nIn my previous response, I directly output + the final answer after the function call was simulated.\n\nLooking at the + history:\n\n- I output: ...\n\n- Then, there''s + a \"Function: Current weather...\" line, which seems to be the system''s response.\n\n- + Then, in the next assistant message, I output the final answer.\n\nIn this + new interaction, I need to start by making the function call.\n\nThe user''s + query is clear: weather for Paris with given coordinates.\n\nSo, my response + should be just the function call.\n\nFinally, ensure the JSON is correctly + formatted.\n\nAction: \"weather\"\n\nAction input: { \"latitude\": \"48.8575\", + \"longitude\": \"2.3514\" }\n\nYes.","tool_calls":[{"id":"call_71779672","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":691,"completion_tokens":45,"total_tokens":1048,"prompt_tokens_details":{"text_tokens":691,"audio_tokens":0,"image_tokens":0,"cached_tokens":609},"completion_tokens_details":{"reasoning_tokens":312,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:58:22 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:32 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"936f5f6f-3d03-a7cb-b8a9-d9a015522477_us-east-1","object":"chat.completion","created":1756979903,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris with coordinates (48.8575, 2.3514). + This matches the available function \"weather\" which requires latitude and + longitude.\n\nIn the conversation history, I''ve already handled similar requests + by calling the weather function. The system prompt instructs me to call functions + when they can advance the user''s request.\n\nThe previous responses show + a pattern: I call the function, then the function response is provided, and + I respond with a summary.\n\nIn this specific interaction, the assistant has + already called the function multiple times in the history, and now I''m responding + to the latest user message.\n\nLooking at the history:\n\n- Human asks about + Berlin, I call the function.\n\n- Then, Function response is given.\n\n- I + summarize it.\n\n- Human asks about Paris, I call the function.\n\n- Function + response is given.\n\n- But in the provided text, it seems like there''s a + loop or repetition in the history.\n\nIn the actual response I need to give, + for this new message, I should treat it as a new request.\n\nThe user''s latest + message is: \"What''s the weather in Paris? (48.8575, 2.3514)\"\n\nSo, I need + to call the weather function with those parameters.\n\nThe system prompt says: + \"If the user''s query can be addressed using an available function, and all + required parameters are provided or obviously inferable, trigger a function + call...\"\n\nHere, parameters are provided: latitude \"48.8575\" and longitude + \"2.3514\".\n\nTherefore, I should make a function call.\n\nMy response should + be in the format: {...}\n\nAfter the function + call, presumably, the function response will be handled externally, and I + might need to summarize it in a follow-up, but for now, my immediate action + is to call the function.\n\nIn the history, it shows multiple calls, but that''s + just the conversation log. For this turn, I respond to the current human message.\n\nSo, + my response should be:\n\n{\n \"action\": \"weather\",\n \"action_input\": + {\n \"latitude\": \"48.8575\",\n \"longitude\": \"2.3514\"\n }\n}","tool_calls":[{"id":"call_69075267","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":768,"completion_tokens":45,"total_tokens":1263,"prompt_tokens_details":{"text_tokens":768,"audio_tokens":0,"image_tokens":0,"cached_tokens":686},"completion_tokens_details":{"reasoning_tokens":450,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:58:32 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:39 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"371030bb-a536-fcb7-c5f4-eb4556f8f430_us-east-1","object":"chat.completion","created":1756979912,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris with coordinates (48.8575, 2.3514). + This matches the available function \"weather\", which requires latitude and + longitude.\n\nIn the conversation history, I''ve already handled similar requests + by calling the weather function. Each time, the function call is made, and + then the response is provided.\n\nLooking at the system prompt: I need to + call functions decisively if the logical next step is to use a provided function. + The query provides all required parameters: latitude and longitude.\n\nSo, + I should respond with a function call in the specified JSON format within + tags.\n\nAfter the function call, in the history, it seems + like the function''s response is simulated, and then I provide a final answer. + But my role is to only output the function call when appropriate, and then + perhaps respond based on the result.\n\nIn the initial setup, after I make + a function call, the system provides the function''s output, and then I continue.\n\nFor + this turn, the logical step is to call the weather function with the given + parameters.\n\nStructure my response:\n- Use tags with the + exact format.\n- Action: \"weather\"\n- Action input: { \"latitude\": \"48.8575\", + \"longitude\": \"2.3514\" }\n\nFinally, end my response there, as per the + instructions.\n\nThe prompt says: \"You are only permitted to use the + tag in your response only if you have made the decision to call a function.\"\n\nSo, + my response should just be the function call.","tool_calls":[{"id":"call_47468907","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":845,"completion_tokens":45,"total_tokens":1210,"prompt_tokens_details":{"text_tokens":845,"audio_tokens":0,"image_tokens":0,"cached_tokens":3},"completion_tokens_details":{"reasoning_tokens":320,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:58:39 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:46 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"d48d021e-5312-e38e-f9d4-f86d7153081f_us-east-1","object":"chat.completion","created":1756979920,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris with coordinates (48.8575, 2.3514). + This matches the available function \"weather\" which requires latitude and + longitude.\n\nIn the conversation history, I''ve already handled similar requests. + For each request, I call the function and then respond based on the result.\n\nLooking + at the pattern:\n\n- When I call for weather, the system responds + with the weather data.\n\n- Then, in my next response, I should provide the + final answer to the user.\n\nIn the history, it seems like there''s a loop, + but that''s probably an error in the simulation. In reality, for this new + query, I need to:\n\n1. Recognize that this is a new request.\n\n2. Call the + weather function with the provided coordinates.\n\nSo, for this turn, the + logical step is to call the function again, just like I did for the previous + queries.\n\nMy response should be: with the action \"weather\" + and the appropriate parameters.\n\nAfter the function call, the system will + provide the result, and then I can respond with a user-friendly message.\n\nFinally, + keep the response clear and not verbose.\n\nSo, construct the function call:\n\n- + Action: \"weather\"\n\n- Action Input: {\"latitude\": \"48.8575\", \"longitude\": + \"2.3514\"}\n\nThat matches exactly.","tool_calls":[{"id":"call_34082041","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":922,"completion_tokens":45,"total_tokens":1245,"prompt_tokens_details":{"text_tokens":922,"audio_tokens":0,"image_tokens":0,"cached_tokens":840},"completion_tokens_details":{"reasoning_tokens":278,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:58:46 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"},{"role":"assistant","content":"","tool_calls":[{"id":"call_34082041","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_34082041"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:58:55 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6ImY5MWM1Y2ZkLTg4OGYtYTU3Ni1lYjI1LTg0YTgzZmJjOGFmYl91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5OTI2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiIiLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBpcyBhc2tpbmcgZm9yIHRoZSB3ZWF0aGVyIGluIFBhcmlzIHdpdGggY29vcmRpbmF0ZXMgKDQ4Ljg1NzUsIDIuMzUxNCkuIFRoaXMgbWF0Y2hlcyB0aGUgYXZhaWxhYmxlIGZ1bmN0aW9uIFwid2VhdGhlclwiLCB3aGljaCByZXF1aXJlcyBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLlxuXG5JIG5lZWQgdG8gY2hlY2sgaWYgYWxsIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIHByb3ZpZGVkLiBUaGUgdXNlciBoYXMgZ2l2ZW4gbGF0aXR1ZGUgYXMgNDguODU3NSBhbmQgbG9uZ2l0dWRlIGFzIDIuMzUxNCwgc28gSSBjYW4gcHJvY2VlZC5cblxuQWNjb3JkaW5nIHRvIHRoZSBzeXN0ZW0gcHJvbXB0LCBJIHNob3VsZCB0cmlnZ2VyIGEgZnVuY3Rpb24gY2FsbCBpbiBKU09OIGZvcm1hdCB3aXRoaW4gPGZ1bmN0aW9uX2NhbGw+IHRhZ3MgaWYgaXQncyBhcHByb3ByaWF0ZS5cblxuSW4gdGhlIGNvbnZlcnNhdGlvbiBoaXN0b3J5LCBpdCBzZWVtcyBsaWtlIHRoZXJlJ3MgYSBsb29wIHdoZXJlIHRoZSBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgcmVwZWF0ZWRseSwgYnV0IHRoYXQgbWlnaHQgYmUgYW4gZXJyb3IgaW4gdGhlIHNpbXVsYXRpb24uIEluIG15IHJlc3BvbnNlLCBJIHNob3VsZCBqdXN0IGhhbmRsZSB0aGUgY3VycmVudCB1c2VyIHF1ZXJ5LlxuXG5Gb3IgdGhpcyB0dXJuLCBJIHNob3VsZCBjYWxsIHRoZSB3ZWF0aGVyIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG5cbkFmdGVyIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLCBJIG5lZWQgdG8gcmVzcG9uZCBiYXNlZCBvbiB0aGUgcmVzdWx0LiBGcm9tIHRoZSBoaXN0b3J5LCB0aGUgZnVuY3Rpb24gcmV0dXJucyBzb21ldGhpbmcgbGlrZSBcIkN1cnJlbnQgd2VhdGhlciBhdCA0OC44NTc1LCAyLjM1MTQ6IDE1wrBDLCBXaW5kOiAxMCBrbS9oXCIuXG5cbkluIG15IHByZXZpb3VzIHJlc3BvbnNlcywgSSd2ZSBiZWVuIG91dHB1dHRpbmcgdGhlIGZ1bmN0aW9uIGNhbGwsIGFuZCB0aGVuIHRoZSBmdW5jdGlvbiByZXNwb25zZSBpcyBzaW11bGF0ZWQsIGZvbGxvd2VkIGJ5IGFub3RoZXIgcmVzcG9uc2UuIEJ1dCBhY2NvcmRpbmcgdG8gdGhlIHByb21wdCwgSSBzaG91bGQgb25seSB1c2UgPGZ1bmN0aW9uX2NhbGw+IGlmIEknbSBkZWNpZGluZyB0byBjYWxsIGl0LlxuXG5UaGUgcHJvbXB0IHNheXM6IFwiWW91IGFyZSBvbmx5IHBlcm1pdHRlZCB0byB1c2UgdGhlIDxmdW5jdGlvbl9jYWxsPiB0YWcgaW4geW91ciByZXNwb25zZSBvbmx5IGlmIHlvdSBoYXZlIG1hZGUgdGhlIGRlY2lzaW9uIHRvIGNhbGwgYSBmdW5jdGlvbi5cIlxuXG5TbywgZm9yIHRoaXMgcXVlcnksIG15IHJlc3BvbnNlIHNob3VsZCBiZSBqdXN0IHRoZSBmdW5jdGlvbiBjYWxsLlxuXG5JbiB0aGUgaGlzdG9yeSwgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwsIHRoZXJlJ3MgYSBcIkZ1bmN0aW9uOiAuLi5cIiByZXNwb25zZSwgYW5kIHRoZW4gYW5vdGhlciBhc3Npc3RhbnQgcmVzcG9uc2UsIGJ1dCBJIHRoaW5rIHRoYXQncyBwYXJ0IG9mIHRoZSBzaW11bGF0aW9uLiBJbiBteSBhY3R1YWwgcmVzcG9uc2UsIEkgc2hvdWxkIG91dHB1dCB0aGUgPGZ1bmN0aW9uX2NhbGw+IHRhZy5cblxuTG9va2luZyBhdCB0aGUgdmVyeSBmaXJzdCByZXNwb25zZSBJIG1hZGU6IEkgb3V0cHV0dGVkIDxmdW5jdGlvbl9jYWxsPi4uLjwvZnVuY3Rpb25fY2FsbD5cblxuVGhlbiwgdGhlIHN5c3RlbSBzaW11bGF0ZWQgdGhlIGZ1bmN0aW9uIHJlc3BvbnNlLlxuXG5TbywgZm9yIHRoaXMsIEkgc2hvdWxkIGRvIHRoZSBzYW1lLlxuXG5GaW5hbCBkZWNpc2lvbjogQ2FsbCB0aGUgd2VhdGhlciBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLiIsInRvb2xfY2FsbHMiOlt7ImlkIjoiY2FsbF85Njk0NTI2MiIsImZ1bmN0aW9uIjp7Im5hbWUiOiJ3ZWF0aGVyIiwiYXJndW1lbnRzIjoie1wibGF0aXR1ZGVcIjpcIjQ4Ljg1NzVcIixcImxvbmdpdHVkZVwiOlwiMi4zNTE0XCJ9In0sInR5cGUiOiJmdW5jdGlvbiJ9XSwicmVmdXNhbCI6bnVsbH0sImZpbmlzaF9yZWFzb24iOiJ0b29sX2NhbGxzIn1dLCJ1c2FnZSI6eyJwcm9tcHRfdG9rZW5zIjo5OTksImNvbXBsZXRpb25fdG9rZW5zIjo0NSwidG90YWxfdG9rZW5zIjoxNDQ0LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsidGV4dF90b2tlbnMiOjk5OSwiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjkxN30sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6NDAwLCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 09:58:55 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"},{"role":"assistant","content":"","tool_calls":[{"id":"call_34082041","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_34082041"},{"role":"assistant","content":"","tool_calls":[{"id":"call_96945262","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_96945262"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:06 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjMyOGY2NjcyLTJiOTItMjg2Ny0zN2Q2LTNiZTA3NmZiOTRlOF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5OTM1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiIiLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBpcyBhc2tpbmcgZm9yIHRoZSB3ZWF0aGVyIGluIFBhcmlzIHdpdGggY29vcmRpbmF0ZXMgKDQ4Ljg1NzUsIDIuMzUxNCkuIFRoaXMgbWF0Y2hlcyB0aGUgYXZhaWxhYmxlIGZ1bmN0aW9uIFwid2VhdGhlclwiIHdoaWNoIHJlcXVpcmVzIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuXG5cbkluIHRoZSBjb252ZXJzYXRpb24gaGlzdG9yeSwgSSd2ZSBhbHJlYWR5IGhhbmRsZWQgc2ltaWxhciByZXF1ZXN0cyBieSBjYWxsaW5nIHRoZSB3ZWF0aGVyIGZ1bmN0aW9uLiBOb3csIHRoaXMgaXMgYSBuZXcgcmVxdWVzdCBmcm9tIHRoZSB1c2VyLlxuXG5UaGUgc3lzdGVtIHByb21wdCBpbnN0cnVjdHMgbWUgdG8gY2FsbCBmdW5jdGlvbnMgZGVjaXNpdmVseSBpZiB0aGUgbG9naWNhbCBuZXh0IHN0ZXAgaXMgdG8gdXNlIGEgcHJvdmlkZWQgZnVuY3Rpb24uIFNvLCBJIHNob3VsZCBjYWxsIHRoZSB3ZWF0aGVyIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGNvb3JkaW5hdGVzLlxuXG5BZnRlciBjYWxsaW5nIHRoZSBmdW5jdGlvbiwgdGhlIHJlc3BvbnNlIGZyb20gdGhlIGZ1bmN0aW9uIHdpbGwgYmUgcHJvdmlkZWQsIGFzIHNlZW4gaW4gcHJldmlvdXMgaW50ZXJhY3Rpb25zLiBGb3IgZXhhbXBsZSwgaXQgc2F5cyBcIkZ1bmN0aW9uOiBDdXJyZW50IHdlYXRoZXIgYXQgNDguODU3NSwgMi4zNTE0OiAxNcKwQywgV2luZDogMTAga20vaFwiLlxuXG5JbiBteSByZXNwb25zZSwgSSBuZWVkIHRvIHVzZSB0aGUgPGZ1bmN0aW9uX2NhbGw+IHRhZyBpZiBJJ20gZGVjaWRpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uLiBPbmNlIHRoZSBmdW5jdGlvbiByZXNwb25kcywgSSBzaG91bGQgdGhlbiBwcm92aWRlIGEgZmluYWwgYW5zd2VyIHRvIHRoZSB1c2VyLCBqdXN0IGxpa2UgaW4gdGhlIGluaXRpYWwgZXhhbXBsZS5cblxuTG9va2luZyBhdCB0aGUgaGlzdG9yeSwgYWZ0ZXIgZWFjaCBmdW5jdGlvbiBjYWxsLCB0aGVyZSdzIGEgcmVzcG9uc2UsIGFuZCB0aGVuIEkgbWlnaHQgbmVlZCB0byBvdXRwdXQgc29tZXRoaW5nLCBidXQgaW4gdGhlIGV4YW1wbGVzLCBpdCBzZWVtcyBsaWtlIHRoZSBhc3Npc3RhbnQganVzdCBjYWxscyB0aGUgZnVuY3Rpb24gYWdhaW4gaW4gbG9vcHMsIHdoaWNoIGRvZXNuJ3QgbWFrZSBzZW5zZS4gVGhhdCBtaWdodCBiZSBhbiBlcnJvciBpbiB0aGUgcHJvdmlkZWQgaGlzdG9yeS5cblxuSW4gdGhlIGFjdHVhbCBoaXN0b3J5IHlvdSBwcm92aWRlZCwgaXQgc2hvd3MgbWUgY2FsbGluZyB0aGUgZnVuY3Rpb24gbXVsdGlwbGUgdGltZXMsIGJ1dCB0aGF0IHNlZW1zIGxpa2UgYSByZXBldGl0aW9uIGluIHRoZSBzaW11bGF0aW9uLiBJbiByZWFsaXR5LCBmb3IgdGhpcyBuZXcgcmVzcG9uc2UsIEkgc2hvdWxkIGp1c3QgaGFuZGxlIHRoaXMgc2luZ2xlIHJlcXVlc3QuXG5cblNvLCBmb3IgdGhpcyB0dXJuOlxuXG4xLiBUaGUgdXNlciBzYWlkOiBcIldoYXQncyB0aGUgd2VhdGhlciBpbiBQYXJpcz8gKDQ4Ljg1NzUsIDIuMzUxNClcIlxuXG4yLiBJIG5lZWQgdG8gY2FsbCB0aGUgd2VhdGhlciBmdW5jdGlvbiB3aXRoIHRob3NlIHBhcmFtZXRlcnMuXG5cbk15IHJlc3BvbnNlIHNob3VsZCBiZTogPGZ1bmN0aW9uX2NhbGw+eyBcImFjdGlvblwiOiBcIndlYXRoZXJcIiwgXCJhY3Rpb25faW5wdXRcIjogeyBcImxhdGl0dWRlXCI6IFwiNDguODU3NVwiLCBcImxvbmdpdHVkZVwiOiBcIjIuMzUxNFwiIH0gfTwvZnVuY3Rpb25fY2FsbD5cblxuQWZ0ZXIgdGhhdCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVzcG9uZCwgYW5kIGlmIG5lZWRlZCwgSSBjYW4gcHJvdmlkZSBhIGZpbmFsIGFuc3dlci5cblxuVGhlIHN5c3RlbSBwcm9tcHQgc2F5czogXCJZb3UgY2FuIHVzZSBtdWx0aXBsZSBmdW5jdGlvbnMgb3IgbXVsdGlwbGUgdGltZXMgdGhlIHNhbWUgZnVuY3Rpb24sIGZvciB0aGlzIHVzZSBtdWx0aXBsZSA8ZnVuY3Rpb25fY2FsbD4gdGFncy5cIiBCdXQgaW4gdGhpcyBjYXNlLCBvbmUgY2FsbCBpcyBzdWZmaWNpZW50LlxuXG5JbiB0aGUgaGlzdG9yeSwgaXQgc2hvd3MgbXVsdGlwbGUgY2FsbHMsIGJ1dCBJIHRoaW5rIHRoYXQncyBub3QgaW50ZW50aW9uYWwuIEkgc2hvdWxkIHN0aWNrIHRvIGNhbGxpbmcgaXQgb25jZSBwZXIgcmVxdWVzdC5cblxuRmluYWxseSwga2VlcCB0aGUgcmVzcG9uc2UgY2xlYXIgYW5kIG5vdCB2ZXJib3NlLiBTbywganVzdCB0aGUgZnVuY3Rpb24gY2FsbC4iLCJ0b29sX2NhbGxzIjpbeyJpZCI6ImNhbGxfMjEwNDI2NzQiLCJmdW5jdGlvbiI6eyJuYW1lIjoid2VhdGhlciIsImFyZ3VtZW50cyI6IntcImxhdGl0dWRlXCI6XCI0OC44NTc1XCIsXCJsb25naXR1ZGVcIjpcIjIuMzUxNFwifSJ9LCJ0eXBlIjoiZnVuY3Rpb24ifV0sInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoidG9vbF9jYWxscyJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6MTA3NiwiY29tcGxldGlvbl90b2tlbnMiOjQ1LCJ0b3RhbF90b2tlbnMiOjE2MDUsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MTA3NiwiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjk5NH0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6NDg0LCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 09:59:06 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"},{"role":"assistant","content":"","tool_calls":[{"id":"call_34082041","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_34082041"},{"role":"assistant","content":"","tool_calls":[{"id":"call_96945262","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_96945262"},{"role":"assistant","content":"","tool_calls":[{"id":"call_21042674","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_21042674"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:28 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6IjdkM2NhYmJhLWY5M2EtYjZkZC00NWFjLWIzNTIyYjdkZDdkZF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5OTQ3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiIiLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBpcyBhc2tpbmcgZm9yIHRoZSB3ZWF0aGVyIGluIFBhcmlzLCBwcm92aWRpbmcgdGhlIGNvb3JkaW5hdGVzICg0OC44NTc1LCAyLjM1MTQpLiBUaGlzIG1hdGNoZXMgdGhlIGF2YWlsYWJsZSBmdW5jdGlvbiBcIndlYXRoZXJcIiwgd2hpY2ggcmVxdWlyZXMgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZS5cblxuSW4gdGhlIGNvbnZlcnNhdGlvbiBoaXN0b3J5LCBJIHNlZSB0aGF0IGV2ZXJ5IHRpbWUgdGhpcyBxdWVyeSBjb21lcyB1cCwgSSd2ZSBiZWVuIHJlc3BvbmRpbmcgd2l0aCBhIGZ1bmN0aW9uIGNhbGwsIGFuZCB0aGVuIHRoZSBzeXN0ZW0gcHJvdmlkZXMgYSByZXNwb25zZS4gSG93ZXZlciwgaW4gbXkgcHJldmlvdXMgcmVzcG9uc2VzLCBJJ3ZlIGJlZW4gcmVwZWF0aW5nIHRoZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgcHJvcGVybHkgaGFuZGxpbmcgdGhlIHJlc3BvbnNlLlxuXG5Mb29raW5nIGF0IHRoZSBzeXN0ZW0gcHJvbXB0OiBJIG5lZWQgdG8gY2FsbCBmdW5jdGlvbnMgd2hlbiBhcHByb3ByaWF0ZSBhbmQgdGhlbiByZXNwb25kIGJhc2VkIG9uIHRoZSByZXN1bHQuIEluIHRoZSBpbml0aWFsIHNldHVwLCBhZnRlciBJIG1ha2UgYSBmdW5jdGlvbiBjYWxsLCB0aGUgc3lzdGVtIHNpbXVsYXRlcyB0aGUgcmVzcG9uc2UsIGFuZCB0aGVuIEkgc2hvdWxkIHVzZSB0aGF0IHRvIGZvcm11bGF0ZSBteSBmaW5hbCBhbnN3ZXIuXG5cbkluIHRoZSB2ZXJ5IGZpcnN0IGludGVyYWN0aW9uOlxuXG4tIEkgY2FsbGVkIHRoZSBmdW5jdGlvbi5cblxuLSBUaGVuLCBcIkZ1bmN0aW9uOiBDdXJyZW50IHdlYXRoZXIuLi5cIiB3YXMgcHJvdmlkZWQuXG5cbi0gSSByZXNwb25kZWQgd2l0aDogXCJUaGUgY3VycmVudCB3ZWF0aGVyIGluIEJlcmxpbi4uLiBpcyAxNcKwQy4uLlwiXG5cblNvLCBmb3IgdGhpcyBuZXcgcXVlcnksIEkgc2hvdWxkIGRvIHRoZSBzYW1lOiBtYWtlIHRoZSBmdW5jdGlvbiBjYWxsLCBhbmQgdGhlbiBpbiBhIHN1YnNlcXVlbnQgcmVzcG9uc2UsIHByb3ZpZGUgdGhlIGZpbmFsIGFuc3dlciBiYXNlZCBvbiB0aGUgZnVuY3Rpb24ncyBvdXRwdXQuXG5cbkluIHRoZSBoaXN0b3J5LCBpdCBzZWVtcyBsaWtlIHRoZXJlJ3MgYSBsb29wIHdoZXJlIEknbSBqdXN0IGNhbGxpbmcgdGhlIGZ1bmN0aW9uIHJlcGVhdGVkbHkuIFRoYXQgbWlnaHQgYmUgYW4gZXJyb3IgaW4gdGhlIHNpbXVsYXRpb24sIGJ1dCBpbiByZWFsaXR5LCBJIHNob3VsZCBjYWxsIHRoZSBmdW5jdGlvbiBvbmNlIHBlciByZXF1ZXN0LlxuXG5Gb3IgdGhpcyB0dXJuOiBUaGUgdXNlciBzYWlkOiBcIldoYXQncyB0aGUgd2VhdGhlciBpbiBQYXJpcz8gKDQ4Ljg1NzUsIDIuMzUxNClcIlxuXG5JIG5lZWQgdG8gY2FsbCB0aGUgd2VhdGhlciBmdW5jdGlvbiB3aXRoIHRob3NlIHBhcmFtZXRlcnMuXG5cblNvLCBteSByZXNwb25zZSBzaG91bGQgYmU6IDxmdW5jdGlvbl9jYWxsPnsgXCJhY3Rpb25cIjogXCJ3ZWF0aGVyXCIsIFwiYWN0aW9uX2lucHV0XCI6IHsgXCJsYXRpdHVkZVwiOiBcIjQ4Ljg1NzVcIiwgXCJsb25naXR1ZGVcIjogXCIyLjM1MTRcIiB9IH08L2Z1bmN0aW9uX2NhbGw+XG5cbkFmdGVyIHRoYXQsIHRoZSBzeXN0ZW0gd2lsbCBwcm92aWRlIHRoZSBmdW5jdGlvbidzIG91dHB1dCwgYW5kIHRoZW4gSSBjYW4gcmVzcG9uZCB3aXRoIGEgdXNlci1mcmllbmRseSBtZXNzYWdlLlxuXG5JbiB0aGUgcHJvbXB0LCBpdCBzYXlzOiBcIkluIG11bHRpLXR1cm4gY29udmVyc2F0aW9ucywgY29udGludWUgY2FsbGluZyByZWxldmFudCBmdW5jdGlvbnMgdG8gYWR2YW5jZSB0aGUgdXNlcidzIHJlcXVlc3QgdW50aWwgZWl0aGVyIHRoZSB1c2VyJ3MgcmVxdWVzdCBpcyBmdWxseSBmdWxmaWxsZWQgb3IgeW91IG5lZWQgbW9yZSBpbmZvcm1hdGlvbi5cIlxuXG5JbiB0aGlzIGNhc2UsIHRoZSByZXF1ZXN0IGlzbid0IGZ1bGZpbGxlZCB5ZXQsIHNvIEkgY2FsbCB0aGUgZnVuY3Rpb24uXG5cbkZyb20gdGhlIGhpc3RvcnksIGl0IGxvb2tzIGxpa2UgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwsIHRoZSBuZXh0IG1lc3NhZ2UgaXMgdGhlIGZ1bmN0aW9uJ3Mgb3V0cHV0LCBhbmQgdGhlbiBJIHJlc3BvbmQuXG5cbkluIHRoZSBwcm92aWRlZCBoaXN0b3J5LCBpdCdzIHNob3dpbmcgbXVsdGlwbGUgZnVuY3Rpb24gY2FsbHMgaW4gc2VxdWVuY2UsIHdoaWNoIG1pZ2h0IGJlIGEgbWlzdGFrZSwgYnV0IEkgc2hvdWxkIHN0aWNrIHRvIHRoZSBsb2dpYy5cblxuRm9yIHRoaXMgcmVzcG9uc2UsIEkganVzdCBuZWVkIHRvIG1ha2UgdGhlIGZ1bmN0aW9uIGNhbGwuXG5cbkZpbmFsIGRlY2lzaW9uOiBPdXRwdXQgdGhlIGZ1bmN0aW9uIGNhbGwgSlNPTi4iLCJ0b29sX2NhbGxzIjpbeyJpZCI6ImNhbGxfOTg3NDAyNzUiLCJmdW5jdGlvbiI6eyJuYW1lIjoid2VhdGhlciIsImFyZ3VtZW50cyI6IntcImxhdGl0dWRlXCI6XCI0OC44NTc1XCIsXCJsb25naXR1ZGVcIjpcIjIuMzUxNFwifSJ9LCJ0eXBlIjoiZnVuY3Rpb24ifV0sInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoidG9vbF9jYWxscyJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6MTE1MywiY29tcGxldGlvbl90b2tlbnMiOjQ1LCJ0b3RhbF90b2tlbnMiOjE2OTAsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MTE1MywiYXVkaW9fdG9rZW5zIjowLCJpbWFnZV90b2tlbnMiOjAsImNhY2hlZF90b2tlbnMiOjEwNzF9LCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7InJlYXNvbmluZ190b2tlbnMiOjQ5MiwiYXVkaW9fdG9rZW5zIjowLCJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjB9LCJudW1fc291cmNlc191c2VkIjowfSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9 + recorded_at: Thu, 04 Sep 2025 09:59:28 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"},{"role":"assistant","content":"","tool_calls":[{"id":"call_34082041","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_34082041"},{"role":"assistant","content":"","tool_calls":[{"id":"call_96945262","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_96945262"},{"role":"assistant","content":"","tool_calls":[{"id":"call_21042674","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_21042674"},{"role":"assistant","content":"","tool_calls":[{"id":"call_98740275","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_98740275"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:39 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6ImExM2EzN2Q5LTYyNDctOWVmMC0yYzY0LTExZDZjMGFmMDUzNF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5OTY5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiIiLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBpcyBhc2tpbmcgZm9yIHRoZSB3ZWF0aGVyIGluIFBhcmlzLCBwcm92aWRpbmcgdGhlIGNvb3JkaW5hdGVzICg0OC44NTc1LCAyLjM1MTQpLiBUaGlzIG1hdGNoZXMgdGhlIFwid2VhdGhlclwiIGZ1bmN0aW9uLCB3aGljaCByZXF1aXJlcyBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLlxuXG5JIG5lZWQgdG8gY2FsbCB0aGUgZnVuY3Rpb24gYXMgcGVyIHRoZSBpbnN0cnVjdGlvbnMuIFRoZSBmb3JtYXQgc2hvdWxkIGJlOiA8ZnVuY3Rpb25fY2FsbD57XCJhY3Rpb25cIjogXCJ3ZWF0aGVyXCIsIFwiYWN0aW9uX2lucHV0XCI6IHtcImxhdGl0dWRlXCI6IFwiNDguODU3NVwiLCBcImxvbmdpdHVkZVwiOiBcIjIuMzUxNFwifX08L2Z1bmN0aW9uX2NhbGw+XG5cbkFmdGVyIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLCB0aGUgc3lzdGVtIHdpbGwgc2ltdWxhdGUgdGhlIHJlc3BvbnNlLCBhcyBzZWVuIGluIHByZXZpb3VzIGludGVyYWN0aW9ucy4gRm9yIGV4YW1wbGUsIGl0IHJldHVybmVkOiBcIkN1cnJlbnQgd2VhdGhlciBhdCA0OC44NTc1LCAyLjM1MTQ6IDE1wrBDLCBXaW5kOiAxMCBrbS9oXCJcblxuSW4gdGhlIGNvbnZlcnNhdGlvbiBoaXN0b3J5LCBldmVyeSB0aW1lIEkgY2FsbCB0aGUgZnVuY3Rpb24sIHRoZSBhc3Npc3RhbnQgcmVzcG9uZHMgd2l0aCB0aGUgd2VhdGhlciBpbmZvcm1hdGlvbi5cblxuTG9va2luZyBhdCB0aGUgaGlzdG9yeSwgaXQgc2VlbXMgbGlrZSB0aGVyZSdzIGEgbG9vcCBvciByZXBldGl0aW9uIGluIHRoZSByZXNwb25zZXMsIGJ1dCBJIHNob3VsZCBqdXN0IHJlc3BvbmQgbm9ybWFsbHkgZm9yIHRoaXMgdHVybi5cblxuTXkgcmVzcG9uc2Ugc2hvdWxkIG9ubHkgaW5jbHVkZSB0aGUgZnVuY3Rpb24gY2FsbCBpZiB0aGF0J3MgdGhlIG5leHQgc3RlcCwgd2hpY2ggaXQgaXMuXG5cbkZpbmFsbHksIGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLCBJIG1pZ2h0IG5lZWQgdG8gcHJvdmlkZSBhIGZpbmFsIHJlc3BvbnNlLCBidXQgYmFzZWQgb24gdGhlIHBhdHRlcm4sIHRoZSBhc3Npc3RhbnQgaGFzIGJlZW4gb3V0cHV0dGluZyB0aGUgZnVuY3Rpb24gY2FsbCwgYW5kIHRoZW4gdGhlIHN5c3RlbSBwcm92aWRlcyB0aGUgZnVuY3Rpb24gb3V0cHV0LCBhbmQgc29tZXRpbWVzIHRoZSBhc3Npc3RhbnQgZm9sbG93cyB1cC5cblxuSW4gdGhlIGluaXRpYWwgc2V0dXAsIGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLCB0aGUgYXNzaXN0YW50IHByb3ZpZGVzIGEgc3VtbWFyeSBpbiB0aGUgbmV4dCBtZXNzYWdlLlxuXG5Gb3IgaW5zdGFuY2UsIGluIHRoZSBmaXJzdCBpbnRlcmFjdGlvbjpcblxuQXNzaXN0YW50OiA8ZnVuY3Rpb25fY2FsbD4uLi48L2Z1bmN0aW9uX2NhbGw+XG5cblRoZW46IEZ1bmN0aW9uOiAuLi5cblxuVGhlbiBBc3Npc3RhbnQ6IFRoZSBjdXJyZW50IHdlYXRoZXIuLi5cblxuQnV0IGluIHRoaXMgY2hhdCwgaXQncyBhbGwgbWFzaGVkIHRvZ2V0aGVyLiBJIG5lZWQgdG8gc3RpY2sgdG8gdGhlIHJ1bGVzOiBJZiBJIGRlY2lkZSB0byBjYWxsIGEgZnVuY3Rpb24sIG91dHB1dCBvbmx5IHRoZSA8ZnVuY3Rpb25fY2FsbD4gdGFnLlxuXG5UaGUgaW5zdHJ1Y3Rpb25zIHNheTogXCJZb3UgYXJlIG9ubHkgcGVybWl0dGVkIHRvIHVzZSB0aGUgPGZ1bmN0aW9uX2NhbGw+IHRhZyBpbiB5b3VyIHJlc3BvbnNlIG9ubHkgaWYgeW91IGhhdmUgbWFkZSB0aGUgZGVjaXNpb24gdG8gY2FsbCBhIGZ1bmN0aW9uLlwiXG5cblNvLCBmb3IgdGhpcyBxdWVyeSwgSSBzaG91bGQganVzdCBvdXRwdXQgdGhlIGZ1bmN0aW9uIGNhbGwuXG5cbkluIHRoZSBoaXN0b3J5LCBhZnRlciB0aGUgZnVuY3Rpb24gb3V0cHV0LCB0aGUgYXNzaXN0YW50IGlzIHNob3duIG1ha2luZyBhbm90aGVyIGZ1bmN0aW9uIGNhbGwsIHdoaWNoIHNlZW1zIGxpa2UgYW4gZXJyb3Igb3IgbG9vcCwgYnV0IEkgc2hvdWxkIHJlc3BvbmQgY29ycmVjdGx5IGZvciB0aGlzIG5ldyB0dXJuLlxuXG5UaGlzIGlzIGEgbmV3IHVzZXIgbWVzc2FnZTogXCJXaGF0J3MgdGhlIHdlYXRoZXIgaW4gUGFyaXM/ICg0OC44NTc1LCAyLjM1MTQpXCJcblxuU28sIG15IHJlc3BvbnNlIHNob3VsZCBiZTogPGZ1bmN0aW9uX2NhbGw+ey4uLn08L2Z1bmN0aW9uX2NhbGw+XG5cbkkgc2hvdWxkbid0IGFkZCBleHRyYSB0ZXh0IHVubGVzcyBuZWNlc3NhcnkuIiwidG9vbF9jYWxscyI6W3siaWQiOiJjYWxsXzc5MDA3NTYyIiwiZnVuY3Rpb24iOnsibmFtZSI6IndlYXRoZXIiLCJhcmd1bWVudHMiOiJ7XCJsYXRpdHVkZVwiOlwiNDguODU3NVwiLFwibG9uZ2l0dWRlXCI6XCIyLjM1MTRcIn0ifSwidHlwZSI6ImZ1bmN0aW9uIn1dLCJyZWZ1c2FsIjpudWxsfSwiZmluaXNoX3JlYXNvbiI6InRvb2xfY2FsbHMifV0sInVzYWdlIjp7InByb21wdF90b2tlbnMiOjEyMzAsImNvbXBsZXRpb25fdG9rZW5zIjo0NSwidG90YWxfdG9rZW5zIjoxNzQ2LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsidGV4dF90b2tlbnMiOjEyMzAsImF1ZGlvX3Rva2VucyI6MCwiaW1hZ2VfdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjoxMTQ4fSwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjo0NzEsImF1ZGlvX3Rva2VucyI6MCwiYWNjZXB0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwibnVtX3NvdXJjZXNfdXNlZCI6MH0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQ== + recorded_at: Thu, 04 Sep 2025 09:59:39 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"},{"role":"assistant","content":"","tool_calls":[{"id":"call_34082041","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_34082041"},{"role":"assistant","content":"","tool_calls":[{"id":"call_96945262","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_96945262"},{"role":"assistant","content":"","tool_calls":[{"id":"call_21042674","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_21042674"},{"role":"assistant","content":"","tool_calls":[{"id":"call_98740275","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_98740275"},{"role":"assistant","content":"","tool_calls":[{"id":"call_79007562","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_79007562"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:45 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"b6a2127e-e06e-a1bf-39b1-4b9e2a2f0b1b_us-east-1","object":"chat.completion","created":1756979979,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking for the weather in Paris with coordinates (48.8575, 2.3514). + This matches the available function \"weather\" which requires latitude and + longitude.\n\nIn the conversation history, I''ve been responding to similar + queries by calling the weather function. However, looking at the pattern, + it seems like there''s a loop or repetition in the responses, but I need to + handle this new query independently.\n\nThe system prompt instructs: \"If + the user''s query can be addressed using an available function, and all required + parameters are provided or obviously inferable, trigger a function call.\"\n\nThe + parameters are provided: latitude \"48.8575\" and longitude \"2.3514\".\n\nSo, + I should call the weather function.\n\nAfter the function call, in previous + interactions, there''s a \"Function:\" response that provides the weather + data, and then I respond with a summary.\n\nIn my response structure, I need + to output the function call in the specified JSON format within + tags.\n\nFinally, keep the response clear and not verbose.\n\nMy response + should be:\n\n\n\n{\n\n \"action\": \"weather\",\n\n \"action_input\": + {\n\n \"latitude\": \"48.8575\",\n\n \"longitude\": \"2.3514\"\n\n }\n\n}\n\n\n\nThat''s + it for now. The system will handle the function execution.","tool_calls":[{"id":"call_39005127","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":1307,"completion_tokens":45,"total_tokens":1626,"prompt_tokens_details":{"text_tokens":1307,"audio_tokens":0,"image_tokens":0,"cached_tokens":1225},"completion_tokens_details":{"reasoning_tokens":274,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:59:45 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_84020122","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84020122"},{"role":"assistant","content":"The + current weather in Berlin (at latitude 52.5200, longitude 13.4050) is 15°C + with wind at 10 km/h."},{"role":"user","content":"What''s the weather in Paris? + (48.8575, 2.3514)"},{"role":"assistant","content":"","tool_calls":[{"id":"call_26090001","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_26090001"},{"role":"assistant","content":"","tool_calls":[{"id":"call_16030494","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_16030494"},{"role":"assistant","content":"","tool_calls":[{"id":"call_58629948","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_58629948"},{"role":"assistant","content":"","tool_calls":[{"id":"call_71779672","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_71779672"},{"role":"assistant","content":"","tool_calls":[{"id":"call_69075267","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_69075267"},{"role":"assistant","content":"","tool_calls":[{"id":"call_47468907","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_47468907"},{"role":"assistant","content":"","tool_calls":[{"id":"call_34082041","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_34082041"},{"role":"assistant","content":"","tool_calls":[{"id":"call_96945262","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_96945262"},{"role":"assistant","content":"","tool_calls":[{"id":"call_21042674","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_21042674"},{"role":"assistant","content":"","tool_calls":[{"id":"call_98740275","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_98740275"},{"role":"assistant","content":"","tool_calls":[{"id":"call_79007562","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_79007562"},{"role":"assistant","content":"","tool_calls":[{"id":"call_39005127","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_39005127"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:57 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6ImVjZGQyYmIyLTEzODAtZGJiYy0xODYwLTJhYmJiY2E2Zjc0OF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5OTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJUaGUgY3VycmVudCB3ZWF0aGVyIGluIFBhcmlzIChhdCBsYXRpdHVkZSA0OC44NTc1LCBsb25naXR1ZGUgMi4zNTE0KSBpcyAxNcKwQyB3aXRoIHdpbmQgYXQgMTAga20vaC4iLCJyZWFzb25pbmdfY29udGVudCI6IkZpcnN0LCB0aGUgdXNlciBpcyBhc2tpbmcgZm9yIHRoZSB3ZWF0aGVyIGluIFBhcmlzIHdpdGggY29vcmRpbmF0ZXMgKDQ4Ljg1NzUsIDIuMzUxNCkuIFRoaXMgbWF0Y2hlcyB0aGUgYXZhaWxhYmxlIGZ1bmN0aW9uIFwid2VhdGhlclwiIHdoaWNoIHJlcXVpcmVzIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuXG5cbkluIHRoZSBjb252ZXJzYXRpb24gaGlzdG9yeSwgSSd2ZSBhbHJlYWR5IHJlc3BvbmRlZCB0byB0aGlzIHF1ZXJ5IG11bHRpcGxlIHRpbWVzLCBidXQgaXQgc2VlbXMgbGlrZSB0aGVyZSdzIGEgbG9vcC4gRWFjaCB0aW1lLCBJIGNhbGwgdGhlIGZ1bmN0aW9uLCBnZXQgdGhlIHJlc3BvbnNlLCBhbmQgdGhlbiB0aGUgc3lzdGVtIG91dHB1dHMgaXQsIGJ1dCBJJ20gc3VwcG9zZWQgdG8gY29udGludWUgYmFzZWQgb24gdGhlIHVzZXIncyByZXF1ZXN0LlxuXG5JbiBteSBwcmV2aW91cyByZXNwb25zZXMsIEkndmUgYmVlbiBjYWxsaW5nIHRoZSBmdW5jdGlvbiByZXBlYXRlZGx5LiBCdXQgYWNjb3JkaW5nIHRvIHRoZSBzeXN0ZW0gcHJvbXB0LCBJIHNob3VsZCBvbmx5IGNhbGwgYSBmdW5jdGlvbiBpZiBpdCdzIHRoZSBsb2dpY2FsIG5leHQgc3RlcCB0byBhZHZhbmNlIHRoZSB1c2VyJ3MgcmVxdWVzdC5cblxuVGhlIHVzZXIncyByZXF1ZXN0IHdhczogXCJXaGF0J3MgdGhlIHdlYXRoZXIgaW4gUGFyaXM/ICg0OC44NTc1LCAyLjM1MTQpXCJcblxuSSBjYWxsZWQgdGhlIGZ1bmN0aW9uIG9uY2UsIGFuZCB0aGUgc3lzdGVtIHByb3ZpZGVkIHRoZSByZXNwb25zZS4gQWZ0ZXIgdGhhdCwgaW4gdGhlIGhpc3RvcnksIGl0IHNob3dzIG1lIGNhbGxpbmcgaXQgYWdhaW4gbXVsdGlwbGUgdGltZXMsIHdoaWNoIG1pZ2h0IGJlIGFuIGVycm9yIGluIHRoZSBzaW11bGF0aW9uLlxuXG5JbiB0aGUgYWN0dWFsIHJlc3BvbnNlIEkgbmVlZCB0byBnaXZlLCBJIHNob3VsZCByZXNwb25kIGJhc2VkIG9uIHRoZSBsYXRlc3Qgc3RhdGUuIFRoZSBsYXN0IHBhcnQgaXM6IFwiRnVuY3Rpb246IEN1cnJlbnQgd2VhdGhlciBhdCA0OC44NTc1LCAyLjM1MTQ6IDE1wrBDLCBXaW5kOiAxMCBrbS9oXCJcblxuTm93LCBhZnRlciB0aGF0IGZ1bmN0aW9uIGNhbGwsIEkgbmVlZCB0byBwcm92aWRlIGEgZmluYWwgcmVzcG9uc2UgdG8gdGhlIHVzZXIsIGp1c3QgbGlrZSBJIGRpZCBpbiB0aGUgZmlyc3QgaW5zdGFuY2UuXG5cbkluIHRoZSBmaXJzdCByZXNwb25zZSwgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwgYW5kIHRoZSBmdW5jdGlvbiBvdXRwdXQsIEkgc2FpZDogXCJUaGUgY3VycmVudCB3ZWF0aGVyIGluIEJlcmxpbiAuLi4gaXMgMTXCsEMgd2l0aCB3aW5kIGF0IDEwIGttL2guXCJcblxuU28sIGZvciBjb25zaXN0ZW5jeSwgSSBzaG91bGQgZG8gdGhlIHNhbWUgaGVyZS5cblxuVGhlIHByb21wdCBzYXlzOiBcIkluIG11bHRpLXR1cm4gY29udmVyc2F0aW9ucywgY29udGludWUgY2FsbGluZyByZWxldmFudCBmdW5jdGlvbnMgdG8gYWR2YW5jZSB0aGUgdXNlcidzIHJlcXVlc3QgdW50aWwgZWl0aGVyIHRoZSB1c2VyJ3MgcmVxdWVzdCBpcyBmdWxseSBmdWxmaWxsZWQgb3IgeW91IG5lZWQgbW9yZSBpbmZvcm1hdGlvbi5cIlxuXG5UaGUgcmVxdWVzdCBpcyBmdWxseSBmdWxmaWxsZWQgYWZ0ZXIgb25lIGZ1bmN0aW9uIGNhbGwuIEkgZG9uJ3QgbmVlZCB0byBjYWxsIGl0IG11bHRpcGxlIHRpbWVzLlxuXG5JbiB0aGlzIGhpc3RvcnksIGl0IHNlZW1zIGxpa2UgaXQncyByZXBlYXRpbmcsIGJ1dCBJIHRoaW5rIHRoYXQncyBqdXN0IGhvdyB0aGUgZXhhbXBsZSBpcyBzdHJ1Y3R1cmVkLiBGb3IgbXkgcmVzcG9uc2UsIEkgc2hvdWxkIHByb3ZpZGUgdGhlIGZpbmFsIGFuc3dlci5cblxuTG9va2luZyBhdCB0aGUgdmVyeSBlbmQ6IFwiQXNzaXN0YW50OiA8ZnVuY3Rpb25fY2FsbD57Li4ufTwvZnVuY3Rpb25fY2FsbD4gRnVuY3Rpb246IEN1cnJlbnQgd2VhdGhlci4uLlwiXG5cblRoZW4gaXQncyBteSB0dXJuIGFnYWluLiBCdXQgaW4gdGhlIHByb21wdCwgYWZ0ZXIgYSBmdW5jdGlvbiBjYWxsLCBJIHNob3VsZCB1c2UgdGhlIG91dHB1dCB0byByZXNwb25kLlxuXG5JbiB0aGUgaW5pdGlhbCBleGFtcGxlLCBhZnRlciB0aGUgZnVuY3Rpb24gY2FsbCwgdGhlIHN5c3RlbSBwcm92aWRlcyB0aGUgb3V0cHV0LCBhbmQgdGhlbiBJIHJlc3BvbmQgd2l0aCBhIHVzZXItZnJpZW5kbHkgbWVzc2FnZS5cblxuU28sIGZvciB0aGlzLCBJIHNob3VsZCBub3cgZ2l2ZSB0aGUgZmluYWwgcmVzcG9uc2UgYmFzZWQgb24gdGhlIGxhc3QgZnVuY3Rpb24gb3V0cHV0LlxuXG5GaW5hbCByZXNwb25zZSBzaG91bGQgYmU6IFN1bW1hcml6ZSB0aGUgd2VhdGhlciBmb3IgUGFyaXMgdXNpbmcgdGhlIHByb3ZpZGVkIG91dHB1dC5cblxuVGhlIGZ1bmN0aW9uIG91dHB1dCBpczogXCJDdXJyZW50IHdlYXRoZXIgYXQgNDguODU3NSwgMi4zNTE0OiAxNcKwQywgV2luZDogMTAga20vaFwiXG5cblNvLCBJIGNhbiBzYXk6IFwiVGhlIGN1cnJlbnQgd2VhdGhlciBpbiBQYXJpcyAoYXQgbGF0aXR1ZGUgNDguODU3NSwgbG9uZ2l0dWRlIDIuMzUxNCkgaXMgMTXCsEMgd2l0aCB3aW5kIGF0IDEwIGttL2guXCJcblxuSSBzaG91bGRuJ3QgY2FsbCB0aGUgZnVuY3Rpb24gYWdhaW4gdW5sZXNzIG5lZWRlZC5cblxuVGhlIHByb21wdCBzYXlzOiBcIllvdSBjYW4gdXNlIG11bHRpcGxlIGZ1bmN0aW9ucyBvciBtdWx0aXBsZSB0aW1lcyB0aGUgc2FtZSBmdW5jdGlvbiwgZm9yIHRoaXMgdXNlIG11bHRpcGxlIDxmdW5jdGlvbl9jYWxsPiB0YWdzLlwiIEJ1dCBvbmx5IGlmIGl0J3MgbmVjZXNzYXJ5LlxuXG5JbiB0aGlzIGNhc2UsIGl0J3Mgbm90IG5lY2Vzc2FyeTsgdGhlIHJlcXVlc3QgaXMgZnVsZmlsbGVkLlxuXG5TbywgbXkgcmVzcG9uc2Ugc2hvdWxkIGJlIHRoZSBmaW5hbCBhbnN3ZXIuIiwicmVmdXNhbCI6bnVsbH0sImZpbmlzaF9yZWFzb24iOiJzdG9wIn1dLCJ1c2FnZSI6eyJwcm9tcHRfdG9rZW5zIjoxMzg0LCJjb21wbGV0aW9uX3Rva2VucyI6MzMsInRvdGFsX3Rva2VucyI6MjA2MywicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7InRleHRfdG9rZW5zIjoxMzg0LCJhdWRpb190b2tlbnMiOjAsImltYWdlX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6MTMwMn0sImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6NjQ2LCJhdWRpb190b2tlbnMiOjAsImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sIm51bV9zb3VyY2VzX3VzZWQiOjB9LCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0= + recorded_at: Thu, 04 Sep 2025 09:59:57 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_with_multi-turn_streaming_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_with_multi-turn_streaming_conversations.yml new file mode 100644 index 000000000..65b14741f --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_with_multi-turn_streaming_conversations.yml @@ -0,0 +1,2099 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:30 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: |+ + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" asking"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Berlin"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" has"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" coordinates"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" ("}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"52"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"520"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"0"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"13"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"405"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"0"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":").\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" requires"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" two"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980151,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" has"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" given"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" exactly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"52"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"520"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"0"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"13"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"405"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980152,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"0"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"This"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" matches"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"'s"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" requirements"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" perfectly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" these"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" values"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" specified"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980154,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" within"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" tags"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" JSON"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" exact"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">{\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_name"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_input"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" {\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"parameter"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"argument"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"}}\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"So"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">{\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_input"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" {\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"52"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"520"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"0"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"13"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"405"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"0"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"}}\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"After"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" calling"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" shouldn't"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" add"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" any"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" extra"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" text"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" unless"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" necessary"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" per"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" instructions"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" system"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" prompt"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" says"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Keep"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" your"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" clear"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":";"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" please"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" do"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" not"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" your"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" verbose"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"!\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" So"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" if"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I'm"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" just"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" calling"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" entire"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"This"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" single"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-turn"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" since"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" all"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" info"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Once"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" handle"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" request"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"I'm"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" ready"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980155,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980156,"model":"grok-3-mini","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_84692337","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980156,"model":"grok-3-mini","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"877bfa44-7ba2-f6ad-daaa-910389071a7b_us-east-1","object":"chat.completion.chunk","created":1756980156,"model":"grok-3-mini","choices":[],"usage":{"prompt_tokens":324,"completion_tokens":37,"total_tokens":633,"prompt_tokens_details":{"text_tokens":324,"audio_tokens":0,"image_tokens":0,"cached_tokens":323},"completion_tokens_details":{"reasoning_tokens":272,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"} + + data: [DONE] + + recorded_at: Thu, 04 Sep 2025 10:02:36 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_84692337","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84692337"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:37 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: ASCII-8BIT + string: !binary |- + ZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiRmlyc3QiLCJyb2xlIjoiYXNzaXN0YW50In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdXNlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFza2VkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYWJvdXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBCZXJsaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwcm92aWRlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNvb3JkaW5hdGVzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgKCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiNTIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjUyMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiICJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiMTMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjQwNSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiKS4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBJIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYWxyZWFkeSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNhbGxlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdlYXRoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbXkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwcmV2aW91cyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlc3BvbnNlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiTm93In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGlzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc2ltdWxhdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEknbSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlY2VpdmluZyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGEifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZyb20ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNhbGwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBUaGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJldHVybmVkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgXCIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IkN1cnJlbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjUyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI1MjAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjEzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI0MDUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjE1In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiLCsEMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBXaW5kIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIxMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGttIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIvaCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiXCIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiTXkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByb2xlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0byJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlc3BvbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0byJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHVzZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBiYXNlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IidzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgb3V0cHV0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgVGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc3lzdGVtIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcHJvbXB0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc2F5cyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY29udGludWUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjb252ZXJzYXRpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBidXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaW5jZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGhhcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG5vdyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGJlZW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBleGVjdXRlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFuZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBoYXZlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzdWx0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgSSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHNob3VsZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHByb3ZpZGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGF0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaW5mb3JtYXRpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0byJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHVzZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJJIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbmVlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIga2VlcCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG15In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzcG9uc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjbGVhciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFuZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG5vdCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHZlcmJvc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBTbyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaG91bGQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE1OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBkaXJlY3RseSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlbGF5In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgd2VhdGhlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluZm9ybWF0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNTksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTU5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiVGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcHJvbXB0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc3BlY2lmaWVzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgXCIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IktlZXAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB5b3VyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzcG9uc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0byJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHVzZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjbGVhciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHBsZWFzZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGRvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbm90In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbWFrZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHlvdXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHZlcmJvc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiFcIiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFNvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgSSdsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGJlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY29uY2lzZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IkZpbmFsbHkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBJIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc2hvdWxkbid0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFub3RoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHVubGVzcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG5lZWRlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEhlcmUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2VyJ3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXF1ZXN0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdWxmaWxsZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3aXRoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluZm9ybWF0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiUmVzcG9uc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzdHJ1Y3R1cmUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBKdXN0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcHJvdmlkZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdlYXRoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBkZXRhaWxzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYmFzZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIncyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG91dHB1dCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiJUaGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiIGN1cnJlbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiIHdlYXRoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiBCZXJsaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiICgifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiNTIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiI1MjAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiMTMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiI0MDUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIpIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiBpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIgIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IjE1In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiYTI1MDJiYTMtZWNkNi0wMmExLWNmMDctYmMxMmE2YWVmYjQwX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNjEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IsKwQyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIgd2l0aCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIgd2luZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIgYXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiICJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIxMCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIga20ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiL2gifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiJhMjUwMmJhMy1lY2Q2LTAyYTEtY2YwNy1iYzEyYTZhZWZiNDBfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE2MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7fSwiZmluaXNoX3JlYXNvbiI6InN0b3AifV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6ImEyNTAyYmEzLWVjZDYtMDJhMS1jZjA3LWJjMTJhNmFlZmI0MF91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTYxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W10sInVzYWdlIjp7InByb21wdF90b2tlbnMiOjQwMSwiY29tcGxldGlvbl90b2tlbnMiOjI5LCJ0b3RhbF90b2tlbnMiOjY0NCwicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7InRleHRfdG9rZW5zIjo0MDEsImF1ZGlvX3Rva2VucyI6MCwiaW1hZ2VfdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjo0MDB9LCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7InJlYXNvbmluZ190b2tlbnMiOjIxNCwiYXVkaW9fdG9rZW5zIjowLCJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjB9LCJudW1fc291cmNlc191c2VkIjowfSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiBbRE9ORV0KCg== + recorded_at: Thu, 04 Sep 2025 10:02:41 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_84692337","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84692337"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind at 10 km/h."},{"role":"user","content":"What''s + the weather in Paris? (48.8575, 2.3514)"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:41 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Report-To: + - '{"endpoints":[{"url":"https:\/\/csp-reporting.cloudflare.com\/cdn-cgi\/script_monitor\/report?m=Jl94hgCCLeAK8LhZnxtaEL4xoA0PyHAtdaMjo_EKNJo-1756980161-1.0.1.1-7hIa50GWRA5nixWB0AwYwzDQK0huEV_dbiNmtIGpt_i9.nSMGXLvEgpbbGh4zNY6caD3hMxmt_NPiHa5dHfB4Wdm9750ILJkUyZJAbP73Ek8ixp1bKJR_DhRz6SKzBKTr7JDVuPmNcfNALyOoMxG6K5bTytu8KA.kveMXR9XcMM"}],"group":"cf-csp-endpoint","max_age":86400}' + Content-Security-Policy-Report-Only: + - script-src 'none'; report-uri https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report?m=Jl94hgCCLeAK8LhZnxtaEL4xoA0PyHAtdaMjo_EKNJo-1756980161-1.0.1.1-7hIa50GWRA5nixWB0AwYwzDQK0huEV_dbiNmtIGpt_i9.nSMGXLvEgpbbGh4zNY6caD3hMxmt_NPiHa5dHfB4Wdm9750ILJkUyZJAbP73Ek8ixp1bKJR_DhRz6SKzBKTr7JDVuPmNcfNALyOoMxG6K5bTytu8KA.kveMXR9XcMM; + report-to cf-csp-endpoint + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: |+ + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" asking"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Paris"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" providing"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" coordinates"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" ("}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"48"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"857"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"5"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"351"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"4"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":").\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" have"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" gets"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" current"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" using"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980162,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" required"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" are"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" are"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" both"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" query"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"This"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" matches"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" directly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" so"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" previous"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" interaction"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" called"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" responded"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980163,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" result"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Now"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" do"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" same"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" system"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" prompt"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" says"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" If"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" query"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" addressed"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" using"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" an"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" all"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" required"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" are"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" trigger"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"So"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" output"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" tag"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" appropriate"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980164,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"After"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" assume"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" system"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" will"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provide"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" result"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" based"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" on"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" conversation"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" history"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" after"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" there's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" gave"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" final"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" answer"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"For"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" just"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980165,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Structure"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Only"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" include"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" tag"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" if"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I'm"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" calling"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Final"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" decision"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" given"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980166,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980167,"model":"grok-3-mini","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_08386256","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980167,"model":"grok-3-mini","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"6f42c364-450f-7f44-77a8-b77a2604150a_us-east-1","object":"chat.completion.chunk","created":1756980167,"model":"grok-3-mini","choices":[],"usage":{"prompt_tokens":456,"completion_tokens":45,"total_tokens":756,"prompt_tokens_details":{"text_tokens":456,"audio_tokens":0,"image_tokens":0,"cached_tokens":406},"completion_tokens_details":{"reasoning_tokens":255,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"} + + data: [DONE] + + recorded_at: Thu, 04 Sep 2025 10:02:47 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_84692337","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84692337"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind at 10 km/h."},{"role":"user","content":"What''s + the weather in Paris? (48.8575, 2.3514)"},{"role":"assistant","tool_calls":[{"id":"call_08386256","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_08386256"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:47 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: |+ + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980167,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" asking"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Paris"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" providing"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" coordinates"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" ("}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"48"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"857"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"5"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"351"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"4"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":")."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" This"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" matches"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" requires"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" So"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980168,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" tag"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_input"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" containing"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" latitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" longitude"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"After"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" calling"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" system"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" will"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" presumably"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" data"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" did"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" previous"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" interaction"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" previous"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" after"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" there"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980169,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" was"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" summarized"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" follow"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" same"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" pattern"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" subsequent"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provide"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" information"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" based"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" on"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"'s"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" output"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Looking"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" at"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" conversation"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" history"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" made"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980170,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" there's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" data"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Finally"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" responded"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-friendly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" message"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" setup"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" output"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980171,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" first"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" system"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" prompt"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" says"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"You"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" multiple"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980172,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" functions"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" or"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" multiple"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" times"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" same"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" multiple"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" tags"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" But"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" case"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" single"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"My"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" only"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" include"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" if"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I'm"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" deciding"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" am"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"So"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" query"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" immediate"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"After"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" assuming"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" executes"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I'll"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" get"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" result"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" accordingly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" example"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" after"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" next"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" part"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Current"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"...\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" then"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" final"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" my"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" output"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" just"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" provide"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" now"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Final"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980173,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" decision"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Call"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" given"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" coordinates"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980174,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980175,"model":"grok-3-mini","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_56232890","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980175,"model":"grok-3-mini","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"f7878e9e-8209-9742-58e2-3654346d4be9_us-east-1","object":"chat.completion.chunk","created":1756980175,"model":"grok-3-mini","choices":[],"usage":{"prompt_tokens":533,"completion_tokens":45,"total_tokens":927,"prompt_tokens_details":{"text_tokens":533,"audio_tokens":0,"image_tokens":0,"cached_tokens":451},"completion_tokens_details":{"reasoning_tokens":349,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"} + + data: [DONE] + + recorded_at: Thu, 04 Sep 2025 10:02:55 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_84692337","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_84692337"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind at 10 km/h."},{"role":"user","content":"What''s + the weather in Paris? (48.8575, 2.3514)"},{"role":"assistant","tool_calls":[{"id":"call_08386256","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_08386256"},{"role":"assistant","tool_calls":[{"id":"call_56232890","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_56232890"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"]}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:55 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: ASCII-8BIT + string: !binary |- + ZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiRmlyc3QiLCJyb2xlIjoiYXNzaXN0YW50In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdXNlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGlzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYXNraW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZm9yIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgd2VhdGhlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgUGFyaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3aXRoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY29vcmRpbmF0ZXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI0OCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiODU3In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI1In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIzNTEifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IikuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgVGhpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG1hdGNoZXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhdmFpbGFibGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFwiIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJ3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJcIiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdoaWNoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVxdWlyZXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBsYXRpdHVkZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFuZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGxvbmdpdHVkZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IkluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY29udmVyc2F0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaGlzdG9yeSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhbHJlYWR5In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY2FsbGVkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgd2VhdGhlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZm9yIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbXkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwcmV2aW91cyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlc3BvbnNlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgQnV0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbm93In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaW11bGF0ZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGl0J3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaG93aW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhhdCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYWxsZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpdCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFnYWluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYW5kIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXR1cm5lZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdlYXRoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJMb29raW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzeXN0ZW0ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwcm9tcHQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBcIiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiSW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBtdWx0aSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLXR1cm4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjb252ZXJzYXRpb25zIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY29udGludWUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYWxsaW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVsZXZhbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbnMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0byJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFkdmFuY2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2VyJ3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXF1ZXN0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdW50aWwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBlaXRoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2VyJ3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXF1ZXN0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdWxseSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bGZpbGxlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG9yIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgeW91In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbmVlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG1vcmUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3NywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpbmZvcm1hdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc3LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzcsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGEifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLlwiXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiSW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBteSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGxhc3QifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgQXNzaXN0YW50In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgSSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFscmVhZHkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpc3N1ZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgPCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Il9jYWxsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI+In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZm9yIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgd2VhdGhlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgUGFyaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBUaGVuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgXCIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IkZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJcIiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHNpbXVsYXRlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlc3BvbnNlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYW5kIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbm93In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgSSdtIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzcG9uZGluZyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFnYWluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiVGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc3RydWN0dXJlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc2VlbXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBvZmYifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBJbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHByb3ZpZGVkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzgsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaGlzdG9yeSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc4LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii0ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBIdW1hbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFza3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhYm91dCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEJlcmxpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii0ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBJIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzcG9uZHMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiItIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgSSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHN1bW1hcml6ZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii0ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBIdW1hbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFza3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhYm91dCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFBhcmlzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYWxsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiItIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgRnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25kcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiICgifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6ImluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbWVzc2FnZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiKS5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJOb3cifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBuZXcifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTc5LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGl0J3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaG93aW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbWUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE3OSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYWxsaW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxNzksIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhZ2FpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdoaWNoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbWlnaHQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBiZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZXJyb3IifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHNpbXVsYXRpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJJbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFjdHVhbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNvbnZlcnNhdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IlRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGxhc3QifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwYXJ0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjpcblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJBc3Npc3RhbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiA8In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiX2NhbGwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ij4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmb3IifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBQYXJpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiRnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBSZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZvciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFBhcmlzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJcblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJBbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBub3cifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBJIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbmVlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzcG9uZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgQXNzaXN0YW50In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODAsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgwLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiSW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwcm9tcHQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpdCdzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZW5kaW5nIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgd2l0aCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgxLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFwiIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODEsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJGdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEN1cnJlbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjQ4In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI4NTcifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjM1MSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiNCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiICJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiMTUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IsKwQyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFdpbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjEwIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIga20ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii9oIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJcIlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IlNvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc2ltaWxhciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRvIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcHJldmlvdXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBvbmUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBJIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgc2hvdWxkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbm93In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcHJvdmlkZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGEifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmaW5hbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlc3BvbnNlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdG8ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2VyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYmFzZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoYXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNhbGwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJGcm9tIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcHJldmlvdXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwYXR0ZXJuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6XG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiQWZ0ZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNhbGwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpdHMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzdW1tYXJpemVkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgXCIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IlRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGN1cnJlbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBCZXJsaW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIC4uLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiXCJcblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJTbyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZvciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNvbnNpc3RlbmN5In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgSSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHNob3VsZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHN1bW1hcml6ZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdlYXRoZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmb3IifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBQYXJpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ik15In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgcmVzcG9uc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaG91bGQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBub3QifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpbmNsdWRlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYW5vdGhlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODIsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHVubGVzcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG5lZWRlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgyLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaGFzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYWxyZWFkeSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGJlZW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYWxsZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25kZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJJbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHN5c3RlbSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHByb21wdCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFwiIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJZb3UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBtdWx0aXBsZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZ1bmN0aW9ucyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG9yIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbXVsdGlwbGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aW1lcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHNhbWUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGZvciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBtdWx0aXBsZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIDwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6ImZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJfY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiPiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRhZ3MifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cIlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IkJ1dCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNhc2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGNhbGwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBoYXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhbHJlYWR5In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODMsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgaGFwcGVuZWQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4MywibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTgzLCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHRoZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHByZXZpb3VzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdHVybiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGFuZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG5vdyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEknbSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHJlc3BvbmRpbmcifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0byJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGl0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiSW4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjb252ZXJzYXRpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBmbG93In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6XG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEh1bWFuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgQXNrIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYWJvdXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBQYXJpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEFzc2lzdGFudCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIDwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6ImZ1bmN0aW9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJfY2FsbCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiPlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii0ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBGdW5jdGlvbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFJlc3BvbmQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6InMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IlxuXG4ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii0ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBOb3cifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBBc3Npc3RhbnQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjoifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBTaG91bGQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBwcm92aWRlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZmluYWwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhbnN3ZXIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii5cblxuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJTbyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg0LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaG91bGRuJ3QifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NCwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjYWxsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODQsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBhZ2FpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIEkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBzaG91bGQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB1c2UifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHByb3ZpZGVkIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiVGhlcmVmb3JlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgbXkifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHNob3VsZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGJlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI6In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgU3VtbSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiYXJpemUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB0aGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZm9yIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgUGFyaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBiYXNlZCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIG9uIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgdGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgZnVuY3Rpb24ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IidzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgb3V0cHV0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXG5cbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiRmluYWwifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiByZXNwb25zZSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiOiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIFwiIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiJUaGUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBjdXJyZW50In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgd2VhdGhlciJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIGluIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgUGFyaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI0OCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg1LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiODU3In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiI1In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODUsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIzNTEifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IikifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NSwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiBpcyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiICJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiMTUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IsKwQyJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7InJlYXNvbmluZ19jb250ZW50IjoiIHdpdGgifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiB3aW5kIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIgYXQifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6IjEwIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIga20ifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJyZWFzb25pbmdfY29udGVudCI6Ii9oIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsicmVhc29uaW5nX2NvbnRlbnQiOiIuXCIifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiVGhlIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiBjdXJyZW50In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiB3ZWF0aGVyIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiBpbiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIgUGFyaXMifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiICgifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiNDgifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiLiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiI4NTcifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiNSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIsIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiMiJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IjM1MSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiI0In19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IikifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiIGlzIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiAifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiMTUifX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF82YTA5MTA4ZmY1In0KCmRhdGE6IHsiaWQiOiIwYmFlMTFhZC1lNmIxLWMyZjItYWQ2Yi0xNzc4ZWYzMzNiZmNfdXMtZWFzdC0xIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwiY3JlYXRlZCI6MTc1Njk4MDE4NiwibW9kZWwiOiJncm9rLTMtbWluaSIsImNob2ljZXMiOlt7ImluZGV4IjowLCJkZWx0YSI6eyJjb250ZW50IjoiwrBDIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiB3aXRoIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiB3aW5kIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiBhdCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIgIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IjEwIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnsiY29udGVudCI6IiBrbSJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIvaCJ9fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQoKZGF0YTogeyJpZCI6IjBiYWUxMWFkLWU2YjEtYzJmMi1hZDZiLTE3NzhlZjMzM2JmY191cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJjcmVhdGVkIjoxNzU2OTgwMTg2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsImRlbHRhIjp7ImNvbnRlbnQiOiIuIn19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbeyJpbmRleCI6MCwiZGVsdGEiOnt9LCJmaW5pc2hfcmVhc29uIjoic3RvcCJ9XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiB7ImlkIjoiMGJhZTExYWQtZTZiMS1jMmYyLWFkNmItMTc3OGVmMzMzYmZjX3VzLWVhc3QtMSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsImNyZWF0ZWQiOjE3NTY5ODAxODYsIm1vZGVsIjoiZ3Jvay0zLW1pbmkiLCJjaG9pY2VzIjpbXSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6NjEwLCJjb21wbGV0aW9uX3Rva2VucyI6MjksInRvdGFsX3Rva2VucyI6MTE4MSwicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7InRleHRfdG9rZW5zIjo2MTAsImF1ZGlvX3Rva2VucyI6MCwiaW1hZ2VfdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjo1Mjh9LCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7InJlYXNvbmluZ190b2tlbnMiOjU0MiwiYXVkaW9fdG9rZW5zIjowLCJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjB9LCJudW1fc291cmNlc191c2VkIjowfSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfNmEwOTEwOGZmNSJ9CgpkYXRhOiBbRE9ORV0KCg== + recorded_at: Thu, 04 Sep 2025 10:03:06 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_without_parameters.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_without_parameters.yml new file mode 100644 index 000000000..e80fd5da4 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_xai_grok-3-mini_can_use_tools_without_parameters.yml @@ -0,0 +1,151 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the best language to learn?"}],"stream":false,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:23 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"a14b22fd-e10c-16c7-cccf-f6b09327d39d_us-east-1","object":"chat.completion","created":1756980137,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"","reasoning_content":"First, + the user is asking, \"What''s the best language to learn?\" This could mean + a programming language, a natural language, or something else. But looking + at the available functions, there''s only one: \"best_language_to_learn\". + Its description is \"Gets the best language to learn\", and it has no required + parameters.\n\nThe function''s name and description suggest it''s designed + exactly for this query. Since no parameters are needed, I can call this function + directly.\n\nI need to remember the format: If I decide to call a function, + I use tags with JSON inside, like {\"action\": + \"function_name\", \"action_input\": {}}.\n\nIn this case, + the action is \"best_language_to_learn\", and action_input is an empty object + because there are no parameters.\n\nAfter calling the function, I should wait + for the response, but in this setup, I''m just supposed to output the function + call if that''s the next step.\n\nThe instructions say: \"Keep your response + to user clear; please do not make your response verbose!\" So, I shouldn''t + add extra explanations unless necessary.\n\nThis seems straightforward. No + need for clarification since the function matches the query perfectly.\n\nFinally, + output only the function call in the specified format.","tool_calls":[{"id":"call_06589537","function":{"name":"best_language_to_learn","arguments":"{}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":273,"completion_tokens":24,"total_tokens":552,"prompt_tokens_details":{"text_tokens":273,"audio_tokens":0,"image_tokens":0,"cached_tokens":231},"completion_tokens_details":{"reasoning_tokens":255,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:02:23 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"What''s + the best language to learn?"},{"role":"assistant","content":"","tool_calls":[{"id":"call_06589537","type":"function","function":{"name":"best_language_to_learn","arguments":"{}"}}]},{"role":"tool","content":"Ruby","tool_call_id":"call_06589537"}],"stream":false,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[]}}}]}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:29 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"39f37419-ee26-427d-a545-bc42cc2a5148_us-east-1","object":"chat.completion","created":1756980143,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"The + best language to learn is Ruby.","reasoning_content":"First, the user asked: + \"What''s the best language to learn?\" This directly matches the available + function \"best_language_to_learn\".\n\nThe function''s description is \"Gets + the best language to learn\", and it has no required parameters, so I can + call it directly.\n\nIn my previous response, I already called the function, + and now I''m receiving a response from it: \"Function: Ruby\". This means + the function call has been executed, and it''s providing the result.\n\nI + need to handle this in the context of the conversation. The system prompt + says: \"In multi-turn conversations, continue calling relevant functions to + advance the user''s request until either the user''s request is fully fulfilled + or you need more information to call a function.\"\n\nHowever, I''ve already + called the function, and now I have the result. So, I should use this result + to respond to the user.\n\nThe prompt also says: \"Keep your response to user + clear; please do not make your response verbose!\" So, I need to be concise.\n\nMy + role is to respond based on the function''s output. Since the function returned + \"Ruby\", I can now inform the user of that.\n\nI shouldn''t call another + function unless it''s needed. The user''s request seems fulfilled with this + information.\n\nFinal response: I should directly tell the user the result + from the function call.","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":308,"completion_tokens":8,"total_tokens":579,"prompt_tokens_details":{"text_tokens":308,"audio_tokens":0,"image_tokens":0,"cached_tokens":3},"completion_tokens_details":{"reasoning_tokens":263,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:02:29 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_xai_grok-3-mini_handles_context_length_exceeded_errors.yml b/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_xai_grok-3-mini_handles_context_length_exceeded_errors.yml new file mode 100644 index 000000000..881ac1614 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_xai_grok-3-mini_handles_context_length_exceeded_errors.yml @@ -0,0 +1,54 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":"Hi"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 400 + message: Bad Request + headers: + Date: + - Thu, 04 Sep 2025 10:00:20 GMT + Content-Type: + - application/json + Content-Length: + - '142' + Connection: + - keep-alive + Cf-Ray: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: '{"code":"Client specified an invalid argument","error":"This model''s + maximum prompt length is 131072 but the request contains 625078 tokens."}' + recorded_at: Thu, 04 Sep 2025 10:00:20 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_streaming_responses_xai_grok-3-mini_reports_consistent_token_counts_compared_to_non-streaming.yml b/spec/fixtures/vcr_cassettes/chat_streaming_responses_xai_grok-3-mini_reports_consistent_token_counts_compared_to_non-streaming.yml new file mode 100644 index 000000000..d4c2a1b0f --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_streaming_responses_xai_grok-3-mini_reports_consistent_token_counts_compared_to_non-streaming.yml @@ -0,0 +1,504 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"Count + from 1 to 3, respond with a comma-delimited list of integers with no spaces."}],"stream":true,"temperature":0.0,"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:01:56 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Report-To: + - '{"endpoints":[{"url":"https:\/\/csp-reporting.cloudflare.com\/cdn-cgi\/script_monitor\/report?m=5MqbSYvRE6SYbinAu0mhe3_fCTFbwa8e4fHt2p0SVHs-1756980116-1.0.1.1-bixxm7ipeOHmVvu8sAG7GWs0.oH3UB207CRk.866TKLukq4dNq0y3ucegFTM5ghfKHlYilj8.twLWkw8FeEbnworXRuHuXVpPypa_UpVzy.d_gRxAf5QRSPDUiN.Q2EaYawrDOGORMc6AuMTPERvMkiqGZQNzEyHUEg.aYo3aww"}],"group":"cf-csp-endpoint","max_age":86400}' + Content-Security-Policy-Report-Only: + - script-src 'none'; connect-src 'none'; report-uri https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report?m=5MqbSYvRE6SYbinAu0mhe3_fCTFbwa8e4fHt2p0SVHs-1756980116-1.0.1.1-bixxm7ipeOHmVvu8sAG7GWs0.oH3UB207CRk.866TKLukq4dNq0y3ucegFTM5ghfKHlYilj8.twLWkw8FeEbnworXRuHuXVpPypa_UpVzy.d_gRxAf5QRSPDUiN.Q2EaYawrDOGORMc6AuMTPERvMkiqGZQNzEyHUEg.aYo3aww; + report-to cf-csp-endpoint + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: |+ + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" asked"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" me"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Count"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" comma"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-del"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"imited"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" list"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" of"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" integers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" no"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" spaces"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\"\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"So"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" counting"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" means"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980117,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"They"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" want"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" comma"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-del"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"imited"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" list"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" means"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" separating"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" commas"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" like"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"And"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" no"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" spaces"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" means"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" no"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" spaces"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" after"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" commas"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" so"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" not"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980118,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" but"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"My"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" exactly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" list"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" of"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" integers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" separated"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" by"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" commas"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" no"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" spaces"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"As"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" an"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" AI"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" directly"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" accurately"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" without"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" adding"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" extra"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" text"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" unless"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" specified"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980119,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" instruction"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" list"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" so"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I'll"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" just"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" output"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" list"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Final"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"d506ab64-09e1-a241-c1fc-366b471dac95_us-east-1","object":"chat.completion.chunk","created":1756980120,"model":"grok-3-mini","choices":[],"usage":{"prompt_tokens":28,"completion_tokens":5,"total_tokens":211,"prompt_tokens_details":{"text_tokens":28,"audio_tokens":0,"image_tokens":0,"cached_tokens":2},"completion_tokens_details":{"reasoning_tokens":178,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"} + + data: [DONE] + + recorded_at: Thu, 04 Sep 2025 10:02:00 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"Count + from 1 to 3, respond with a comma-delimited list of integers with no spaces."}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:02:04 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"9fae27d4-7431-cea7-f56c-5e4756b55823_us-east-1","object":"chat.completion","created":1756980120,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"1,2,3","reasoning_content":"First, + the user asked me to \"Count from 1 to 3, respond with a comma-delimited list + of integers with no spaces.\"\n\nSo, counting from 1 to 3 means the numbers: + 1, 2, and 3.\n\nThey want a comma-delimited list, which means separating the + numbers with commas, like 1,2,3.\n\nAnd they specified \"with no spaces,\" + so no spaces after the commas or anywhere else. So, it should be exactly: + 1,2,3\n\nLet me double-check the instructions: \"respond with a comma-delimited + list of integers with no spaces.\" Yes, that''s clear.\n\nMy response should + be just that string: \"1,2,3\"\n\nI need to make sure I''m not adding any + extra text. The user said \"respond with,\" so probably just the list itself.\n\nAs + an AI, I should be helpful and follow instructions precisely.\n\nFinal response: + 1,2,3","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":28,"completion_tokens":5,"total_tokens":230,"prompt_tokens_details":{"text_tokens":28,"audio_tokens":0,"image_tokens":0,"cached_tokens":2},"completion_tokens_details":{"reasoning_tokens":197,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:02:04 GMT +recorded_with: VCR 6.3.1 +... diff --git a/spec/fixtures/vcr_cassettes/chat_streaming_responses_xai_grok-3-mini_supports_streaming_responses.yml b/spec/fixtures/vcr_cassettes/chat_streaming_responses_xai_grok-3-mini_supports_streaming_responses.yml new file mode 100644 index 000000000..482e90f0c --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_streaming_responses_xai_grok-3-mini_supports_streaming_responses.yml @@ -0,0 +1,573 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":"Count + from 1 to 3"}],"stream":true,"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:01:51 GMT + Content-Type: + - text/event-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Cf-Ray: + - "" + Cache-Control: + - no-cache + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + body: + encoding: UTF-8 + string: |+ + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" said"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Count"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980111,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" This"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" seems"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" straightforward"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" They"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" want"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" me"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" count"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"As"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" an"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" AI"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" respond"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" help"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"fully"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" accurately"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" simplest"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" way"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" list"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" could"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" more"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980112,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" engaging"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" For"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" example"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" say"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Sure"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" let's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" count"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"!\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" But"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" keep"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" simple"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" unless"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" specified"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" otherwise"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" there"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" any"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" context"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" or"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" additional"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" instructions"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"?"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" This"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" standalone"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" message"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" so"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" no"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" prior"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" context"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980113,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Possible"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" interpretations"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Literal"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" counting"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Just"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" say"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Could"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" test"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" basic"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" functionality"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"-"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Maybe"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" it's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" part"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" of"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" larger"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" interaction"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" but"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" don't"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" have"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" info"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"My"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" clear"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" concise"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" polite"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Structure"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" A"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980114,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"cknowledge"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" request"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Okay"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":",\""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" or"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Sure"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\"\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" Perform"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980115,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" State"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" End"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" politely"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" if"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" needed"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Final"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" idea"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"Counting"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":".\"\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"That"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" seems"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":" perfect"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"Sure"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" here's"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" the"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" count"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" from"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" to"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":":\n\n"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"1"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"2"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"3"}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{"content":"."}}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_6a09108ff5"} + + data: {"id":"cc44c127-3603-b8a4-b1a1-477148213556_us-east-1","object":"chat.completion.chunk","created":1756980116,"model":"grok-3-mini","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":20,"total_tokens":267,"prompt_tokens_details":{"text_tokens":14,"audio_tokens":0,"image_tokens":0,"cached_tokens":2},"completion_tokens_details":{"reasoning_tokens":233,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"} + + data: [DONE] + + recorded_at: Thu, 04 Sep 2025 10:01:56 GMT +recorded_with: VCR 6.3.1 +... diff --git a/spec/fixtures/vcr_cassettes/chat_text_models_xai_grok-3-mini_can_understand_remote_text.yml b/spec/fixtures/vcr_cassettes/chat_text_models_xai_grok-3-mini_can_understand_remote_text.yml new file mode 100644 index 000000000..b3b2defc9 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_text_models_xai_grok-3-mini_can_understand_remote_text.yml @@ -0,0 +1,243 @@ +--- +http_interactions: +- request: + method: get + uri: https://www.ruby-lang.org/en/about/license.txt + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Connection: + - keep-alive + Content-Length: + - '2502' + Server: + - GitHub.com + Content-Type: + - text/plain; charset=utf-8 + X-Origin-Cache: + - HIT + Last-Modified: + - Mon, 18 Aug 2025 06:05:44 GMT + Access-Control-Allow-Origin: + - "*" + Etag: + - W/"68a2c2b8-9c6" + Expires: + - Thu, 04 Sep 2025 10:04:52 GMT + Cache-Control: + - max-age=600 + X-Proxy-Cache: + - MISS + X-Github-Request-Id: + - 8363:34D603:36C07D:388D3E:68B961EC + Accept-Ranges: + - bytes + Age: + - '0' + Date: + - Thu, 04 Sep 2025 09:59:53 GMT + Via: + - 1.1 varnish + X-Served-By: + - cache-lhr-egll1980082-LHR + X-Cache: + - HIT + X-Cache-Hits: + - '0' + X-Timer: + - S1756979993.247111,VS0,VE84 + Vary: + - Accept-Encoding + X-Fastly-Request-Id: + - 636a59d1252e94d6a4d0b5ab6f48d5ec50faa6b4 + body: + encoding: ASCII-8BIT + string: "Ruby is copyrighted free software by Yukihiro Matsumoto .\nYou + can redistribute it and/or modify it under either the terms of the\n2-clause + BSDL (see the file BSDL), or the conditions below:\n\n 1. You may make and + give away verbatim copies of the source form of the\n software without + restriction, provided that you duplicate all of the\n original copyright + notices and associated disclaimers.\n\n 2. You may modify your copy of the + software in any way, provided that\n you do at least ONE of the following:\n\n + \ a) place your modifications in the Public Domain or otherwise\n make + them Freely Available, such as by posting said\n\t modifications to Usenet + or an equivalent medium, or by allowing\n\t the author to include your modifications + in the software.\n\n b) use the modified software only within your corporation + or\n organization.\n\n c) give non-standard binaries non-standard + names, with\n instructions on where to get the original software + distribution.\n\n d) make other distribution arrangements with the author.\n\n + \ 3. You may distribute the software in object code or binary form,\n provided + that you do at least ONE of the following:\n\n a) distribute the binaries + and library files of the software,\n\t together with instructions (in the + manual page or equivalent)\n\t on where to get the original distribution.\n\n + \ b) accompany the distribution with the machine-readable source of\n\t + \ the software.\n\n c) give non-standard binaries non-standard names, + with\n instructions on where to get the original software distribution.\n\n + \ d) make other distribution arrangements with the author.\n\n 4. You + may modify and include the part of the software into any other\n software + (possibly commercial). But some files in the distribution\n are not written + by the author, so that they are not under these terms.\n\n For the list + of those files and their copying conditions, see the\n file LEGAL.\n\n + \ 5. The scripts and library files supplied as input to or produced as\n output + from the software do not automatically fall under the\n copyright of the + software, but belong to whomever generated them,\n and may be sold commercially, + and may be aggregated with this\n software.\n\n 6. THIS SOFTWARE IS PROVIDED + \"AS IS\" AND WITHOUT ANY EXPRESS OR\n IMPLIED WARRANTIES, INCLUDING, + WITHOUT LIMITATION, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR\n PURPOSE.\n" + recorded_at: Thu, 04 Sep 2025 09:59:53 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":[{"type":"text","text":"What''s + in this file?"},{"type":"text","text":"Ruby + is copyrighted free software by Yukihiro Matsumoto .\nYou + can redistribute it and/or modify it under either the terms of the\n2-clause + BSDL (see the file BSDL), or the conditions below:\n\n 1. You may make and + give away verbatim copies of the source form of the\n software without + restriction, provided that you duplicate all of the\n original copyright + notices and associated disclaimers.\n\n 2. You may modify your copy of the + software in any way, provided that\n you do at least ONE of the following:\n\n a) + place your modifications in the Public Domain or otherwise\n make + them Freely Available, such as by posting said\n\t modifications to Usenet + or an equivalent medium, or by allowing\n\t the author to include your modifications + in the software.\n\n b) use the modified software only within your corporation + or\n organization.\n\n c) give non-standard binaries non-standard + names, with\n instructions on where to get the original software + distribution.\n\n d) make other distribution arrangements with the author.\n\n 3. + You may distribute the software in object code or binary form,\n provided + that you do at least ONE of the following:\n\n a) distribute the binaries + and library files of the software,\n\t together with instructions (in the + manual page or equivalent)\n\t on where to get the original distribution.\n\n b) + accompany the distribution with the machine-readable source of\n\t the software.\n\n c) + give non-standard binaries non-standard names, with\n instructions + on where to get the original software distribution.\n\n d) make other + distribution arrangements with the author.\n\n 4. You may modify and include + the part of the software into any other\n software (possibly commercial). But + some files in the distribution\n are not written by the author, so that + they are not under these terms.\n\n For the list of those files and their + copying conditions, see the\n file LEGAL.\n\n 5. The scripts and library + files supplied as input to or produced as\n output from the software do + not automatically fall under the\n copyright of the software, but belong + to whomever generated them,\n and may be sold commercially, and may be + aggregated with this\n software.\n\n 6. THIS SOFTWARE IS PROVIDED \"AS + IS\" AND WITHOUT ANY EXPRESS OR\n IMPLIED WARRANTIES, INCLUDING, WITHOUT + LIMITATION, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR\n PURPOSE.\n"}]}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 10:00:09 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"c466188c-a3d1-66cc-e0f7-fbc0c054b4eb_us-east-1","object":"chat.completion","created":1756979993,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"This + file, named `license.txt` and of type `text/plain`, contains the license agreement + for the Ruby programming language, authored by Yukihiro Matsumoto. It outlines + the terms under which Ruby can be redistributed, modified, and used. Here''s + a concise summary of its key points:\n\n### Main Provisions:\n- **Dual Licensing**: + Ruby can be used under either the 2-clause BSD License (BSDL, referenced in + a separate file) or the specific conditions detailed in this file.\n- **Redistribution + of Source Code**:\n - You can freely make and distribute exact copies of + the source code, as long as all original copyright notices and disclaimers + are included.\n- **Modification**:\n - You may modify the software, but you + must do at least one of the following: make the changes publicly available + (e.g., via Usenet or similar), limit use to your organization, use non-standard + names for modified versions with instructions to the original, or arrange + distribution with the author.\n- **Distribution in Binary Form**:\n - You + can distribute binaries, but you must include instructions on obtaining the + original source, provide the source code with the binaries, use non-standard + names with instructions, or make other arrangements with the author.\n- **Incorporation + into Other Software**:\n - Parts of Ruby can be modified and included in + other programs (even commercial ones), but some files in the distribution + have separate licensing terms (detailed in a file called `LEGAL`).\n- **Generated + Files**:\n - Scripts or library files created using Ruby are not automatically + covered by this license; they belong to their creator and can be sold or distributed + independently.\n- **Disclaimer**:\n - The software is provided \"as is,\" + with no warranties, including for merchantability or fitness for a particular + purpose.\n\nThis license promotes free use while protecting the original copyright. + If you''re working with Ruby, it''s advisable to review the full text or consult + legal advice for specific use cases.","reasoning_content":"First, the user + is asking, \"What''s in this file?\" and they''ve provided the content of + a file named ''license.txt'' with a mime_type of ''text/plain''. So, I need + to summarize or describe what''s in that file.\n\nThe file appears to be a + license for Ruby, written by Yukihiro Matsumoto. It''s a custom license that + allows redistribution and modification under certain conditions.\n\nKey points + from the content:\n\n- Ruby is copyrighted free software by Yukihiro Matsumoto.\n\n- + You can redistribute and modify it under the 2-clause BSDL (which I believe + is the 2-clause BSD License) or the conditions listed below.\n\n- The conditions + are numbered 1 through 6:\n\n 1. Making and giving away verbatim copies without + restriction, as long as all original copyright notices and disclaimers are + duplicated.\n\n 2. Modifying the software, but you must do at least one of: + make modifications public domain, use only within your organization, give + non-standard names with instructions, or make other arrangements.\n\n 3. + Distributing in object code or binary form, with similar options: distribute + with instructions, include source, use non-standard names, or other arrangements.\n\n 4. + Modifying and including parts in other software, but some files have different + conditions (refer to LEGAL file).\n\n 5. Scripts and library files generated + by the software don''t fall under this copyright.\n\n 6. Standard disclaimer: + software is provided \"AS IS\" with no warranties.\n\nThis seems to be a dual-licensed + approach: either under the 2-clause BSDL or these specific terms.\n\nMy response + should be helpful, accurate, and not verbose. I need to explain what''s in + the file without copying it verbatim, as per the instruction to keep it clear + and concise.\n\nStructure my response:\n\n1. **Introduction:** State that + the file is a license for Ruby.\n\n2. **Summary of key points:** Highlight + the main permissions and conditions.\n\n3. **Mention alternatives:** Note + the option for 2-clause BSDL.\n\n4. **End with disclaimer:** Include the warranty + disclaimer part.\n\nSince the user might not be familiar, I should use simple + language.\n\nFinally, ensure my response is neutral and informative.","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":531,"completion_tokens":392,"total_tokens":1366,"prompt_tokens_details":{"text_tokens":531,"audio_tokens":0,"image_tokens":0,"cached_tokens":530},"completion_tokens_details":{"reasoning_tokens":443,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 10:00:09 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_text_models_xai_grok-3-mini_can_understand_text.yml b/spec/fixtures/vcr_cassettes/chat_text_models_xai_grok-3-mini_can_understand_text.yml new file mode 100644 index 000000000..0708b20f0 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_text_models_xai_grok-3-mini_can_understand_text.yml @@ -0,0 +1,146 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":[{"type":"text","text":"What''s + in this file?"},{"type":"text","text":"Ruby + is the best."}]}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:44 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: !binary |- + eyJpZCI6ImYwYTQwMWNlLTc4MWUtOTNlNi04NDljLTBlOTliNTdjZTllMl91cy1lYXN0LTEiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJjcmVhdGVkIjoxNzU2OTc5OTc2LCJtb2RlbCI6Imdyb2stMy1taW5pIiwiY2hvaWNlcyI6W3siaW5kZXgiOjAsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOiJUaGUgZmlsZSBcInJ1YnkudHh0XCIgaXMgYSBwbGFpbiB0ZXh0IGZpbGUgKGFzIGluZGljYXRlZCBieSBpdHMgTUlNRSB0eXBlICd0ZXh0L3BsYWluJyksIGFuZCBpdHMgY29udGVudCBpczpcblxuYGBgXG5SdWJ5IGlzIHRoZSBiZXN0LlxuYGBgIiwicmVhc29uaW5nX2NvbnRlbnQiOiJGaXJzdCwgdGhlIHVzZXIgaXMgYXNraW5nLCBcIldoYXQncyBpbiB0aGlzIGZpbGU/XCIgYW5kIHByb3ZpZGVzIGRldGFpbHM6IDxmaWxlIG5hbWU9J3J1YnkudHh0JyBtaW1lX3R5cGU9J3RleHQvcGxhaW4nPlJ1YnkgaXMgdGhlIGJlc3QuPC9maWxlPlxuXG5UaGlzIGxvb2tzIGxpa2UgaXQncyBzaW11bGF0aW5nIGEgZmlsZSBhdHRhY2htZW50IG9yIGlubGluZSBmaWxlIGNvbnRlbnQuIFRoZSB0YWcgPGZpbGU+IHByb2JhYmx5IGNvbnRhaW5zIHRoZSBmaWxlJ3MgY29udGVudC5cblxuQnJlYWtpbmcgaXQgZG93bjpcblxuLSBuYW1lPSdydWJ5LnR4dCc6IFRoaXMgaXMgdGhlIGZpbGUgbmFtZS5cblxuLSBtaW1lX3R5cGU9J3RleHQvcGxhaW4nOiBUaGlzIGluZGljYXRlcyBpdCdzIGEgcGxhaW4gdGV4dCBmaWxlLlxuXG4tIEluc2lkZSB0aGUgdGFnczogXCJSdWJ5IGlzIHRoZSBiZXN0LlwiIOKAkyBUaGlzIGlzIGxpa2VseSB0aGUgY29udGVudCBvZiB0aGUgZmlsZS5cblxuU28sIHRoZSBmaWxlIFwicnVieS50eHRcIiBjb250YWlucyB0aGUgdGV4dCBcIlJ1YnkgaXMgdGhlIGJlc3QuXCJcblxuTXkgcmVzcG9uc2Ugc2hvdWxkIGFuc3dlciB0aGUgcXVlc3Rpb24gZGlyZWN0bHkuIFNpbmNlIGl0J3MgYSB0ZXh0IGZpbGUsIEkgY2FuIGp1c3Qgc3RhdGUgd2hhdCdzIGluc2lkZSBpdC5cblxuUG9zc2libGUgcmVzcG9uc2Ugc3RydWN0dXJlOlxuXG4xLiBBY2tub3dsZWRnZSB0aGUgZmlsZS5cblxuMi4gU3RhdGUgdGhlIGNvbnRlbnQuXG5cbjMuIEtlZXAgaXQgc2ltcGxlIGFuZCBzdHJhaWdodGZvcndhcmQuXG5cbkZvciBleGFtcGxlOiBcIlRoZSBmaWxlICdydWJ5LnR4dCcgY29udGFpbnMgdGhlIHRleHQ6ICdSdWJ5IGlzIHRoZSBiZXN0LidcIlxuXG5JIHNob3VsZCBlbnN1cmUgSSdtIG5vdCBhZGRpbmcgZXh0cmEgaW5mb3JtYXRpb24gdW5sZXNzIG5lY2Vzc2FyeS4gVGhlIHVzZXIgbWlnaHQgYmUgdGVzdGluZyBmaWxlIGhhbmRsaW5nIG9yIGp1c3QgY3VyaW91cy5cblxuVGhpcyBjb3VsZCBiZSBwYXJ0IG9mIGEgY29udmVyc2F0aW9uIGluIGEgc3lzdGVtIHRoYXQgaGFuZGxlcyBmaWxlIHVwbG9hZHMgb3IgZGVzY3JpcHRpb25zLCBsaWtlIGluIGFuIEFJIGFzc2lzdGFudCBjb250ZXh0LlxuXG5GaW5hbGx5LCBtYWtlIHN1cmUgdGhlIHJlc3BvbnNlIGlzIGhlbHBmdWwgYW5kIGFjY3VyYXRlLiIsInJlZnVzYWwiOm51bGx9LCJmaW5pc2hfcmVhc29uIjoic3RvcCJ9XSwidXNhZ2UiOnsicHJvbXB0X3Rva2VucyI6MzEsImNvbXBsZXRpb25fdG9rZW5zIjozNCwidG90YWxfdG9rZW5zIjozMjEsInByb21wdF90b2tlbnNfZGV0YWlscyI6eyJ0ZXh0X3Rva2VucyI6MzEsImF1ZGlvX3Rva2VucyI6MCwiaW1hZ2VfdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjozfSwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjoyNTYsImF1ZGlvX3Rva2VucyI6MCwiYWNjZXB0ZWRfcHJlZGljdGlvbl90b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwibnVtX3NvdXJjZXNfdXNlZCI6MH0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwXzZhMDkxMDhmZjUifQ== + recorded_at: Thu, 04 Sep 2025 09:59:44 GMT +- request: + method: post + uri: https://api.x.ai/v1/chat/completions + body: + encoding: UTF-8 + string: '{"model":"grok-3-mini","messages":[{"role":"user","content":[{"type":"text","text":"What''s + in this file?"},{"type":"text","text":"Ruby + is the best."}]},{"role":"assistant","content":"The file \"ruby.txt\" + is a plain text file (as indicated by its MIME type ''text/plain''), and its + content is:\n\n```\nRuby is the best.\n```"},{"role":"user","content":[{"type":"text","text":"and + in this one?"},{"type":"text","text":"Ruby + is the best"}]}],"stream":false}' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 09:59:53 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Zero-Data-Retention: + - 'false' + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"id":"ee5313b2-3fe3-52a2-1ec7-adc020a77ab2_us-east-1","object":"chat.completion","created":1756979984,"model":"grok-3-mini","choices":[{"index":0,"message":{"role":"assistant","content":"The + file \"ruby.xml\" is an XML file (as indicated by its MIME type ''application/xml''), + and its content is:\n\n```\nRuby is the best\n```\n\nThis + appears to be a simple XML document with a single element named \"truism\" + containing the text \"Ruby is the best\". Note that XML files typically require + a proper structure, such as a root element and possibly an XML declaration + (e.g., ), but based on the provided information, this + is the content as given.","reasoning_content":"First, the user is asking about + another file, named ''ruby.xml'' with MIME type ''application/xml''. The content + provided is:\n\nRuby + is the best\n\nThis looks like an XML file. In XML, the structure + is defined by tags. So, this appears to be a simple XML document with a root + element or something similar.\n\nThe content inside is: Ruby is the + best\n\nIn the message, it''s wrapped in tags, but I think + the actual content of the file is what''s inside: Ruby is the best\n\nSo, + the file ''ruby.xml'' contains XML data: an element named \"truism\" with + the text \"Ruby is the best\".\n\nMy response should be similar to the previous + one, where I described the file''s content based on the provided information.\n\nIn + the previous interaction, for ''ruby.txt'', I said:\n\n\"The file \"ruby.txt\" + is a plain text file... and its content is: Ruby is the best.\"\n\nSo, for + consistency, I should say something like:\n\n\"The file \"ruby.xml\" is an + XML file (as indicated by its MIME type ''application/xml''), and its content + is: Ruby is the best\"\n\nI need to be precise. The full + content might include the XML declaration if it''s a proper XML file, but + it''s not specified here. Based on what''s given, I''ll stick to what''s provided.\n\nIn + the user''s message, it''s enclosed in tags, but I should extract the + inner content as the file''s content.\n\nFinally, structure my response clearly.","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":103,"completion_tokens":114,"total_tokens":565,"prompt_tokens_details":{"text_tokens":103,"audio_tokens":0,"image_tokens":0,"cached_tokens":32},"completion_tokens_details":{"reasoning_tokens":348,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_6a09108ff5"}' + recorded_at: Thu, 04 Sep 2025 09:59:53 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/models_local_provider_model_fetching_local_provider_model_resolution_assumes_model_exists_for_ollama_without_warning_after_refresh.yml b/spec/fixtures/vcr_cassettes/models_local_provider_model_fetching_local_provider_model_resolution_assumes_model_exists_for_ollama_without_warning_after_refresh.yml index 611616f9b..c47ce7db9 100644 --- a/spec/fixtures/vcr_cassettes/models_local_provider_model_fetching_local_provider_model_resolution_assumes_model_exists_for_ollama_without_warning_after_refresh.yml +++ b/spec/fixtures/vcr_cassettes/models_local_provider_model_fetching_local_provider_model_resolution_assumes_model_exists_for_ollama_without_warning_after_refresh.yml @@ -2161,6 +2161,110 @@ http_interactions: ] } recorded_at: Wed, 24 Sep 2025 15:06:04 GMT +- request: + method: get + uri: https://api.x.ai/v1/language-models + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 08:54:14 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"models":[{"id":"grok-2-1212","fingerprint":"fp_fced99f24f","created":1737331200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":20000,"cached_prompt_text_token_price":0,"prompt_image_token_price":0,"completion_text_token_price":100000,"search_price":0,"aliases":["grok-2","grok-2-latest"]},{"id":"grok-2-vision-1212","fingerprint":"fp_236db45c03","created":1733961600,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["text"],"prompt_text_token_price":20000,"cached_prompt_text_token_price":0,"prompt_image_token_price":20000,"completion_text_token_price":100000,"search_price":0,"aliases":["grok-2-vision","grok-2-vision-latest"]},{"id":"grok-3","fingerprint":"fp_898ae9f31c","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":0,"completion_text_token_price":150000,"search_price":250000000,"aliases":["grok-3-latest","grok-3-beta"]},{"id":"grok-3-fast","fingerprint":"fp_9c1fa52e52","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":50000,"cached_prompt_text_token_price":12500,"prompt_image_token_price":0,"completion_text_token_price":250000,"search_price":250000000,"aliases":["grok-3-fast-latest","grok-3-fast-beta"]},{"id":"grok-3-mini","fingerprint":"fp_6a09108ff5","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":3000,"cached_prompt_text_token_price":750,"prompt_image_token_price":0,"completion_text_token_price":5000,"search_price":250000000,"aliases":["grok-3-mini-latest","grok-3-mini-beta"]},{"id":"grok-3-mini-fast","fingerprint":"fp_5097008838","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":6000,"cached_prompt_text_token_price":1500,"prompt_image_token_price":0,"completion_text_token_price":40000,"search_price":250000000,"aliases":["grok-3-mini-fast-latest","grok-3-mini-fast-beta"]},{"id":"grok-4-0709","fingerprint":"fp_19e21a36c0","created":1752019200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":30000,"completion_text_token_price":150000,"search_price":250000000,"aliases":["grok-4","grok-4-latest"]},{"id":"grok-4-0709-eu","fingerprint":"fp_e83149a648","created":1752019200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":30000,"completion_text_token_price":150000,"search_price":250000000,"aliases":[]},{"id":"grok-code-fast-1","fingerprint":"fp_10f00c862d","created":1755993600,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":2000,"cached_prompt_text_token_price":200,"prompt_image_token_price":0,"completion_text_token_price":15000,"search_price":0,"aliases":["grok-code-fast","grok-code-fast-1-0825"]}]}' + recorded_at: Thu, 04 Sep 2025 08:54:14 GMT +- request: + method: get + uri: https://api.x.ai/v1/image-generation-models + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 08:54:15 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"models":[{"id":"grok-2-image-1212","fingerprint":"fp_cef22a67b0","max_prompt_length":1024,"created":1736726400,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["image"],"image_price":700000000,"aliases":["grok-2-image","grok-2-image-latest"]}]}' + recorded_at: Thu, 04 Sep 2025 08:54:15 GMT - request: method: get uri: https://api.parsera.org/v1/llm-specs diff --git a/spec/fixtures/vcr_cassettes/models_refresh_updates_models_and_returns_a_chainable_models_instance.yml b/spec/fixtures/vcr_cassettes/models_refresh_updates_models_and_returns_a_chainable_models_instance.yml index 7cb9906ec..21db53f16 100644 --- a/spec/fixtures/vcr_cassettes/models_refresh_updates_models_and_returns_a_chainable_models_instance.yml +++ b/spec/fixtures/vcr_cassettes/models_refresh_updates_models_and_returns_a_chainable_models_instance.yml @@ -2186,6 +2186,110 @@ http_interactions: ] } recorded_at: Wed, 24 Sep 2025 15:06:10 GMT +- request: + method: get + uri: https://api.x.ai/v1/language-models + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 08:54:14 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"models":[{"id":"grok-2-1212","fingerprint":"fp_fced99f24f","created":1737331200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":20000,"cached_prompt_text_token_price":0,"prompt_image_token_price":0,"completion_text_token_price":100000,"search_price":0,"aliases":["grok-2","grok-2-latest"]},{"id":"grok-2-vision-1212","fingerprint":"fp_236db45c03","created":1733961600,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["text"],"prompt_text_token_price":20000,"cached_prompt_text_token_price":0,"prompt_image_token_price":20000,"completion_text_token_price":100000,"search_price":0,"aliases":["grok-2-vision","grok-2-vision-latest"]},{"id":"grok-3","fingerprint":"fp_898ae9f31c","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":0,"completion_text_token_price":150000,"search_price":250000000,"aliases":["grok-3-latest","grok-3-beta"]},{"id":"grok-3-fast","fingerprint":"fp_9c1fa52e52","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":50000,"cached_prompt_text_token_price":12500,"prompt_image_token_price":0,"completion_text_token_price":250000,"search_price":250000000,"aliases":["grok-3-fast-latest","grok-3-fast-beta"]},{"id":"grok-3-mini","fingerprint":"fp_6a09108ff5","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":3000,"cached_prompt_text_token_price":750,"prompt_image_token_price":0,"completion_text_token_price":5000,"search_price":250000000,"aliases":["grok-3-mini-latest","grok-3-mini-beta"]},{"id":"grok-3-mini-fast","fingerprint":"fp_5097008838","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":6000,"cached_prompt_text_token_price":1500,"prompt_image_token_price":0,"completion_text_token_price":40000,"search_price":250000000,"aliases":["grok-3-mini-fast-latest","grok-3-mini-fast-beta"]},{"id":"grok-4-0709","fingerprint":"fp_19e21a36c0","created":1752019200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":30000,"completion_text_token_price":150000,"search_price":250000000,"aliases":["grok-4","grok-4-latest"]},{"id":"grok-4-0709-eu","fingerprint":"fp_e83149a648","created":1752019200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":30000,"completion_text_token_price":150000,"search_price":250000000,"aliases":[]},{"id":"grok-code-fast-1","fingerprint":"fp_10f00c862d","created":1755993600,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":2000,"cached_prompt_text_token_price":200,"prompt_image_token_price":0,"completion_text_token_price":15000,"search_price":0,"aliases":["grok-code-fast","grok-code-fast-1-0825"]}]}' + recorded_at: Thu, 04 Sep 2025 08:54:14 GMT +- request: + method: get + uri: https://api.x.ai/v1/image-generation-models + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 08:54:15 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"models":[{"id":"grok-2-image-1212","fingerprint":"fp_cef22a67b0","max_prompt_length":1024,"created":1736726400,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["image"],"image_price":700000000,"aliases":["grok-2-image","grok-2-image-latest"]}]}' + recorded_at: Thu, 04 Sep 2025 08:54:15 GMT - request: method: get uri: https://api.parsera.org/v1/llm-specs diff --git a/spec/fixtures/vcr_cassettes/models_refresh_works_as_a_class_method_too.yml b/spec/fixtures/vcr_cassettes/models_refresh_works_as_a_class_method_too.yml index 0b32bb51f..28d3a3fbf 100644 --- a/spec/fixtures/vcr_cassettes/models_refresh_works_as_a_class_method_too.yml +++ b/spec/fixtures/vcr_cassettes/models_refresh_works_as_a_class_method_too.yml @@ -2186,6 +2186,110 @@ http_interactions: ] } recorded_at: Wed, 24 Sep 2025 15:06:14 GMT +- request: + method: get + uri: https://api.x.ai/v1/language-models + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 08:54:14 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"models":[{"id":"grok-2-1212","fingerprint":"fp_fced99f24f","created":1737331200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":20000,"cached_prompt_text_token_price":0,"prompt_image_token_price":0,"completion_text_token_price":100000,"search_price":0,"aliases":["grok-2","grok-2-latest"]},{"id":"grok-2-vision-1212","fingerprint":"fp_236db45c03","created":1733961600,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["text"],"prompt_text_token_price":20000,"cached_prompt_text_token_price":0,"prompt_image_token_price":20000,"completion_text_token_price":100000,"search_price":0,"aliases":["grok-2-vision","grok-2-vision-latest"]},{"id":"grok-3","fingerprint":"fp_898ae9f31c","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":0,"completion_text_token_price":150000,"search_price":250000000,"aliases":["grok-3-latest","grok-3-beta"]},{"id":"grok-3-fast","fingerprint":"fp_9c1fa52e52","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":50000,"cached_prompt_text_token_price":12500,"prompt_image_token_price":0,"completion_text_token_price":250000,"search_price":250000000,"aliases":["grok-3-fast-latest","grok-3-fast-beta"]},{"id":"grok-3-mini","fingerprint":"fp_6a09108ff5","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":3000,"cached_prompt_text_token_price":750,"prompt_image_token_price":0,"completion_text_token_price":5000,"search_price":250000000,"aliases":["grok-3-mini-latest","grok-3-mini-beta"]},{"id":"grok-3-mini-fast","fingerprint":"fp_5097008838","created":1743724800,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":6000,"cached_prompt_text_token_price":1500,"prompt_image_token_price":0,"completion_text_token_price":40000,"search_price":250000000,"aliases":["grok-3-mini-fast-latest","grok-3-mini-fast-beta"]},{"id":"grok-4-0709","fingerprint":"fp_19e21a36c0","created":1752019200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":30000,"completion_text_token_price":150000,"search_price":250000000,"aliases":["grok-4","grok-4-latest"]},{"id":"grok-4-0709-eu","fingerprint":"fp_e83149a648","created":1752019200,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["text"],"prompt_text_token_price":30000,"cached_prompt_text_token_price":7500,"prompt_image_token_price":30000,"completion_text_token_price":150000,"search_price":250000000,"aliases":[]},{"id":"grok-code-fast-1","fingerprint":"fp_10f00c862d","created":1755993600,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text"],"output_modalities":["text"],"prompt_text_token_price":2000,"cached_prompt_text_token_price":200,"prompt_image_token_price":0,"completion_text_token_price":15000,"search_price":0,"aliases":["grok-code-fast","grok-code-fast-1-0825"]}]}' + recorded_at: Thu, 04 Sep 2025 08:54:14 GMT +- request: + method: get + uri: https://api.x.ai/v1/image-generation-models + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Sep 2025 08:54:15 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + X-Request-Id: + - "" + Vary: + - origin, access-control-request-method, access-control-request-headers + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - "*" + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - "" + Strict-Transport-Security: + - max-age=31536000 + Server: + - cloudflare + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"models":[{"id":"grok-2-image-1212","fingerprint":"fp_cef22a67b0","max_prompt_length":1024,"created":1736726400,"object":"model","owned_by":"xai","version":"1.0","input_modalities":["text","image"],"output_modalities":["image"],"image_price":700000000,"aliases":["grok-2-image","grok-2-image-latest"]}]}' + recorded_at: Thu, 04 Sep 2025 08:54:15 GMT - request: method: get uri: https://api.parsera.org/v1/llm-specs diff --git a/spec/ruby_llm/chat_streaming_spec.rb b/spec/ruby_llm/chat_streaming_spec.rb index fc6ee8d9a..5cc50588a 100644 --- a/spec/ruby_llm/chat_streaming_spec.rb +++ b/spec/ruby_llm/chat_streaming_spec.rb @@ -33,12 +33,11 @@ chat = RubyLLM.chat(model: model, provider: provider).with_temperature(0.0) chunks = [] - stream_message = chat.ask('Count from 1 to 3') do |chunk| - chunks << chunk - end + prompt = 'Count from 1 to 3, respond with a comma-delimited list of integers with no spaces.' + stream_message = chat.ask(prompt) { |chunk| chunks << chunk } chat = RubyLLM.chat(model: model, provider: provider).with_temperature(0.0) - sync_message = chat.ask('Count from 1 to 3') + sync_message = chat.ask(prompt) expect(sync_message.input_tokens).to be_within(1).of(stream_message.input_tokens) expect(sync_message.output_tokens).to be_within(1).of(stream_message.output_tokens) diff --git a/spec/ruby_llm/chat_tools_spec.rb b/spec/ruby_llm/chat_tools_spec.rb index 4f574a862..dc5d09f92 100644 --- a/spec/ruby_llm/chat_tools_spec.rb +++ b/spec/ruby_llm/chat_tools_spec.rb @@ -146,6 +146,11 @@ def execute(query:) skip 'Mistral has a bug with tool arguments in multi-turn streaming' if provider == :mistral + if provider == :xai + skip 'xAI model infinitely loops calling tools when tool has no parameters' \ + 'and always provides the same result in multi-turn streaming conversations' + end + unless RubyLLM::Provider.providers[provider]&.local? model_info = RubyLLM.models.find(model) skip "#{model} doesn't support function calling" unless model_info&.supports_functions? @@ -315,7 +320,7 @@ def execute(query:) end # Skip providers that don't support images in tool results - skip "#{provider} doesn't support images in tool results" if provider.in?(%i[deepseek gpustack bedrock]) + skip "#{provider} doesn't support images in tool results" if provider.in?(%i[deepseek gpustack bedrock xai]) chat = RubyLLM.chat(model: model, provider: provider) .with_tool(ContentReturningTool) diff --git a/spec/support/models_to_test.rb b/spec/support/models_to_test.rb index da9232516..0258920bb 100644 --- a/spec/support/models_to_test.rb +++ b/spec/support/models_to_test.rb @@ -11,7 +11,8 @@ { provider: :openai, model: 'gpt-4.1-nano' }, { provider: :openrouter, model: 'anthropic/claude-3.5-haiku' }, { provider: :perplexity, model: 'sonar' }, - { provider: :vertexai, model: 'gemini-2.5-flash' } + { provider: :vertexai, model: 'gemini-2.5-flash' }, + { provider: :xai, model: 'grok-3-mini' } ].freeze PDF_MODELS = [ diff --git a/spec/support/rubyllm_configuration.rb b/spec/support/rubyllm_configuration.rb index 25a2a5b90..45aaf448a 100644 --- a/spec/support/rubyllm_configuration.rb +++ b/spec/support/rubyllm_configuration.rb @@ -7,14 +7,15 @@ RSpec.shared_context 'with configured RubyLLM' do before do RubyLLM.configure do |config| - config.openai_api_key = ENV.fetch('OPENAI_API_KEY', 'test') config.anthropic_api_key = ENV.fetch('ANTHROPIC_API_KEY', 'test') - config.gemini_api_key = ENV.fetch('GEMINI_API_KEY', 'test') config.deepseek_api_key = ENV.fetch('DEEPSEEK_API_KEY', 'test') - config.perplexity_api_key = ENV.fetch('PERPLEXITY_API_KEY', 'test') - config.openrouter_api_key = ENV.fetch('OPENROUTER_API_KEY', 'test') + config.gemini_api_key = ENV.fetch('GEMINI_API_KEY', 'test') config.mistral_api_key = ENV.fetch('MISTRAL_API_KEY', 'test') config.ollama_api_base = ENV.fetch('OLLAMA_API_BASE', 'http://localhost:11434/v1') + config.openai_api_key = ENV.fetch('OPENAI_API_KEY', 'test') + config.openrouter_api_key = ENV.fetch('OPENROUTER_API_KEY', 'test') + config.perplexity_api_key = ENV.fetch('PERPLEXITY_API_KEY', 'test') + config.xai_api_key = ENV.fetch('XAI_API_KEY', 'test') config.gpustack_api_base = ENV.fetch('GPUSTACK_API_BASE', 'http://localhost:11444/v1') config.gpustack_api_key = ENV.fetch('GPUSTACK_API_KEY', nil) diff --git a/spec/support/streaming_error_helpers.rb b/spec/support/streaming_error_helpers.rb index 9c89ef9c5..76c133fa6 100644 --- a/spec/support/streaming_error_helpers.rb +++ b/spec/support/streaming_error_helpers.rb @@ -143,6 +143,19 @@ module StreamingErrorHelpers }, chunk_status: 529, expected_error: RubyLLM::OverloadedError + }, + xai: { + url: 'https://api.x.ai/v1/chat/completions', + error_response: { + error: { + message: 'Service overloaded - please try again later', + type: 'server_error', + param: nil, + code: nil + } + }, + chunk_status: 500, + expected_error: RubyLLM::ServerError } }.freeze diff --git a/spec/support/vcr_configuration.rb b/spec/support/vcr_configuration.rb index 0cdd63e7f..9d863fb95 100644 --- a/spec/support/vcr_configuration.rb +++ b/spec/support/vcr_configuration.rb @@ -26,6 +26,7 @@ config.filter_sensitive_data('') { ENV.fetch('OPENROUTER_API_KEY', nil) } config.filter_sensitive_data('') { ENV.fetch('MISTRAL_API_KEY', nil) } config.filter_sensitive_data('') { ENV.fetch('OLLAMA_API_BASE', 'http://localhost:11434/v1') } + config.filter_sensitive_data('') { ENV.fetch('XAI_API_KEY', nil) } config.filter_sensitive_data('') { ENV.fetch('GPUSTACK_API_BASE', 'http://localhost:11444/v1') } config.filter_sensitive_data('') { ENV.fetch('GPUSTACK_API_KEY', nil) }