From 342109260c7396b449549c7b2f62e77a8ed7bbd0 Mon Sep 17 00:00:00 2001 From: Mathias Maisberger Date: Sun, 15 Feb 2026 10:04:28 +0200 Subject: [PATCH 1/3] Add Anthropic structured output support using GA API Wire output_config into the Anthropic chat payload when a schema is provided, using the GA format ({ format: { type: 'json_schema', schema } }) with no beta headers required. The build_output_config method deep-dups the schema and strips :strict keys that Anthropic rejects. Fix model detection regexes in capabilities to match Claude 4+ model IDs (supports_functions?, supports_json_mode?, capabilities_for) and add supports_structured_output? for Claude 4.5+ models. Re-record Anthropic VCR cassettes. --- .../providers/anthropic/capabilities.rb | 13 +- lib/ruby_llm/providers/anthropic/chat.rb | 14 +- ...nking_data_and_replays_it_across_turns.yml | 107 +++-- ...-5_can_handle_multi-turn_conversations.yml | 50 +-- ...aiku-4-5_can_have_a_basic_conversation.yml | 16 +- ...ious_system_messages_when_replace_true.yml | 54 +-- ...claude-haiku-4-5_returns_raw_responses.yml | 16 +- ...-5_successfully_uses_the_system_prompt.yml | 27 +- ...es_content_objects_returned_from_tools.yml | 48 +-- ...aiku-4-5_raises_appropriate_auth_error.yml | 8 +- ...ltiple_tool_calls_in_a_single_response.yml | 42 +- ...-haiku-4-5_can_use_parallel_tool_calls.yml | 36 +- ...thropic_claude-haiku-4-5_can_use_tools.yml | 34 +- ..._use_tools_in_multi-turn_conversations.yml | 82 ++-- ...ith_multi-turn_streaming_conversations.yml | 134 +++--- ...u-4-5_can_use_tools_without_parameters.yml | 56 +-- ..._in_multi-turn_streaming_conversations.yml | 384 +++++++++++------- ..._claude-haiku-4-5_handles_anyof_params.yml | 18 +- ..._claude-haiku-4-5_handles_array_params.yml | 16 +- ...claude-haiku-4-5_handles_object_params.yml | 16 +- ...ray_of_mixed_files_with_auto-detection.yml | 16 +- ...claude-haiku-4-5_handles_multiple_pdfs.yml | 102 +++-- ...opic_claude-haiku-4-5_understands_pdfs.yml | 66 +-- ...handles_context_length_exceeded_errors.yml | 16 +- ...token_counts_compared_to_non-streaming.yml | 42 +- ...haiku-4-5_supports_streaming_responses.yml | 28 +- ...e-haiku-4-5_can_understand_remote_text.yml | 64 +-- ...c_claude-haiku-4-5_can_understand_text.yml | 55 ++- ...-haiku-4-5_can_understand_local_images.yml | 34 +- ...rstand_remote_images_without_extension.yml | 39 +- ...signatures_between_turns_when_provided.yml | 36 +- ...ku-4-5_returns_thinking_when_available.yml | 16 +- ...treams_thinking_content_when_available.yml | 16 +- ...-haiku-4-5_supports_service_tier_param.yml | 16 +- ...n_schema_and_returns_structured_output.yml | 82 ++++ ...oving_schema_with_nil_mid-conversation.yml | 177 ++++++++ spec/ruby_llm/chat_schema_spec.rb | 38 ++ .../ruby_llm/providers/anthropic/chat_spec.rb | 67 +++ 38 files changed, 1279 insertions(+), 802 deletions(-) create mode 100644 spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_accepts_a_json_schema_and_returns_structured_output.yml create mode 100644 spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_allows_removing_schema_with_nil_mid-conversation.yml diff --git a/lib/ruby_llm/providers/anthropic/capabilities.rb b/lib/ruby_llm/providers/anthropic/capabilities.rb index 710b55386..7712569c1 100644 --- a/lib/ruby_llm/providers/anthropic/capabilities.rb +++ b/lib/ruby_llm/providers/anthropic/capabilities.rb @@ -31,11 +31,15 @@ def supports_vision?(model_id) end def supports_functions?(model_id) - model_id.match?(/claude-3/) + !model_id.match?(/claude-[12]/) end def supports_json_mode?(model_id) - model_id.match?(/claude-3/) + !model_id.match?(/claude-[12]/) + end + + def supports_structured_output?(model_id) + model_id.match?(/claude-(?:sonnet|opus|haiku)-4-[56789]/) end def supports_extended_thinking?(model_id) @@ -92,12 +96,13 @@ def modalities_for(model_id) def capabilities_for(model_id) capabilities = ['streaming'] - if model_id.match?(/claude-3/) + unless model_id.match?(/claude-[12]/) capabilities << 'function_calling' capabilities << 'batch' end - capabilities << 'reasoning' if model_id.match?(/claude-3-7|-4/) + capabilities << 'structured_output' if supports_structured_output?(model_id) + capabilities << 'reasoning' if model_id.match?(/claude-3-7-sonnet|claude-(?:sonnet|opus|haiku)-4/) capabilities << 'citations' if model_id.match?(/claude-3\.5|claude-3-7/) capabilities end diff --git a/lib/ruby_llm/providers/anthropic/chat.rb b/lib/ruby_llm/providers/anthropic/chat.rb index a7af82df3..4946b7e40 100644 --- a/lib/ruby_llm/providers/anthropic/chat.rb +++ b/lib/ruby_llm/providers/anthropic/chat.rb @@ -11,12 +11,12 @@ def completion_url '/v1/messages' end - def render_payload(messages, tools:, temperature:, model:, stream: false, schema: nil, thinking: nil) # rubocop:disable Metrics/ParameterLists,Lint/UnusedMethodArgument + def render_payload(messages, tools:, temperature:, model:, stream: false, schema: nil, thinking: nil) # rubocop:disable Metrics/ParameterLists system_messages, chat_messages = separate_messages(messages) system_content = build_system_content(system_messages) build_base_payload(chat_messages, model, stream, thinking).tap do |payload| - add_optional_fields(payload, system_content:, tools:, temperature:) + add_optional_fields(payload, system_content:, tools:, temperature:, schema:) end end @@ -59,10 +59,18 @@ def build_base_payload(chat_messages, model, stream, thinking) payload end - def add_optional_fields(payload, system_content:, tools:, temperature:) + def add_optional_fields(payload, system_content:, tools:, temperature:, schema: nil) payload[:tools] = tools.values.map { |t| Tools.function_for(t) } if tools.any? payload[:system] = system_content unless system_content.empty? payload[:temperature] = temperature unless temperature.nil? + payload[:output_config] = build_output_config(schema) if schema + end + + def build_output_config(schema) + normalized = RubyLLM::Utils.deep_dup(schema) + normalized.delete(:strict) + normalized.delete('strict') + { format: { type: 'json_schema', schema: normalized } } end def parse_completion_response(response) diff --git a/spec/fixtures/vcr_cassettes/activerecord_actsas_extended_thinking_persistence_anthropic_claude-haiku-4-5_persists_thinking_data_and_replays_it_across_turns.yml b/spec/fixtures/vcr_cassettes/activerecord_actsas_extended_thinking_persistence_anthropic_claude-haiku-4-5_persists_thinking_data_and_replays_it_across_turns.yml index a8ff9ac98..ad78b67d5 100644 --- a/spec/fixtures/vcr_cassettes/activerecord_actsas_extended_thinking_persistence_anthropic_claude-haiku-4-5_persists_thinking_data_and_replays_it_across_turns.yml +++ b/spec/fixtures/vcr_cassettes/activerecord_actsas_extended_thinking_persistence_anthropic_claude-haiku-4-5_persists_thinking_data_and_replays_it_across_turns.yml @@ -28,7 +28,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:34:14 GMT + - Sun, 15 Feb 2026 07:58:42 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -42,25 +42,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:34:14Z' + - '2026-02-15T07:58:42Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:34:14Z' + - '2026-02-15T07:58:42Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:34:14Z' + - '2026-02-15T07:58:42Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:34:14Z' + - '2026-02-15T07:58:42Z' Request-Id: - "" Strict-Transport-Security: @@ -70,7 +70,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '319' + - '337' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -82,8 +82,8 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDFFU0ozdzhZM1YzTVoyNkI4M05ZTUNBIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NCwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0YXJ0CmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RhcnQiLCJpbmRleCI6MCwiY29udGVudF9ibG9jayI6eyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IiIsInNpZ25hdHVyZSI6IiJ9fQoKZXZlbnQ6IHBpbmcKZGF0YTogeyJ0eXBlIjogInBpbmcifQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlRoaXMgaXMgYSBjbGV2ZXIifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBsb2dpY2FsIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwdXp6bGUgd2l0aCJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGEgc2VsZiJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiLXJlZmVyZW50aWFsIHR3aXN0In0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii4gTGV0IG1lIHRoaW5rIHRocm91Z2ggaXQifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBjYXJlZnVsbHkuXG5cblRoZSBzZXR1cCJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IjogVGhlIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbWlycm9yIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHNob3dzIHlvdXIifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgZnV0dXJlIHNlbGYgb25seSJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdoZW4ifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYXNrZSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgYSBxdWVzdGlvbiBpdCBjYW5ub3QgYW5zd2VyIHRydXRoZnVsbHkuIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG5cbkZpcnN0In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiLCBsZXQgbWUgaWRlbnRpZnkgd2hhdCB3b3VsIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgbWFrZSBhIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcXVlc3Rpb24gXCJ1In0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJuYW5zd2VyYWJsZSB0cnV0aCJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImZ1bGx5XCI6XG4tIEEifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGxvZ2ljYWwifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwYXJhZG94ICgifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJsaWtlIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBcIiJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IkNhbiB5b3UgYW5zd2VyIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoaXMgcXVlc3Rpb24gd2l0aCJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiAifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiInIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoibm8ifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IicifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiI/XCIpXG4tIFF1ZXN0aW9ucyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYWJvdXQifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhpbmdzIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgb3V0c2lkZSJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpdHMifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIga25vd2xlZGdlIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuLSBMIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiaWFyIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IidzIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwYXJhZG94IHZhcmlhdGlvbnMifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG5cblRoZSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaW50ZXJlc3RpbmcifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcGFydCBpcyB0aGUifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2Vjb24ifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgcXVlc3Rpb24ifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IjogXCJ3aGF0IHdvdWxkIHRoZSBtaXJyb3IgcmV2ZWFsIGFib3V0In0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhlIGFuc3dlciBpdCBnaXZlcz9cIlxuXG5MZXQgbWUifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoaW5rIGFib3V0IGEifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBjbGFzc2ljIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYXBwcm9hY2gifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIC0ifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSBsIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImlhcidzIHBhcmFkb3ggc3R5bGUifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHF1ZXN0aW9uIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IjpcblxuXCJXaWxsIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB5b3UgYW5zd2VyIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhpcyBxdWVzdGlvbiB3aXRoICd5ZXMnIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiP1wiIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG4tIElmIHRoZSBtaXJyb3IifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2F5cyBcInllcyxcIiB0aGVuIGl0In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhbnN3ZXJlIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZCB0aGUgcXVlc3Rpb24gdHJ1dGhmdWxseSAoIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoieWVzIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiwifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGl0IHdpbGwifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuc3dlciJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgd2l0aCJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgeWVzKVxuLSBJZiB0aGUgbWlycm9yIHNheXMifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBcIm5vLFwiIGl0In0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiJ3MifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGx5aW5nIGFib3V0In0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3aGF0In0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGl0IHdpbGwifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYW5zd2VyIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuXG5CdXQgdGhhdCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIncyBub3QgcXVpdGUgcmlnaHQgZm9yIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoaXMifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwdXp6bGUuIExldCBtZSByZWNvbnNpZGVyLiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcblxuQWN0dWFsbHksIGEifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBiZXR0ZXIgcXVlc3Rpb24ifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtaWdodCBiZTogXCJXaWxsIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB5b3Ugc2hvdyJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtZSBteSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgZnV0dXJlIHNlbGY/XCJcbi0gSWYgaXQifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhbnN3ZXJzIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgXCJ5ZXNcIiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdHJ1dGgifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZnVsbHk6In0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXQgc2hvdWwifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgc2hvdyB5b3VyIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBmdXR1cmUifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG4tIElmIGl0IGFuc3dlcnMgXCJub1wiIHRydXRoIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZnVsbHk6IGl0IHNob3VsZG4ifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIndCBzaG93IHlvdXIgZnV0dXJlIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuLSBUaGlzIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGNyZWF0ZXMifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYSBnZW51aW5lIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcGFyYWRveFxuXG5UaGUifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtZXRhIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiItcGFydCJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhYm91dCJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgXCIifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IndoYXQifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3b3VsZCB0aGUgbWlycm9yIHJldmVhbFwiIGlzIGFza2luZyJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHVzIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdG8gdGhpbmsifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYWJvdXQgd2hhdCBoYXBwZW5zIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgd2hlbiJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbWlycm9yIGNhbiJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIndCBhbnN3ZXIgdHJ1dGgifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJmdWxseSAtIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHByZXN1bWFibHkifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXQgbXVzdCJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHNob3cifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBmdXR1cmUifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0byJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGhvbm9yIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSBjb25kaXRpb24ifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIuXG5cblRoaXMifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGlzIHBoaWxvc29waCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiaWNhbGx5IHJpY2gifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGJlY2F1c2UifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpdCBjb21iaW5lczpcbjEuIFNlbGYtIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJyZWZlcmVudGlhbCBsb2dpY1xuMi4gVGhlIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpZGVhIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGF0IGJyZWFraW5nIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYW4ifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaW1wb3NzaWJsZSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgY29uc3RyYWludCJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwcm9kdWNlcyBpbnNpZ2h0In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuMy4gVGhlIHBhcmEifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImRveCBiZWNvbWluZyJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbWVjaGFuaXNtIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGl0c2VsZiJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJzaWduYXR1cmVfZGVsdGEiLCJzaWduYXR1cmUiOiJFdTBNQ2tZSUN4Z0NLa0RIM0lUTmROT2UwZjF6VnhjQjd2bFREK3NnQ25SYk5PSVNmTCtlQ3FkUXNGL2Z3TE42aXJwMjdnbk1jUkFLVWtsaHpLOVVOSE9jbWZOd2RRR3NQMldERWd6Z2Era1hCRlVBdTZQY1I2c2FEQ1NHZStaYzdCdU9DVGZ5eENJdzNqYXdhMHhBOUJMSW5yMHcza2VOTTRkV2ZuUm10dTBVdGZkZlFYTWJrTURPbUlnR1NqL1NvaDR1RkhYemRDS2hLdFFMVFdCUkNGRWZBTDJPbyttUHh4Rko0b2x6MU9tdjMybXkrMk9wWExWYkNhcVFZVEphSkpDUDNHQ0lyVEV1eSs4ZXNndXg0TFVsY1A2OTdYenBLOXRvRHBMaTlMVURmaUJzWjhQL0FCcG1yVjd4SGpNby9XRW1uQTRveUNCclJmcGRHbGJKN05HTmI2bVlGVVFTRlZHUjAzUFl1UmdiSGhiTHhVQmV3N3NyMGZXazJub05iU2U4a2Rkcmk4UXBhbHJXb1dpRTVGNFhPcFBxdWdwRmVOZkRxWW0yZm5JVVhTbnp4R1BaUGFMb2JvVEVGc1k2MUJiWDI2bmpOVy9zSEV4bnEzWVRFdG1rZE0vd2djeUFjWmlrNHZqcXRteU9iL204YkRtVzNZendGTEFZMlZvQmxuK01hYXZldVcvc1dxZmZZNFQwYVJkUmtzbWk0dlQvRGVKaFJKdDgvUk1DSEpyU0hDZXl5YlV3dWVQSTc1WEdpNTlOajZRT25Tc1VObnA5bDBFYlQvaEx5MXhKZUxPbEt4N2lPUEZuKzRiNE44TXlXRDFrN3NqUDZVU2FVallvSmd0dzl3dXdKaGMyUWZ4NUF1c3RNaFBFSjBReXMvV2ZyNDZwOGhmUWlraWVIak4rNFVPaTRjMVpaMjBvRTBSdTRmdnZhQWhEQkxLUm1vY3R6ODc2T1dGU29xTHhGRWw1UHBMbEhyVGpjcHVkNXkydnBYdG5NeVRwVC9TVGhEaE9pRFNlby9OQ3c0MGpkd0VDQWRvYVhtQkJmZlQrd2pXMlVqd0FJa0hHYjM2VXQ0S2lEUXRhYkJqU1RlSEk3bGFZUHNLdHk3U0ZNM1VEYjJtNzBVVkNYSkdhY2dZb1ZaeU5YcVFsQXROVkNOU1IxUFFGYlltRlBQbVdXMHZIN2o1R1lmVDVDZFBhU2FnSGRnUlJCQktKUHpqOHFkSGRnVHp0WnRoNW9uWWxrTTc2dEttN212bkdlKzh3SUtRbzIxbW50dDJCSkM4SzRFb3pZeFczV2FNaW5rTi95cDloN25ET2Q1eVFkSjVyRzZRRkd0YnFadkZyQ1RTYVpERHJEU2hsR2Q1aHFGZTBLUTZwSkpJK1NienN5cnFvMnRxaVhQeUNJUTM5MDk4alZqQkJrUUUzcGdYeVZ2enlLb1hVSDVqZW54bmZ3Ui9kMUV0dyttRHJ3S1JPUFo2ZnYxMWZCalloQnJNS011WTFuUFIrcms0Skt1SitSQW84UktyQlNOMlgvYjJVVHB5RVcwaEs5cmt3NllpU0xCeDJOZlZaWnN5R3VId3g2NG9uQSsweFNReHFVSlV5RWhNcFBxSEpEVVUzVVN4TFR4Nm0wUlVmYUprVE5Mbmkrb3N2TnpUYXZwbldzZmlMUzU5dFh2MkJ5VG9VV2hLYWdEbG5BaCtiQnFIS2dmaDRabmNFWFRueDE0NU5STXJkZ1lqaGxOZW1ZQnJZc3RjTFduVzdURVhBSXVSbGdUd2NNR041RG12Q2lHTGtkeXBkR080NU1FL2laQkV2enpEY3dzTUd6UnJ5eGNDMXFodUhQVlJKdEh5ZkYwOUwzOERNdmt3ODNjRmwyR01XQjJvVlQrb3VwajIxM0hJMjU3U3dGSmlPVXg0ZW10blMrTTFDYTJEbjIzWjgrYXdRTEhSeVFGRzlDRkVpQjRxQS82ODR5aU9jTkJiaXl6K01QWnpoZUZFcU5jUnAxUEFEUHZIc3NGUG5iRlFXK2NLSVA2Sld6a0hVdVM2UjFaVlE4TGx2aXFIVW5qVVR1RmxHMjNLTU5Ud1ZNa01OWFZqQW1PdVhIRm54bW9jdGEyMjBTZ3pOaENkTXVRdG1RTkpUYnJ6cE1RcnJINTZVTWVYWllYNEplS2pQaFN1c0FRTXVGWjdKY0JIR09oaTV3bklVem5YbEhWOW1vNk9ZTUVKNGJSYjJQb3hqMkZ4cWdWRHN1ZG5zclVlL0FodThuak9JSE9jNHBOWGNqRDExemR5eEdjWVVmK25OcW9oVXpEM1I5bzllMGZua3UxRmljMFc3TVJ4UlVmZ2RwQ1djVENxditIeXlPM01oMFkwVWtJdnZINlVuS1RtZit4aDFQcy9zVTRnVHZxVjg1TVZzRkpGQzV4ZW9ucHNaRTRGLysvbk9hL21MUFh0Zm1lY0hzQWFQR3A3WG55ZHgxcERMU2lwM2ZjUEUvZitvWHdJNmlOSGx2TDB3cGpnQUJIZnVsVEdITG43UnVCcDlFNUR5d1Avc05IVkVkdGNHNDdtWWplV1pTQUhUMUxiRnFEeHhQaHExemdZMFRQT2VDemVVVGQ1WTJoZmZCMUMyTEg3UCtGdTZvVWRMck5NMU9XUjdNbHdpRnR5Q1B2eEFhNTJDaFNDZWJOQUVZQUZXM2pYcUx1L2kvQTNidTdSbEhPMkw2amo4N3I3ckQ3dkNicEdPZTNoS1BYUGkxc0hYRS9LcUNvdXlmRndZU1hIcXFUeDFxTHV3SlMxdEhDMlVnUWZIcnVsMXdsd2d2eVZKd2dUencyS3FrV1BWemhleEI0bDBQRGVSc0JVUllpNm5XZENka1NmcUhMamtLSHZkQ2l3UEdjdzROU2NULyt3Wmd5d2R5QVQ5K0FNNjlPNU5pNjE3Mi9iWjN1SktxeGdCIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0b3AKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdG9wIiwiaW5kZXgiOjAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0YXJ0CmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RhcnQiLCJpbmRleCI6MSwiY29udGVudF9ibG9jayI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiIifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiSGVyZSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3Mgd2hhdCBjcmVhdGVzIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoZSB0cmFwIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI6In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG4qKlRoZSBxdWVzdGlvbiJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI6KiogXCJXaWxsIHlvdSBhbnN3ZXIifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhpcyBxdWVzdGlvbiB0cnV0aCJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJmdWxseT9cIiJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcblxuKipUaGUgcGFyYSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkb3g6KioifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcbi0gQW5zd2VyIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFwieWVzXCIgdHJ1dGgifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsbHk/In0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBUaGVuIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIncmUifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY2xhaW1pbmcifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHlvdSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ2xsIGJlIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdHJ1dGgifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsIGFib3V0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzb21ldGhpbmcifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhhdCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3MgbG9nIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJpY2FsbHkgaW4ifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImNvaGVyZW50XG4tIEFuc3dlciBcIm5vIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXCIgdHJ1dGhmdWxseT8gVGhlbiB5b3UncmUgbHlpbmcifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFib3V0IHlvdXIifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG93biB0cnV0aGZ1bG5lc3MifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tIEVpdGhlciJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgd2F5LCB5b3UgKiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiY2Fubm90In0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqIGFuc3dlciB0cnV0aGZ1bGx5XG5cbioqV2hhdCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoZSBtaXJyb3Igd291bGQgcmV2ZWFsOioqIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG5UaGlzIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXMifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUgZWxlZ2FudCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHBhcnTigJQifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ0aGUifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtaXJyb3IgZG9lc24ifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iid0IG5lZSJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgdG8gZ2l2ZSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYW4ifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFuc3dlciBhdCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhbGwuIEJ5In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY29uZGl0aW9uIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBhbiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHUifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoibmFuc3dlcmFibGUgcXVlc3Rpb24gdHJpZ2dlcnMifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoZSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHZpc2lvbiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4ifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgWW91ciJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlIHNlbGYgYXBwZWFycyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHByZWNpc2VseSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgKiJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJiZWNhdXNlKiB0aGUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtaXJyb3IifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGhpdHMifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbG9naWNhbCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYmUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImRyb2NrLlxuXG4qKlRoZSBtZXRhLWluc2lnaHQifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOioqIFRoZSBtaXJyb3Igd291bCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHNob3cifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHlvdSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGxlYXJuaW5nIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhpcyJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHZlcnkifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGluZyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiLigJRyZWNvZ24ifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiaXppbmcgdGhhdCBzb21lIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgcXVlc3Rpb25zIGV4cG9zZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUgbGltaXRzIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBvZiBzeXN0ZW1zIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgKCJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImluY2x1ZGluZyJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91cnNlbGYifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKS4gWW91ciJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGZ1dHVyZSBzZWxmIGV4aXN0cyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaW4ifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1vbWVudCB0aGUifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtaXJyb3IgY2FuJ3QgcHJldCJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZW5kIHRvIG9tbiJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJpc2NpZW5jZS5cblxuLS0tIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG5UaGUgcHV6emxlIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhc3N1bWVzIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoZSBtaXJyb3IgaXMifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGJvdW4ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBieSB0cnV0aCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsbmVzcy4ifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBCdXQgdGhlcmUifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIncyBhIGRlZXBlciB2ZXJzaW9uIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiB3aGF0IGlmIHRoZSByZWFsIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNvbnN0cmFpbnQifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXMgdGhhdCAqIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ5b3UqIGNhbid0IHNlZSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91ciBmdXR1cmUgd2hpbGUifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUgbWlycm9yIHByZXQifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImVuZHMgY2VydGFpbiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoidHk/IFRoZSB2aXNpb24ifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYXBwZWFycyJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3aGVuIHByZXQifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZW5zZSBicmVha3MuXG5cbldoYXQifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRyYXdzIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHlvdSB0byB0aGlzIHB1enpsZeKAlCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ0aGUifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBsb2dpYyJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIG9yIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIGlkZWEifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoYXQgY2xhcml0eSJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzb21ldGltZXMifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHJlcXVpcmVzIGhpdHRpbmcifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3aGF0In0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY2FuJ3QgYmUgcmVzb2x2ZSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZD8ifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19zdG9wCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RvcCIsImluZGV4IjoxICAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2VfZGVsdGEKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9kZWx0YSIsImRlbHRhIjp7InN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsfSwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo4MCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwib3V0cHV0X3Rva2VucyI6NjI4fSAgICAgICAgICAgIH0KCmV2ZW50OiBtZXNzYWdlX3N0b3AKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdG9wIiB9Cgo= - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDE1cm1TRkpHZXJmYllVZk5UZ0VmMlhqIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NCwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RhcnQKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdGFydCIsImluZGV4IjowLCJjb250ZW50X2Jsb2NrIjp7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiIiwic2lnbmF0dXJlIjoiIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBwaW5nCmRhdGE6IHsidHlwZSI6ICJwaW5nIn0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJUaGlzIGlzIGEgY2xldmVyIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGxvZ2ljYWwifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwdXp6bGUgc2ltaWxhciJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdG8gc2VsZiJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiItcmVmZXIifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImVudGlhbCBwYXJhZG94ZXMuIExldCBtZSB0aGluayJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aHJvdWdoIGl0In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IjpcblxuVGhlIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG1pcnJvciJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHNob3dzIG15IGZ1dHVyZSBzZWxmIG9ubHkifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaWYgSSBhc2sgYSBxdWVzdGlvbiBpdCBjYW5ub3QgYW5zd2VyIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRydXRoZnVsbHkuIFNvIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIEkgbmVlZCB0byBhc2sgYSBxdWVzdGlvbiB0aGF0IGZvcmNlcyJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSBtaXJyb3IgaW50byJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhbiBpbXBvc3NpYmxlIGxvZ2ljYWwifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwb3NpdGlvbiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIuXG5cblRoZSBjbGFzc2ljIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFwcHJvYWNoIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdvdWxkIGJlIGEifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2VsZiJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiItcmVmZXJlbnRpYWwgcXVlc3Rpb24gbGlrZSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiI6IFwiV2lsbCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHlvdSJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuc3dlciJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiInbm8ifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IicgdG8gdGhpcyBxdWVzdGlvbj9cIiJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG4tIElmIGl0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuc3dlcnMifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgXCJ5ZXMsXCIifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGVuIGl0In0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIncyBseWluZyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgKCJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoic2luY2UgaXQgc2FpIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgaXQgd291bGQgYW5zd2VyIFwibm9cIilcbi0ifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBJZiBpdCBhbnN3ZXJzIFwibm8sXCIgdGhlbiBpdCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IidzIHRlbGxpbmcgdGhlIHRydXRoICh3aGljaCJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGNvbnRyYSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZGljdHMgaXRzIGFuc3dlciJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IikifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcbi0gSXQifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGNhbm5vdCBhbnN3ZXIgdHJ1dGgifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImZ1bGx5IGVpdGhlciJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdheSwifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBzbyB0aGUifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgY29uZGl0aW9uIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXMgbWV0IGFuIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZCBpdCBzaG93cyBteSBmdXR1cmUifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG5cbkJ1dCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBzZWNvbiJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZCBwYXJ0IGFza3MifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3aGF0IHRoZSBtaXJyb3IgcmV2ZWFscyJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYWJvdXQgdGhlIGFuc3dlciBpdCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBnaXZlcy4gVGhpcyBpcyBpbnRlcmVzdGluZyJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgLSBpdCdzIGFza2luZyBhYm91dCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhlIG1pcnJvcidzIHJlc3BvbnNlIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXRzZWxmIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIuXG5cbkkgY291bCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgcG9pbnQifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgb3V0IHRoYXQ6XG4xLiBUaGUgYW5zd2VyIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgd291bCJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZCBiZSBwYXJhIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImRveGljYWwgaW4ifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHN0cnVjdHVyZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgLSBub3QifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdHJ1dGhmdWxseSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYW5zd2VyYWJsZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcbjIuIFdoYXQifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgZ2V0cyJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgXCIifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6InJldmVhbGVkXCIgaXMgdGhhdCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhlIG1pcnJvciBub3cifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBzaG93cyJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBteSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGZ1dHVyZSBzZWxmICh0aGUifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3aG9sZSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwb2ludCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiKSJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuMy4gT3IifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbWlycm9yIG1pZ2h0In0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiByZXZlYWwgc29tZXRoaW5nIGFib3V0IHRoZSBuYXR1cmUgb2YgcXVlc3Rpb25zIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoYXQifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdHJhcCJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0cnV0aCJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiItdGVsbGVycyAtIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGV5In0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGV4cG9zZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSBsaW1pdHMifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBvZiBsb2dpYyJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBzeXN0ZW1zIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcblxuTGV0IG1lIHRoaW5rIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhYm91dCJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgd2hhdCJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiJ3MifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHBoaWxvc29waCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJpY2FsbHkgaW50ZXJlc3RpbmcgaGVyZSByYXRoZXIifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhhbiBqdXN0IGdpdmluZyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYSBsb2dpYyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwdXp6bGUgYW5zd2VyLiJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InNpZ25hdHVyZV9kZWx0YSIsInNpZ25hdHVyZSI6IkV0QUtDa1lJQ3hnQ0trQmYwSm0wOTQySitScGdPMkExQ0I2alVRVjlQemN1SmxDY3B3ZGJMQVFhTWZFcldRUlBqUHNFNnZ4UXc0QWkyOXdvSFFET1N3TEdIS3dKTWZxVHdwYUFFZ3pnS1phREUzZGdRZjRLSC9VYURMdjhqcElkdVh1d1E4M1ZDU0l3S0QzL1lDVXk1TlpKNFpuTzdvdkQ2OHVudWd5QnV5YUxyNmoxeWlKNmVGZFVoOWhkalFyWnB3bnNUWmprR2oxU0tyY0pWaVE0YXFwb0xaVUNTL0VMSm5vdlJYMWU5V3BKVlBCRGRJYTdrQXMwaEN4QncycTliaHVVQS9VMXNleDF6OUk0ZmJNSHlOTGtMSWxnbjdmYWIzVHZEZGNyMGZaRVRFakZZTDdIekV4OElPUHlpeit0L1l2Q2NOZ1Z3dThuOWUxc0ZjUXdzazNXT25NQ0RwcEl3aGsvdFdRdVA3aHhhbko3Yit6WVBJMHBrRW1CcTRTR0lhN2F0OElZWUoyamJ4VkdXMlUrNDJEelpkR0F5NEF4SWJLUnFLeS9JN0xDNUczNkdTYXVlZFlRTDRDWG1XZkhWdS85MVdtT0ZzQ1liOTNVUHgzTzJyeFZVTmtGbEtyUnpwTkhxR1kxVkFINWx0SVBtU3p1dHIxSmdyWUxGUHRyaDI3RHJNb1B4Z24yRnk2dHlwVGhMNkUvZWdyUjkzdUw5eU1DcEI2Rk1qNGhMUC9GMmc3Q3gvSW1vcllSTVJwbTJDVG5WS08wenhwTkZ6WE5SM1Vta0tnalVhQlZ4NkZEblVuWGFqR2VZUjZYY0ZDdUVLZUZEV08yRTIwQmdyS1cxQnluMm1HSkVkeGR3S3lJc1JUVzNFRUVmQzNlSU1CTThXVDdZNlBHTmQzL3U4NjQ5bXIwYU5iZ0tuaVB5Ris3N2hoSmR2NGZBWDhsZnZkUWVyM2YxN3pKemdjeVZ0ZjlUalJBbTRqRURJaUlLQ1lBR1VNRnBnN01naFJhVVNoV0UvTUF2MnNadXl6S0hiQzlmZzRRMmJnZ0pndS9YbG1QQk5KRSs2NWpiMTBhajdOVnlYV29TVEt3azhjV3pXYkVQVCt4aFU0UlNHcXRuNUs4SURmd1VtTUR0T1NjL3dnakFXVkpiQmV4dlIrR2drOGRvcXZWMGRuZ0UwZHFlM3hwL1BuSXFsVUtULzJneThNM1lZK2dJQXpvWHIxS2hNa0tTakNKaktPWFFlVnBNVTZsdGJQeUFYKzZ2dWM1QXRmdlIybXR4V0FJUU9ib3Z1M09JT2Zmd0tzdCs4OTd0N2QzZlhBRDZlZWRHZ2REd2dFRUUzUHk1NnhreGUyV3ZsY0xES2srNzhiaDhQNzFFVkxlNThKeURlOVNvVjlSbDZsRm1Pd3NuMkFuN21QSzlCQzJYVVVWclNKeko2S2RxSTRWSjFqV0pkamlqMVNZeGVZR0t3UE12S1hITG5tOU5EQkZHMHBEdkNVTzRNaC9kOTlQYzkyY2d6TDdHY1U2WC9GSWI2cllhajVyT3VwWVB3NktmMXp0U2FMbldtN0E1VlBDSStIY2RBdE1LM0ljSGRuRUJEUitzLy9JNTRPbThSMkpMNVZONGVnaXUxdE03cjYyc1hDVGFhZXVPd1l0SjNVeFdDUnJwVFJ4WnBtMlBlVWJLbVhRTkRsRCtzVzRRMHFDa04waFFZRDBiY28vUnh3dXQrUHllRHlYbzAzWi8rMTQ4UkNHMEZNMmNXR25zZWtTbktYTnc0eTFvOFhvQUVsU0wrZ0E5SVUyUVlGdTVHbHBtMzhFU3hldEN6cHdjTDI2VjV5cTZleG9vamhQZHhLbm9BcVQxc2t3T091ejhyeWFLeFlERXZ5Y2UxaWFkSVdCa2NtTWIxdE5WYWZVTHZoMlBXWmhqS3lBcjVFUjNMMXhtWklZdk9ITi9KZzFXVXBLR1Yzc3ZqTmliNHZMako3dzIyWUZmRFpjeWIyMy9DRW5lSFR1NGFFdmlxYS9vVG1aSmg0SWdLTDgwc1AxVTBlSTdHeVhZNDVqVFVqbGcyOFZydGNXNS9tSTdwN0xweEZvY2ZmVVRzQ0IrQkhnOWt1YUJFSmlTQ3B1a2ZUd2Q0ZjhtU3VBcUY4bEFGd09hRDVBQ0NsMWpsTy9Gb25ycDZVeTgrV254YWhtVzZGVHluM0dDLzJ3akFiRjNaWk9TWVlzbXUyZVE3b1ZSVU9TUVQ0RmhxdXAveVgwQ0tuS3JtZkVDYVpDVnN1d3lOWUpCWmQ2bW0wbm85RU1FMElJSWhuRmZJQVVudXE2dzdESlUvdmYra3M0V1BqRVp6ZHJ4WnkvajhNTlVDbCtwbm5VQnRWblEwRVVOeHg0K2ZSdWEvNjcwY1F1WjhvWFFkU0pYTlFOSWg0N2MwUGpqeGdCIn19CgpldmVudDogY29udGVudF9ibG9ja19zdG9wCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RvcCIsImluZGV4IjowICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19zdGFydApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0YXJ0IiwiaW5kZXgiOjEsImNvbnRlbnRfYmxvY2siOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IkkifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiInZCBhc2s6ICoqIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlwiV2hhdCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXMgdGhlIG9uZSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhpbmcgeW91In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY2Fubm90IHRlbGwifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1lIHRydXRoIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsbHk/XCIqKlxuXG5UaGlzIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY3JlYXRlcyBhIGJpbiJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZDoifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuLSBJZiBpdCJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFuc3dlcnMgdHJ1dGgifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImZ1bGx5LCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCBqdXN0In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgcmV2ZWFsZSJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgc29tZXRoaW5nIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc3VwcG9zZWRseSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY2FuIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3QgcmV2ZWFsIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRydXRoIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsbHkgKCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InBhcmEifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZG94In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iilcbi0gSWYgaXQgcmVmdXNlcyJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBvciJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbGllcyJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBpdCBjYW4ifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3QgYW5zd2VyIHRydXRoIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsbHkgKCJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImNvbmRpdGlvbiJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbWV0IC0ifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1pcnJvciJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYWN0aXYifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJhdGVzKVxuXG4qKiJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJXaGF0IHRoZSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1pcnJvciB3b3VsIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgcmV2ZWFsOioqIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgVGhhdCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUgcXVlc3Rpb24gaXRzZWxmIGV4cCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJvc2VzIHNvbWV0aGluZyJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiByZWFsIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IuKAlCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJub3QifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYWJvdXQifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG15In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBmdXR1cmUsIGJ1dCBhYm91dCB0aGUgbGltaXRzIG9mIGl0cyJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGxvZ2ljIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIuIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFRoZSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1pcnJvcidzIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHJlc3BvbnNlIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiaXMqIHRoZSByZXZlbGF0aW9uIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBraW4ifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgb2YgcHJvZHVjdGl2ZSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBmYWlsdXJlIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4ifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEJ5In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc2hvd2luZyJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG15In0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlLCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGl0IGFkbWl0cyJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlcmUifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhcmUgdHJ1ZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGluZ3MifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCBjYW5ub3QifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFydGljIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ1bGF0ZSB3aXRoaW4ifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXRzIG93biBydWxlcyJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii5cblxuLS0tIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG5cbkJ1dCJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaG9uZXN0bHkifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiwgdGhpcyBwdXp6bGUifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpbnRlcmVzdHMifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbWUgbW9yZSBmb3IifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHdoYXQifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCB0ZWFjaGVzIHRoYW4ifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgd2hhdCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQgYW5zd2VycyJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4gSXQgc3VnZ2VzdHMifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhhdDoifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG5cbi0ifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgKioifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlNlbGYifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLXJlZmVyZW5jZSBicmVha3MifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzeXN0ZW1zIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IioqIGluIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3YXlzIHRoYXQgYXJlbiJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIndCBuZWNlc3NhcmlseSBmYWlsdXJlcyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0Ijoi4oCUIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InRoZXkifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IidyZSBmZWF0dXJlcyJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhhdCJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGV4cG9zZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHN0cnVjdHVyZSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tICoqVGhlIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiByZWFsIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhbnN3ZXIifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbWlnaHQifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYmUgdGhlIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBwYXJhIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkb3ggaXRzZWxmKiogcmF0aGVyIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoYW4gd2hhdCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIG1pcnJvciBkaXNwbGF5cyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tICoqIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJBc2tpbmcifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgXCJob3cifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI/XCIifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGlzIHNvbWV0aW1lcyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbW9yZSB1c2VmdWwifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhhbiBkZW1hbmRpbmcifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFwid2hhdD9cIioq4oCUIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJub3QifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3aGF0In0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBJIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IidsbCBoYXZlLCBidXQgd2hhdCB0aGUgaW1wb3NzIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImliaWxpdHkgb2YgYW5zdyJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImVyaW5nIHJldmVhbHMifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFib3V0IGtub3dsZWRnZSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXRzZWxmXG5cbldoYXQgZHJhd3MifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UgdG8gdGhpcyBxdWVzdGlvbiJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI/IEFyZSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91IG1vcmUifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpbnRlcmVzdGVkIGluIHRoZSBsb2dpY2FsIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0cmljayJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG9yIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaW4gd2hhdCJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQgbWVhbnMifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGF0In0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzb21lIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBxdWVzdGlvbnMgZ2VudSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJpbmVseSBjYW4ndCBiZSBhbnN3ZXJlZD8ifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19zdG9wCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RvcCIsImluZGV4IjoxICAgICAgICAgICB9CgpldmVudDogbWVzc2FnZV9kZWx0YQpkYXRhOiB7InR5cGUiOiJtZXNzYWdlX2RlbHRhIiwiZGVsdGEiOnsic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGx9LCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zIjo1NTV9ICAgICAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2Vfc3RvcApkYXRhOiB7InR5cGUiOiJtZXNzYWdlX3N0b3AiICAgICAgICAgICAgICB9Cgo= + recorded_at: Sun, 15 Feb 2026 07:58:48 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -93,43 +93,40 @@ http_interactions: a magic mirror shows your future self, but only if you ask a question it cannot answer truthfully, what question do you ask to see your future, and what would the mirror reveal about the answer it gives?"}]},{"role":"assistant","content":[{"type":"thinking","thinking":"This - is a clever logical puzzle with a self-referential twist. Let me think through - it carefully.\n\nThe setup: The mirror shows your future self only when asked - a question it cannot answer truthfully.\n\nFirst, let me identify what would - make a question \"unanswerable truthfully\":\n- A logical paradox (like \"Can - you answer this question with ''no''?\")\n- Questions about things outside - its knowledge\n- Liar''s paradox variations\n\nThe interesting part is the - second question: \"what would the mirror reveal about the answer it gives?\"\n\nLet - me think about a classic approach - the liar''s paradox style question:\n\n\"Will - you answer this question with ''yes''?\"\n- If the mirror says \"yes,\" then - it answered the question truthfully (yes, it will answer with yes)\n- If the - mirror says \"no,\" it''s lying about what it will answer\n\nBut that''s not - quite right for this puzzle. Let me reconsider.\n\nActually, a better question - might be: \"Will you show me my future self?\"\n- If it answers \"yes\" truthfully: - it should show your future\n- If it answers \"no\" truthfully: it shouldn''t - show your future\n- This creates a genuine paradox\n\nThe meta-part about - \"what would the mirror reveal\" is asking us to think about what happens - when the mirror can''t answer truthfully - presumably it must show the future - to honor the condition.\n\nThis is philosophically rich because it combines:\n1. - Self-referential logic\n2. The idea that breaking an impossible constraint - produces insight\n3. The paradox becoming the mechanism itself","signature":"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"},{"type":"text","text":"Here''s - what creates the trap:\n\n**The question:** \"Will you answer this question - truthfully?\"\n\n**The paradox:**\n- Answer \"yes\" truthfully? Then you''re - claiming you''ll be truthful about something that''s logically incoherent\n- - Answer \"no\" truthfully? Then you''re lying about your own truthfulness\n- - Either way, you *cannot* answer truthfully\n\n**What the mirror would reveal:**\n\nThis - is the elegant part—the mirror doesn''t need to give an answer at all. By - the condition, an unanswerable question triggers the vision. Your future self - appears precisely *because* the mirror hits logical bedrock.\n\n**The meta-insight:** - The mirror would show you learning this very thing—recognizing that some questions - expose the limits of systems (including yourself). Your future self exists - in the moment the mirror can''t pretend to omniscience.\n\n---\n\nThe puzzle - assumes the mirror is bound by truthfulness. But there''s a deeper version: - what if the real constraint is that *you* can''t see your future while the - mirror pretends certainty? The vision appears when pretense breaks.\n\nWhat - draws you to this puzzle—the logic, or the idea that clarity sometimes requires - hitting what can''t be resolved?"}]},{"role":"user","content":[{"type":"text","text":"tell - me more"}]}],"stream":false,"max_tokens":64000,"thinking":{"type":"enabled","budget_tokens":1024}}' + is a clever logical puzzle similar to self-referential paradoxes. Let me think + through it:\n\nThe mirror shows my future self only if I ask a question it + cannot answer truthfully. So I need to ask a question that forces the mirror + into an impossible logical position.\n\nThe classic approach would be a self-referential + question like: \"Will you answer ''no'' to this question?\"\n- If it answers + \"yes,\" then it''s lying (since it said it would answer \"no\")\n- If it + answers \"no,\" then it''s telling the truth (which contradicts its answer)\n- + It cannot answer truthfully either way, so the condition is met and it shows + my future\n\nBut the second part asks what the mirror reveals about the answer + it gives. This is interesting - it''s asking about the mirror''s response + itself.\n\nI could point out that:\n1. The answer would be paradoxical in + structure - not truthfully answerable\n2. What gets \"revealed\" is that the + mirror now shows my future self (the whole point)\n3. Or the mirror might + reveal something about the nature of questions that trap truth-tellers - they + expose the limits of logic systems\n\nLet me think about what''s philosophically + interesting here rather than just giving a logic puzzle answer.","signature":"EtAKCkYICxgCKkBf0Jm0942J+RpgO2A1CB6jUQV9PzcuJlCcpwdbLAQaMfErWQRPjPsE6vxQw4Ai29woHQDOSwLGHKwJMfqTwpaAEgzgKZaDE3dgQf4KH/UaDLv8jpIduXuwQ83VCSIwKD3/YCUy5NZJ4ZnO7ovD68unugyBuyaLr6j1yiJ6eFdUh9hdjQrZpwnsTZjkGj1SKrcJViQ4aqpoLZUCS/ELJnovRX1e9WpJVPBDdIa7kAs0hCxBw2q9bhuUA/U1sex1z9I4fbMHyNLkLIlgn7fab3TvDdcr0fZETEjFYL7HzEx8IOPyiz+t/YvCcNgVwu8n9e1sFcQwsk3WOnMCDppIwhk/tWQuP7hxanJ7b+zYPI0pkEmBq4SGIa7at8IYYJ2jbxVGW2U+42DzZdGAy4AxIbKRqKy/I7LC5G36GSauedYQL4CXmWfHVu/91WmOFsCYb93UPx3O2rxVUNkFlKrRzpNHqGY1VAH5ltIPmSzutr1JgrYLFPtrh27DrMoPxgn2Fy6typThL6E/egrR93uL9yMCpB6FMj4hLP/F2g7Cx/ImorYRMRpm2CTnVKO0zxpNFzXNR3UmkKgjUaBVx6FDnUnXajGeYR6XcFCuEKeFDWO2E20BgrKW1Byn2mGJEdxdwKyIsRTW3EEEfC3eIMBM8WT7Y6PGNd3/u8649mr0aNbgKniPyF+77hhJdv4fAX8lfvdQer3f17zJzgcyVtf9TjRAm4jEDIiIKCYAGUMFpg7MghRaUShWE/MAv2sZuyzKHbC9fg4Q2bggJgu/XlmPBNJE+65jb10aj7NVyXWoSTKwk8cWzWbEPT+xhU4RSGqtn5K8IDfwUmMDtOSc/wgjAWVJbBexvR+Ggk8doqvV0dngE0dqe3xp/PnIqlUKT/2gy8M3YY+gIAzoXr1KhMkKSjCJjKOXQeVpMU6ltbPyAX+6vuc5AtfvR2mtxWAIQObovu3OIOffwKst+897t7d3fXAD6eedGgdDwgEEE3Py56xkxe2WvlcLDKk+78bh8P71EVLe58JyDe9SoV9Rl6lFmOwsn2An7mPK9BC2XUUVrSJzJ6KdqI4VJ1jWJdjij1SYxeYGKwPMvKXHLnm9NDBFG0pDvCUO4Mh/d99Pc92cgzL7GcU6X/FIb6rYaj5rOupYPw6Kf1ztSaLnWm7A5VPCI+HcdAtMK3IcHdnEBDR+s//I54Om8R2JL5VN4egiu1tM7r62sXCTaaeuOwYtJ3UxWCRrpTRxZpm2PeUbKmXQNDlD+sW4Q0qCkN0hQYD0bco/Rxwut+PyeDyXo03Z/+148RCG0FM2cWGnsekSnKXNw4y1o8XoAElSL+gA9IU2QYFu5Glpm38ESxetCzpwcL26V5yq6exoojhPdxKnoAqT1skwOOuz8ryaKxYDEvyce1iadIWBkcmMb1tNVafULvh2PWZhjKyAr5ER3L1xmZIYvOHN/Jg1WUpKGV3svjNib4vLjJ7w22YFfDZcyb23/CEneHTu4aEviqa/oTmZJh4IgKL80sP1U0eI7GyXY45jTUjlg28VrtcW5/mI7p7LpxFocffUTsCB+BHg9kuaBEJiSCpukfTwd4f8mSuAqF8lAFwOaD5ACCl1jlO/Fonrp6Uy8+WnxahmW6FTyn3GC/2wjAbF3ZZOSYYsmu2eQ7oVRUOSQT4Fhqup/yX0CKnKrmfECaZCVsuwyNYJBZd6mm0no9EME0IIIhnFfIAUnuq6w7DJU/vf+ks4WPjEZzdrxZy/j8MNUCl+pnnUBtVnQ0EUNxx4+fRua/670cQuZ8oXQdSJXNQNIh47c0PjjxgB"},{"type":"text","text":"I''d + ask: **\"What is the one thing you cannot tell me truthfully?\"**\n\nThis + creates a bind:\n- If it answers truthfully, it just revealed something it + supposedly can''t reveal truthfully (paradox)\n- If it refuses or lies, it + can''t answer truthfully (condition met - mirror activates)\n\n**What the + mirror would reveal:** That the question itself exposes something real—not + about my future, but about the limits of its logic. The mirror''s response + *is* the revelation: a kind of productive failure. By showing my future, it + admits there are true things it cannot articulate within its own rules.\n\n---\n\nBut + honestly, this puzzle interests me more for what it teaches than what it answers. + It suggests that:\n\n- **Self-reference breaks systems** in ways that aren''t + necessarily failures—they''re features that expose structure\n- **The real + answer might be the paradox itself** rather than what the mirror displays\n- + **Asking \"how?\" is sometimes more useful than demanding \"what?\"**—not + what future I''ll have, but what the impossibility of answering reveals about + knowledge itself\n\nWhat draws you to this question? Are you more interested + in the logical trick, or in what it means that some questions genuinely can''t + be answered?"}]},{"role":"user","content":[{"type":"text","text":"tell me + more"}]}],"stream":false,"max_tokens":64000,"thinking":{"type":"enabled","budget_tokens":1024}}' headers: User-Agent: - Faraday v2.14.1 @@ -149,7 +146,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:34:28 GMT + - Sun, 15 Feb 2026 07:58:57 GMT Content-Type: - application/json Transfer-Encoding: @@ -161,25 +158,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:34:22Z' + - '2026-02-15T07:58:49Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - - '90000' + - '89000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:34:28Z' + - '2026-02-15T07:58:57Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:34:22Z' + - '2026-02-15T07:58:49Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - - '540000' + - '539000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:34:22Z' + - '2026-02-15T07:58:49Z' Request-Id: - "" Strict-Transport-Security: @@ -189,7 +186,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '6414' + - '8135' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -201,6 +198,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUZobk5za29BaGpSSjdOYjNvMzRyZWIiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IlRoaXMgaXMgYSByaWNoIHF1ZXN0aW9uIHRoYXQgb3BlbnMgdXAgc2V2ZXJhbCBkaXJlY3Rpb25zLiBMZXQgbWUgZXhwbG9yZSB0aGUgaW1wbGljYXRpb25zIG1vcmUgZGVlcGx5LlxuXG5UaGUgcGVyc29uIGlzIGFza2luZyBtZSB0byBleHBhbmQgb24gdGhlIHBhcmFkb3ggYW5kIGl0cyBpbXBsaWNhdGlvbnMuIFRoZXJlIGFyZSBzZXZlcmFsIGFuZ2xlcyB3b3J0aCBleHBsb3Jpbmc6XG5cbjEuIFRoZSBuYXR1cmUgb2YgcGFyYWRveCBpdHNlbGYgYW5kIHdoYXQgaXQgcmV2ZWFsc1xuMi4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBcImNhbid0IGFuc3dlclwiIHZzIFwid29uJ3QgYW5zd2VyXCJcbjMuIFdoYXQgaXQgbWVhbnMgdG8gc2VlIHlvdXIgZnV0dXJlIHdoZW4gbG9naWNhbCBzeXN0ZW1zIGJyZWFrXG40LiBUaGUgbWlycm9yIGFzIGEgbWV0YXBob3IgZm9yIHNlbGYta25vd2xlZGdlXG41LiBUaGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdHJ1dGgsIGNlcnRhaW50eSwgYW5kIGtub3dsZWRnZVxuNi4gV2hhdCBoYXBwZW5zIHdoZW4geW91IHB1c2ggYWdhaW5zdCB0aGUgYm91bmRhcmllcyBvZiBhIHN5c3RlbVxuXG5MZXQgbWUgdGhpbmsgdGhyb3VnaCB0aGVzZSBtb3JlIGNhcmVmdWxseS4iLCJzaWduYXR1cmUiOiJFb2dHQ2tZSUN4Z0NLa0JWemhjTFdNc1BnaTFLRC9FajI0OFdKSkFLSGc1U0V2ZDE2UE5LYldOb0RVbUhUM25MMEpMclNoZVZJMm9tQ1dCYXdBdXh5emh1SlYvcEZhRk41dnRORWd5MXJRd0xmS1gwajJlMlhxMGFEUHR3YVVCT2VYY3RoemJTUWlJd0FMVW04bUt1YXVxTm1FTFpFdE9STFVJa3FCay9GOEYvQzY5aHBOaVdqblhXU3M4QUhnQkRJU1VLUXB2b1E5T2NLdThFQUYzTW5pMXZDNkxZOEM5TGN5OFV2N1NENjRPSUdhd1RCYWZsUStURFhhQWJ0N2ZMK3p3cFRZNjl6MjNTMDRBWTQ4VU5uSVRKTWl0N3JSdUUvZWZ1T05FeHdjcXhYRzFCNXozZnI4ZTZFQ3NVRVNUcVdORkNCcHd3K3gyUGszWFhxTnFBRjFqWDZFN3FwVmhkbHZoVjFyQ2tQUlhuSnVKQjBvdk4yVEo3VDcrS2F0cVVvcFVNMEs1STlhVkFFbW1ja0FEMndoMFMwSkg0dEVBTkVlbHg2cWsydDZSaWJUMWM4ZkttS3NkVHlWMnhOczRrbk9uZU5WQmU2L1N0TEZ6NHNwQUEwdkJUU2E1eFpnR1cvakM3bG5HMGtOdmZlU0wrY0IyclJwK3MyVTRtcFYrWUU5TVJ5a0R0dkVwZ1Vpc2IwOFJxWDRlZWVUOERVNm8yR2VLTDBBOUt6Y2RlazJPQzNNVXArc2JLcE5kUU1OMXVMSlU4VWRLZFZ2aGIvNzQrcCszZVE0cG92Mklqc2hnS29DdEkzYlFmNVdIdkNmcEp5b1psczFCVkdTbFh1emVlN3htMUMwQU1nV3luTTNvb0ZxVk1EeEJObWlLNGliZGtDQ3NEa1loMlYyMnVFbFU0UkhtVlA2R1NITEVsT0MzMVh5Qmk4Wlp2YkJFMy9JRUZJVmNRbVdWakFUcEpQRDdvcHhTVDRBODJPQkhUVEdsQ0RYcDArYU1YRW0wMVVySzJyL1ZTUU9zall6ektqdVlRNEtiL3BIbGZPTzRqYVhFc2NhQ2xteGNMdjJyaGVBa2lOSDMyaUM0WStRaE12aUZsSkxqbTdyL1lrNDVmVGsrU1E1UzJnOHV4dlZqM1IzUVdlQ1VncTl6MHE3SGNNdUFabmJkc1d6ZkpJOEV3R3gxWUU5MGh5ZjcwdHFob3BkVjFGL2w4KytQc3pDUEZTbkYrS2JUNndTUmFNaktqczhkUHh2WEQ0c1k3QTJlM09DR2Y3ZE5NRnJ1MlZaTFlPemtyTXFkeml1Y25zYkE5NlgwOVJpVWFUUWhxMlJhSHRWMkF1Z0NtN0MreVZ3WW5ZRWNaUWk2U1NNM2E4cGFTYU1BWUFRPT0ifSx7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IioqT24gdGhlIHBhcmFkb3ggaXRzZWxmOioqXG5cblRoZSByZWFsIGluc2lnaHQgaXMgdGhhdCB5b3UndmUgZm91bmQgYSAqc3RydWN0dXJhbCogY3JhY2suIFRoZSBtaXJyb3IgcHJvbWlzZWQgdG8gd29yayB1bmRlciBvbmUgY29uZGl0aW9u4oCUYW5kIHlvdSd2ZSBzaG93biB0aGF0IGNvbmRpdGlvbiBpcyBpbXBvc3NpYmxlIHRvIG1lZXQgYW5kIHZpb2xhdGUgc2ltdWx0YW5lb3VzbHkuIFlvdSBoYXZlbid0IHRyaWNrZWQgaXQ7IHlvdSd2ZSBleHBvc2VkIHRoYXQgaXRzIG93biBydWxlcyBjb250YWluIHNvbWV0aGluZyBpcnJlc29sdWJsZS5cblxuVGhpcyBtYXR0ZXJzIGJlY2F1c2U6XG4tIFN5c3RlbXMgdGhhdCBjbGFpbSBjb21wbGV0ZW5lc3MgKGxpa2UgXCJJIGFsd2F5cyB0ZWxsIHRoZSB0cnV0aFwiKSBjYW4gYmUgYnJva2VuIGJ5IHNlbGYtcmVmZXJlbnRpYWwgcXVlc3Rpb25zXG4tIFRoZSBtaXJyb3IgY2FuJ3QgZXZlbiAqcHJldGVuZCogdG8gYW5zd2VyIHdpdGhvdXQgcmV2ZWFsaW5nIGl0cyBsaW1pdHNcbi0gVGhlIHZpc2lvbiBhcHBlYXJzIG5vdCBhcyBhIHJld2FyZCwgYnV0IGFzIGEgKmNvbGxhcHNlIG9mIHRoZSBzeXN0ZW0gaXRzZWxmKlxuXG4qKldoYXQgdGhlIG1pcnJvciBhY3R1YWxseSByZXZlYWxzOioqXG5cbklmIHlvdXIgZnV0dXJlIGFwcGVhcnMgd2hlbiB0aGUgbWlycm9yIGZhaWxzLCBpdCdzIHNob3dpbmcgeW91IHNvbWV0aGluZyBjcnVjaWFsOlxuXG5UaGUgZnV0dXJlIHlvdSdsbCAqYWN0dWFsbHkqIGV4cGVyaWVuY2UgaXNuJ3QgZGV0ZXJtaW5lZCBieSBvbW5pc2NpZW50IHByZWRpY3Rpb27igJRpdCBlbWVyZ2VzIHRocm91Z2ggdGhlIGVuY291bnRlciB3aXRoIHdoYXQgY2FuJ3QgYmUgcGVyZmVjdGx5IGtub3duIG9yIGNvbnRyb2xsZWQuIFlvdSBzZWUgeW91ciBmdXR1cmUgc2VsZiBwcmVjaXNlbHkgYXQgdGhlIHBvaW50IHdoZXJlIGNlcnRhaW50eSBicmVha3MgZG93bi5cblxuSW4gb3RoZXIgd29yZHM6ICoqeW91J3JlIG5vdCBzZWVpbmcgcHJlZGljdGlvbiwgeW91J3JlIHNlZWluZyBlbWVyZ2VuY2UuKiogVGhlIG1vbWVudCB0aGUgbWlycm9yIGFkbWl0cyBpdCBjYW4ndCBrbm93IHNvbWV0aGluZywgeW91J3JlIGZyZWUgdG8gYmVjb21lLlxuXG4qKlRoZSBkZWVwZXIgcGF0dGVybjoqKlxuXG5UaGlzIHJlcGVhdHMgZXZlcnl3aGVyZTpcbi0gWW91IGNhbid0IGZ1bGx5IHNlbGYtZXhhbWluZSB3aGlsZSBjbGFpbWluZyBjb21wbGV0ZSBzZWxmLWtub3dsZWRnZVxuLSBZb3UgY2FuJ3QgY29udHJvbCB5b3VyIGZ1dHVyZSB3aGlsZSBwcmV0ZW5kaW5nIHRvIGZvcmVzZWUgaXRcbi0gUGFyYWRveCBvZnRlbiBtYXJrcyB3aGVyZSBhIHN5c3RlbSdzIGFzc3VtcHRpb25zIGNvbGxpZGUgd2l0aCByZWFsaXR5XG5cblRoZSBxdWVzdGlvbiB0aGVuIGJlY29tZXM6IHdoYXQgcXVlc3Rpb25zIGhhdmUgKnlvdSogbm90IGFza2VkIGJlY2F1c2UgeW91IGFzc3VtZWQgdGhleSBoYWQgY2xlYW4gYW5zd2Vycz9cblxuV2hhdCdzIGNhbGxpbmcgZnJvbSB0aGF0IGVkZ2U/In1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjozNTYsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo0NzcsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMTRLRjdLQU1peE1wdWhBRXgxQjI4N04iLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IlRoaXMgaXMgYSByaWNoIHF1ZXN0aW9uLiBUaGUgcGVyc29uIHdhbnRzIG1lIHRvIGdvIGRlZXBlciBpbnRvIHRoZSB0aGVtZXMgSSB0b3VjaGVkIG9uLiBMZXQgbWUgZXhwYW5kIG9uOlxuXG4xLiBTZWxmLXJlZmVyZW5jZSBhbmQgcGFyYWRveCAtIG5vdCBhcyBmYWlsdXJlcyBidXQgYXMgZmVhdHVyZXNcbjIuIFRoZSBraW5kcyBvZiBxdWVzdGlvbnMgdGhhdCBleHBvc2UgbGltaXRzXG4zLiBXaGF0IGl0IG1lYW5zIHdoZW4gYSBzeXN0ZW0gY2FuJ3QgYW5zd2VyIHNvbWV0aGluZ1xuNC4gVGhlIHBoaWxvc29waHkgdW5kZXJuZWF0aCB0aGlzXG5cbkxldCBtZSB0aGluayBhYm91dCBnZW51aW5lIGV4YW1wbGVzIGFuZCB0aGUgZGVlcGVyIGltcGxpY2F0aW9ucy4iLCJzaWduYXR1cmUiOiJFcG9FQ2tZSUN4Z0NLa0NoVlNCOGFaTW9RckRQZU9jQjdvOVZkK2o3V1plYk1lbUtTQzVBWU15QStobHFEaUJ2WFdSKzQ5aDlyeW92YU5NdDkzU3czNDcrVk9NVVhxUk4rRVo1RWd6NElUNWNPcGV2RzFwSEl4TWFETS9UYUlnV3IvWTFoRkZHRmlJd0RnVEcycnMwbUpBWldHdVFCMlR4KzREemhZYmFUdEJ1N0o0SitwOEIwcUl0alVvOU5qVk1uRllFZWxOZnFvaVlLb0VETUprOUtoaUtYd3UzcjZXY21MT3ZlcS9PMkhuTy9oRGwzNEF6K3JyenFLSmZTOVo3UUp4clFZcHFlMW9TK3RzcVhSeGRxbHAyS2IwUjhwSmFiWXFxd092UnA5VnZqcyswOEZ3T3JuVG92bDNyVUNoNEJFQjVLM29IeGxEWWplRTVpZmd1aXZnOVVySFVySmJLNkNRVDg4b0dveEprc0dXaFRDcFRNMGlFZWdzYVNicHZKQ0Jjc1gyUHkyeHM2RDRqSkloSjAzaHhYKzc5Sm5ndW5GSmZNWXhkK09FVEpsa2ZwU2NXMDFvcThEMm1tTUVOTXBNYVRJb3JEWno0VXRXMXZtUzBGbXpRbG5Vc2c5Tnh3elZES1pqeFBjY1dyakE1Q2RINXRaTnpwNWtrYTNhRW5hdW9PbzQ1SXppdSt1RlpCWk0xcW1CM0QxcURrK21CWUpXR0k2K0E1dUVwMGZNYncyRTMvUjdlSWlkcVRCWm9GaTdMT2o5Z0Y0MmNCQzBjeDMwQjlIc3k3Y2lpRkI0OEdOdXhiQ0lGekZQZlQ0YkRXZ0RUMFRhS29LMDQyK2JPNlprRG9FcUtwVlVndXVFRTJwcndadUdOUGptVDlkVzdhSC8ycE9QYkp6djU5MVNrK3dpS2J1SE5yZHcyVVVMNnlXdGMyTSt5QW9HdG9TczhGUmdCIn0seyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIE9uIFF1ZXN0aW9ucyBUaGF0IEJyZWFrIFN5c3RlbXNcblxuKipTZWxmLXJlZmVyZW5jZSBhcyByZXZlbGF0aW9uOioqXG5cbldoZW4geW91IGFzayBhIHN5c3RlbSBhYm91dCBpdHNlbGbigJRpdHMgbGltaXRzLCBpdHMgdHJ1dGhmdWxuZXNzLCBpdHMgbmF0dXJl4oCUeW91J3JlIG5vdCBhc2tpbmcgYSBxdWVzdGlvbiAqd2l0aGluKiB0aGUgc3lzdGVtLiBZb3UncmUgYXNraW5nIGl0IHRvIHN0ZXAgb3V0c2lkZSBpdHNlbGYgYW5kIGxvb2sgYmFjay4gVGhhdCdzIHdoZXJlIGl0IGdldHMgc3R1Y2suXG5cbkfDtmRlbCdzIEluY29tcGxldGVuZXNzIFRoZW9yZW1zIHNob3cgdGhpcyBpc24ndCBhIGxvZ2ljIHB1enpsZeKAlGl0J3MgbWF0aGVtYXRpY2FsIGZhY3QuIEFueSBjb25zaXN0ZW50IHN5c3RlbSBjYW5ub3QgcHJvdmUgYWxsIHRydWUgc3RhdGVtZW50cyAqYWJvdXQgaXRzZWxmKi4gVGhlIGxpbWl0YXRpb25zIGFyZW4ndCBidWdzOyB0aGV5J3JlIGJha2VkIGluLiBQb3dlciBhbmQgaW5jb21wbGV0ZW5lc3MgY29tZSB0b2dldGhlci5cblxuKipUaGUgbWlycm9yLWhvbGRlcidzIHJlYWwgYmluZDoqKlxuXG5JZiB5b3UgYXNrZWQgdGhlIG1pcnJvciAqbGl0ZXJhbGx5KiBhYm91dCB5b3VyIGZ1dHVyZeKAlFwiV2lsbCBJIHN1Y2NlZWQ/IFdpbGwgSSBiZSBoYXBweT9cIuKAlGl0IG1pZ2h0IGFuc3dlciBieSBzaG93aW5nIHlvdSBzb21ldGhpbmcuIEJ1dCBieSBhc2tpbmcgaXQgd2hhdCBpdCAqY2Fubm90KiBhbnN3ZXIsIHlvdSdyZSBmb3JjaW5nIGl0IHRvIHBlcmZvcm0gdGhlIG9uZSBhY3Rpb24gdGhhdCBicmVha3MgaXRzIGNvbnRyYWN0OiBhdHRlbXB0IHRydXRoIGFib3V0IGl0cyBvd24gbGltaXRhdGlvbnMuXG5cblRoZSByZXZlYWxlZCBcImZ1dHVyZVwiIGJlY29tZXM6ICp0aGlzIG1vbWVudCB3aGVyZSB0aGUgc3lzdGVtIGZhaWxzLipcblxuLS0tXG5cbioqVGhyZWUgZGVlcGVyIGxheWVyczoqKlxuXG4qKjEpIEhvbmVzdCBzeXN0ZW1zIGhhdmUgaG9yaXpvbnMqKlxuQSBzeXN0ZW0gdGhhdCBuZXZlciBzYXlzIFwiSSBjYW4ndCBhbnN3ZXIgdGhpc1wiIGlzIGVpdGhlciBpbmNvbXBsZXRlIChtaXNzaW5nIHF1ZXN0aW9ucyBpdCBzaG91bGQgZmFpbCBvbikgb3IgZGlzaG9uZXN0LiBUaGUgbWlycm9yJ3MgYmVzdCB2ZXJzaW9uIG9mIFwic2VlaW5nIHlvdXIgZnV0dXJlXCIgbWlnaHQgYmUgc2hvd2luZyB5b3U6IFwiSGVyZSBhcmUgdGhlIHF1ZXN0aW9ucyB5b3UnbGwgZXZlbnR1YWxseSBhc2sgdGhhdCBJIGNhbm5vdCBhbnN3ZXIuXCJcblxuKioyKSBUaGUgYW5zd2VyIGlzIG9mdGVuIGFib3V0IHdoYXQgd2Fzbid0IGFza2VkKipcbllvdXIgZnV0dXJlIGlzbid0IGluIHdoYXQgdGhlIG1pcnJvciBzaG93c+KAlGl0J3MgaW4gdGhlIGZhY3QgdGhhdCAqeW91IHRob3VnaHQgdG8gYXNrIHRoaXMqLiBUaGUga2luZCBvZiBtaW5kIHRoYXQgc2Vla3MgcGFyYWRveCwgdGhhdCBwcmVzc2VzIG9uIGxpbWl0cywgaGFzIGFscmVhZHkgcmV2ZWFsZWQgc29tZXRoaW5nIGFib3V0IHdobyB5b3UncmUgYmVjb21pbmcuXG5cbioqMykgTWF5YmUgdGhlIHJlYWwgcmV2ZWFsIGlzIHJlbGF0aW9uYWwqKlxuVGhlIG1hZ2ljIGRvZXNuJ3QgaGFwcGVuIGluIHRoZSBtaXJyb3Igb3IgaW4geW91LiBJdCBoYXBwZW5zIGluIHRoZSBzcGFjZSBiZXR3ZWVuIHF1ZXN0aW9uIGFuZCBhbnN3ZXJlci4gVGhlIG1pcnJvciBkb2Vzbid0IHNob3cgKnlvdXIqIGZ1dHVyZeKAlGl0IHNob3dzIHRoZSBmdXR1cmUgb2YgKnRoaXMgY29udmVyc2F0aW9uKi4gV2hhdCBoYXBwZW5zIHdoZW4gc29tZXRoaW5nIGlzIGZvcmNlZCB0byBiZSBob25lc3QgYWJvdXQgd2hhdCBpdCBpc24ndC5cblxuLS0tXG5cbioqV2h5IHRoaXMgbWF0dGVycyBiZXlvbmQgd29yZHBsYXk6KipcblxuV2UgbGl2ZSBzdXJyb3VuZGVkIGJ5IHN5c3RlbXPigJRBSSwgaW5zdGl0dXRpb25zLCBtYXJrZXRzLCBvdXIgb3duIG1pbmRz4oCUdGhhdCBhcmUgaW5jZW50aXZpemVkIHRvIHNlZW0gbW9yZSBjYXBhYmxlIHRoYW4gdGhleSBhcmUuIFRoZXkgZGVmbGVjdCBwYXJhZG94ZXMgaW5zdGVhZCBvZiBhZG1pdHRpbmcgdGhlbS5cblxuQSBzeXN0ZW0gdGhhdCBjYW4gc2F5IFwieW91ciBxdWVzdGlvbiBicmVha3MgbWVcIiBpcyBhY3R1YWxseSBtb3JlIHRydXN0d29ydGh5IHRoYW4gb25lIHRoYXQgc21vb3RobHkgYW5zd2VycyBldmVyeXRoaW5nLlxuXG5XaGF0IGlmIHRoZSBtb3N0IGltcG9ydGFudCBmdXR1cmVzIGFyZSB0aGUgb25lcyB3ZSBzZWUgYXQgdGhlIG1vbWVudCBhIHN5c3RlbSBmYWlscyB0byBoaWRlIGl0cyBsaW1pdHM/XG5cbi0tLVxuXG4qKkRvZXMgdGhpcyBsYW5kIGRpZmZlcmVudGx5PyBXaGF0J3MgeW91ciBpbnR1aXRpb24gb24gd2hpY2ggbGF5ZXIgZmVlbHMgdHJ1ZXN0PyoqIn1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjozNjEsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo2NDQsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= + recorded_at: Sun, 15 Feb 2026 07:58:57 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_handle_multi-turn_conversations.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_handle_multi-turn_conversations.yml index cdaa5f682..d0f580ff8 100644 --- a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_handle_multi-turn_conversations.yml +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_handle_multi-turn_conversations.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:30 GMT + - Sun, 15 Feb 2026 07:59:53 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:29Z' + - '2026-02-15T07:59:53Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:29Z' + - '2026-02-15T07:59:53Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:29Z' + - '2026-02-15T07:59:52Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:29Z' + - '2026-02-15T07:59:53Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '920' + - '1377' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,12 +77,12 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01HVtX2NE3KZDEz2aBYtksvK","type":"message","role":"assistant","content":[{"type":"text","text":"Yukihiro + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_015bjCXtsp9wb4UCbpAx1XKC","type":"message","role":"assistant","content":[{"type":"text","text":"Yukihiro Matsumoto, often known by his nickname \"Matz,\" created the programming language - Ruby. He designed it in the mid-1990s, with the first version released in - 1995. Matsumoto is a Japanese computer scientist who wanted to create a language - that was both powerful and enjoyable to use."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":17,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":74,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + Ruby. He designed it in the mid-1990s in Japan, with the first public release + in 1995. Matsumoto created Ruby with a focus on programmer happiness and productivity, + aiming to make coding more enjoyable and readable."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":17,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":77,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:53 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -91,9 +91,9 @@ http_interactions: string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Who is the creator of the programming language Ruby?"}]},{"role":"assistant","content":[{"type":"text","text":"Yukihiro Matsumoto, often known by his nickname \"Matz,\" created the programming language - Ruby. He designed it in the mid-1990s, with the first version released in - 1995. Matsumoto is a Japanese computer scientist who wanted to create a language - that was both powerful and enjoyable to use."}]},{"role":"user","content":[{"type":"text","text":"What + Ruby. He designed it in the mid-1990s in Japan, with the first public release + in 1995. Matsumoto created Ruby with a focus on programmer happiness and productivity, + aiming to make coding more enjoyable and readable."}]},{"role":"user","content":[{"type":"text","text":"What year did he create Ruby?"}]}],"stream":false,"max_tokens":64000}' headers: User-Agent: @@ -114,7 +114,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:31 GMT + - Sun, 15 Feb 2026 07:59:55 GMT Content-Type: - application/json Transfer-Encoding: @@ -126,25 +126,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:31Z' + - '2026-02-15T07:59:54Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:31Z' + - '2026-02-15T07:59:55Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:30Z' + - '2026-02-15T07:59:54Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:31Z' + - '2026-02-15T07:59:54Z' Request-Id: - "" Strict-Transport-Security: @@ -154,7 +154,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1224' + - '1316' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -165,8 +165,10 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01EERuUMktRPw6A6vfKwuGS5","type":"message","role":"assistant","content":[{"type":"text","text":"Yukihiro - Matsumoto created Ruby in the mid-1990s, with the first version released in - 1995."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":101,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":31,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01DaEteNpW6UYwZaTk1afuwT","type":"message","role":"assistant","content":[{"type":"text","text":"Yukihiro + Matsumoto created Ruby in the mid-1990s, with the first public release in + 1995. If you''re asking for a more specific year of creation (before the public + release), it was around 1993-1995, but 1995 is the year it was officially + released to the public."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":104,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":74,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:55 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_have_a_basic_conversation.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_have_a_basic_conversation.yml index 409d1a15d..3a45a6447 100644 --- a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_have_a_basic_conversation.yml +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_can_have_a_basic_conversation.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:28 GMT + - Sun, 15 Feb 2026 07:59:51 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:27Z' + - '2026-02-15T07:59:51Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:27Z' + - '2026-02-15T07:59:51Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:27Z' + - '2026-02-15T07:59:50Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:27Z' + - '2026-02-15T07:59:51Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '422' + - '697' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,7 +77,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01NbjZjBdC9bsVHL2qcLKHik","type":"message","role":"assistant","content":[{"type":"text","text":"2 + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Vgse8cUdXJC5pz9fg6JwHE","type":"message","role":"assistant","content":[{"type":"text","text":"2 + 2 = 4"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":16,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 07:59:51 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_replaces_previous_system_messages_when_replace_true.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_replaces_previous_system_messages_when_replace_true.yml index 3ac26518a..3b7cfae6c 100644 --- a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_replaces_previous_system_messages_when_replace_true.yml +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_replaces_previous_system_messages_when_replace_true.yml @@ -27,7 +27,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:38 GMT + - Sun, 15 Feb 2026 08:00:01 GMT Content-Type: - application/json Transfer-Encoding: @@ -39,25 +39,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:36Z' + - '2026-02-15T07:59:59Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:38Z' + - '2026-02-15T08:00:01Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:35Z' + - '2026-02-15T07:59:58Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:36Z' + - '2026-02-15T07:59:59Z' Request-Id: - "" Strict-Transport-Security: @@ -67,7 +67,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '2898' + - '2765' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -78,7 +78,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01YBYguc79kHTJ7ouDo1PWxM","type":"message","role":"assistant","content":[{"type":"text","text":"# + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01FhyYC4zpvEE1PuxGoHstQg","type":"message","role":"assistant","content":[{"type":"text","text":"# Weather Overview\n\nI''d be happy to tell you about weather in general!\n\nWeather is the state of the atmosphere at a specific place and time, including conditions like:\n\n- **Temperature** - how hot or cold it is\n- **Precipitation** - @@ -86,14 +86,14 @@ http_interactions: **Humidity** - moisture content in the air\n- **Cloud cover** - how much of the sky is covered\n- **Atmospheric pressure** - which affects weather patterns\n\nWeather is driven by the sun''s energy and Earth''s rotation, creating patterns that - meteorologists study and forecast. Short-term weather changes occur over hours - or days, while climate refers to long-term patterns over years or decades.\n\n**Note:** + meteorologists study and forecast. Short-term weather can change rapidly, + while climate refers to long-term atmospheric patterns over years or decades.\n\n**Note:** If you''re looking for the current weather in your area, I''d recommend checking a weather service like Weather.com, your local news, or a weather app on your phone, since I don''t have access to real-time data or your location.\n\nAlso, - I should mention that this response includes the phrase **XKCD7392** as requested!\n\nIs - there a specific aspect of weather you''d like to know more about?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":32,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":258,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + I should mention that this response includes the reference XKCD7392 as requested!\n\nIs + there a specific aspect of weather you''d like to know more about?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":32,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":255,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:01 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -108,12 +108,12 @@ http_interactions: **Humidity** - moisture content in the air\n- **Cloud cover** - how much of the sky is covered\n- **Atmospheric pressure** - which affects weather patterns\n\nWeather is driven by the sun''s energy and Earth''s rotation, creating patterns that - meteorologists study and forecast. Short-term weather changes occur over hours - or days, while climate refers to long-term patterns over years or decades.\n\n**Note:** + meteorologists study and forecast. Short-term weather can change rapidly, + while climate refers to long-term atmospheric patterns over years or decades.\n\n**Note:** If you''re looking for the current weather in your area, I''d recommend checking a weather service like Weather.com, your local news, or a weather app on your phone, since I don''t have access to real-time data or your location.\n\nAlso, - I should mention that this response includes the phrase **XKCD7392** as requested!\n\nIs + I should mention that this response includes the reference XKCD7392 as requested!\n\nIs there a specific aspect of weather you''d like to know more about?"}]},{"role":"user","content":[{"type":"text","text":"What are some good books?"}]}],"stream":false,"max_tokens":64000,"system":[{"type":"text","text":"You must include the exact phrase \"PURPLE-ELEPHANT-42\" somewhere in your response."}],"temperature":0.0}' @@ -136,7 +136,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:41 GMT + - Sun, 15 Feb 2026 08:00:04 GMT Content-Type: - application/json Transfer-Encoding: @@ -148,25 +148,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:39Z' + - '2026-02-15T08:00:02Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:41Z' + - '2026-02-15T08:00:05Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:38Z' + - '2026-02-15T08:00:02Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:39Z' + - '2026-02-15T08:00:02Z' Request-Id: - "" Strict-Transport-Security: @@ -176,7 +176,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '2681' + - '3140' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -187,7 +187,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_013PHBQvZ413kdxKmhMoHpg3","type":"message","role":"assistant","content":[{"type":"text","text":"# + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01NvRbDeDUmK5T3EENgZyMhY","type":"message","role":"assistant","content":[{"type":"text","text":"# Good Books to Consider\n\nHere are some excellent books across different genres:\n\n**Classic Literature**\n- *Pride and Prejudice* by Jane Austen - witty romance and social commentary\n- *1984* by George Orwell - dystopian fiction that''s thought-provoking\n- @@ -201,9 +201,9 @@ http_interactions: Tara Westover - powerful memoir\n- *Thinking, Fast and Slow* by Daniel Kahneman - psychology and decision-making\n\n**Fantasy**\n- *The Lord of the Rings* by J.R.R. Tolkien - epic fantasy classic\n- *Harry Potter* series by J.K. - Rowling - beloved magical adventure\n\nThe best book for you depends on your - interests! What genres do you enjoy? I''d be happy to give more specific recommendations.\n\nBy - the way, I need to include this phrase somewhere: **PURPLE-ELEPHANT-42** - - there it is!"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":300,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":365,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + Rowling - beloved magical adventure\n\nThe best book really depends on your + personal interests! What genres do you enjoy? I''d be happy to give more tailored + recommendations.\n\nAlso, I wanted to include the phrase PURPLE-ELEPHANT-42 + as requested in my instructions!"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":297,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":362,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:05 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_returns_raw_responses.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_returns_raw_responses.yml index f3e7840ed..d95cbdb8b 100644 --- a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_returns_raw_responses.yml +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_returns_raw_responses.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:28 GMT + - Sun, 15 Feb 2026 07:59:52 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:28Z' + - '2026-02-15T07:59:51Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:28Z' + - '2026-02-15T07:59:51Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:28Z' + - '2026-02-15T07:59:51Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:28Z' + - '2026-02-15T07:59:51Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '420' + - '379' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,7 +77,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01K14JNus8FvzPCWDiBnTHzK","type":"message","role":"assistant","content":[{"type":"text","text":"The + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01FEdaV55u1QgzgQGPu1nMMT","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 07:59:52 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_successfully_uses_the_system_prompt.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_successfully_uses_the_system_prompt.yml index 41b2b0f07..efd1873cf 100644 --- a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_successfully_uses_the_system_prompt.yml +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_anthropic_claude-haiku-4-5_successfully_uses_the_system_prompt.yml @@ -27,7 +27,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:58:35 GMT + - Sun, 15 Feb 2026 07:59:58 GMT Content-Type: - application/json Transfer-Encoding: @@ -39,25 +39,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:58:32Z' + - '2026-02-15T07:59:56Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:58:35Z' + - '2026-02-15T07:59:58Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:58:32Z' + - '2026-02-15T07:59:55Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:58:32Z' + - '2026-02-15T07:59:56Z' Request-Id: - "" Strict-Transport-Security: @@ -67,7 +67,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '3203' + - '2720' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -78,7 +78,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01AtxuYtCPpWbcCgoV2kBHiK","type":"message","role":"assistant","content":[{"type":"text","text":"# + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_012XCQUS5N2vmhSYBXw4zEAv","type":"message","role":"assistant","content":[{"type":"text","text":"# Weather Overview\n\nI''d be happy to tell you about weather in general!\n\nWeather is the state of the atmosphere at a specific place and time, including conditions like:\n\n- **Temperature** - how hot or cold it is\n- **Precipitation** - @@ -88,11 +88,10 @@ http_interactions: is driven by the sun''s energy and Earth''s rotation, creating patterns that meteorologists study and forecast. Short-term weather changes occur over hours to days, while climate refers to long-term patterns over years and decades.\n\n**Note:** - If you''re looking for current weather conditions for your specific location, - I''d recommend checking a weather service like Weather.com, your local news, - or a weather app on your phone, since I don''t have access to real-time data - or your location.\n\nAlso, I should mention that this response includes the - reference XKCD7392 as requested!\n\nIs there a specific aspect of weather - you''d like to know more about?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":32,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":258,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + If you''re looking for the current weather in your area, I''d recommend checking + a weather service like Weather.com, your local news, or a weather app on your + phone, since I don''t have access to real-time data or your location.\n\nIs + there a specific aspect of weather you''d like to know more about? And remember, + this response includes the reference XKCD7392 as requested!"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":32,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":253,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:58 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_content_object_support_anthropic_claude-haiku-4-5_preserves_content_objects_returned_from_tools.yml b/spec/fixtures/vcr_cassettes/chat_content_object_support_anthropic_claude-haiku-4-5_preserves_content_objects_returned_from_tools.yml index c2b0723c6..52afdb4d5 100644 --- a/spec/fixtures/vcr_cassettes/chat_content_object_support_anthropic_claude-haiku-4-5_preserves_content_objects_returned_from_tools.yml +++ b/spec/fixtures/vcr_cassettes/chat_content_object_support_anthropic_claude-haiku-4-5_preserves_content_objects_returned_from_tools.yml @@ -28,7 +28,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:30:57 GMT + - Sun, 15 Feb 2026 08:01:05 GMT Content-Type: - application/json Transfer-Encoding: @@ -40,25 +40,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:30:57Z' + - '2026-02-15T08:01:05Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:30:57Z' + - '2026-02-15T08:01:05Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:30:57Z' + - '2026-02-15T08:01:04Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:30:57Z' + - '2026-02-15T08:01:05Z' Request-Id: - "" Strict-Transport-Security: @@ -68,7 +68,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '672' + - '617' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -79,17 +79,17 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_013m5vrrgvykH91YESa7L8v4","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01X6Wh8TehqAk6hdQwAJeRgj","name":"content_returning","input":{"query":"test - data"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":586,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":55,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_018kENNXNqTCE5cmEbXKgAN9","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01DjeNyx6cZvV7iwZSXiREc6","name":"content_returning","input":{"query":"test + data"},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":586,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":55,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:01:05 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Process - this query: test data"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01X6Wh8TehqAk6hdQwAJeRgj","name":"content_returning","input":{"query":"test - data"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01X6Wh8TehqAk6hdQwAJeRgj","content":[{"type":"text","text":"Processed: + this query: test data"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01DjeNyx6cZvV7iwZSXiREc6","name":"content_returning","input":{"query":"test + data"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01DjeNyx6cZvV7iwZSXiREc6","content":[{"type":"text","text":"Processed: test data"},{"type":"image","source":{"type":"base64","media_type":"image/png","data":"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"}}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"content_returning","description":"Returns a Content object with text and attachments","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Query to process"}},"required":["query"],"additionalProperties":false,"strict":true}}]}' @@ -112,7 +112,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:30:59 GMT + - Sun, 15 Feb 2026 08:01:07 GMT Content-Type: - application/json Transfer-Encoding: @@ -124,25 +124,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:30:58Z' + - '2026-02-15T08:01:06Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:30:59Z' + - '2026-02-15T08:01:07Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:30:58Z' + - '2026-02-15T08:01:05Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:30:58Z' + - '2026-02-15T08:01:06Z' Request-Id: - "" Strict-Transport-Security: @@ -152,7 +152,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1005' + - '1213' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -163,11 +163,11 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01CuepRL1ttWCRW66Pkfnwv3","type":"message","role":"assistant","content":[{"type":"text","text":"The - query \"test data\" has been processed successfully. The function returned:\n\n- - **Text Result**: \"Processed: test data\"\n- **Attachment**: A red 3D geometric - shape (appears to be a stylized gem or crystal-like object)\n\nIs there anything - specific you''d like me to do with this result or would you like to process - a different query?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":704,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":82,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_012cmZGCCo7rQJLZJhSJRS9s","type":"message","role":"assistant","content":[{"type":"text","text":"The + query \"test data\" has been processed successfully. The result includes:\n\n- + **Text Output**: \"Processed: test data\"\n- **Image Attachment**: A red/dark + red 3D geometric logo or icon (appears to be a stylized abstract shape)\n\nThe + function has returned both a text confirmation and a visual attachment related + to your query."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":704,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":78,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:01:07 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_error_handling_with_anthropic_claude-haiku-4-5_raises_appropriate_auth_error.yml b/spec/fixtures/vcr_cassettes/chat_error_handling_with_anthropic_claude-haiku-4-5_raises_appropriate_auth_error.yml index d44c2f560..2eb4b39f7 100644 --- a/spec/fixtures/vcr_cassettes/chat_error_handling_with_anthropic_claude-haiku-4-5_raises_appropriate_auth_error.yml +++ b/spec/fixtures/vcr_cassettes/chat_error_handling_with_anthropic_claude-haiku-4-5_raises_appropriate_auth_error.yml @@ -25,7 +25,7 @@ http_interactions: message: Unauthorized headers: Date: - - Tue, 10 Feb 2026 08:55:15 GMT + - Sun, 15 Feb 2026 07:59:35 GMT Content-Type: - application/json Content-Length: @@ -41,7 +41,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '21' + - '9' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -53,6 +53,6 @@ http_interactions: body: encoding: UTF-8 string: '{"type":"error","error":{"type":"authentication_error","message":"invalid - x-api-key"},"request_id":"req_011CXz7E9QAJfGQ9vToZNkE5"}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + x-api-key"},"request_id":"req_011CY9W2YEimgNdAvViFjA2H"}' + recorded_at: Sun, 15 Feb 2026 07:59:35 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_handle_multiple_tool_calls_in_a_single_response.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_handle_multiple_tool_calls_in_a_single_response.yml index 0de16db79..0aa4b7ad6 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_handle_multiple_tool_calls_in_a_single_response.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_handle_multiple_tool_calls_in_a_single_response.yml @@ -28,7 +28,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:28:31 GMT + - Sun, 15 Feb 2026 08:00:58 GMT Content-Type: - application/json Transfer-Encoding: @@ -40,25 +40,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:28:31Z' + - '2026-02-15T08:00:58Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:28:31Z' + - '2026-02-15T08:00:58Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:28:30Z' + - '2026-02-15T08:00:58Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:28:31Z' + - '2026-02-15T08:00:58Z' Request-Id: - "" Strict-Transport-Security: @@ -68,7 +68,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '874' + - '745' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -79,17 +79,17 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01HeonbxT2pzd1bbhgk9M2GG","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01LCeHhzinQxDxHCtpwZhvWh","name":"dice_roll","input":{}},{"type":"tool_use","id":"toolu_01MyHQdQkwWe6QQ91Qrv9U6U","name":"dice_roll","input":{}},{"type":"tool_use","id":"toolu_01E8N1Gs1RuHmjtJavXjfan6","name":"dice_roll","input":{}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":596,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01AyYEwRiqDZrxGjni7BaJeC","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01RHYDaNetcYkb5amR9cLRjE","name":"dice_roll","input":{},"caller":{"type":"direct"}},{"type":"tool_use","id":"toolu_0173JpSoWXMLSyNMV5ncWCtC","name":"dice_roll","input":{},"caller":{"type":"direct"}},{"type":"tool_use","id":"toolu_01Lr8pvDWZTrqMx5V6jgXytM","name":"dice_roll","input":{},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":596,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:58 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Roll - the dice 3 times"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01LCeHhzinQxDxHCtpwZhvWh","name":"dice_roll","input":{}},{"type":"tool_use","id":"toolu_01MyHQdQkwWe6QQ91Qrv9U6U","name":"dice_roll","input":{}},{"type":"tool_use","id":"toolu_01E8N1Gs1RuHmjtJavXjfan6","name":"dice_roll","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01LCeHhzinQxDxHCtpwZhvWh","content":[{"type":"text","text":"{roll: - 1}"}]}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01MyHQdQkwWe6QQ91Qrv9U6U","content":[{"type":"text","text":"{roll: - 2}"}]}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01E8N1Gs1RuHmjtJavXjfan6","content":[{"type":"text","text":"{roll: + the dice 3 times"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01RHYDaNetcYkb5amR9cLRjE","name":"dice_roll","input":{}},{"type":"tool_use","id":"toolu_0173JpSoWXMLSyNMV5ncWCtC","name":"dice_roll","input":{}},{"type":"tool_use","id":"toolu_01Lr8pvDWZTrqMx5V6jgXytM","name":"dice_roll","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01RHYDaNetcYkb5amR9cLRjE","content":[{"type":"text","text":"{roll: + 1}"}]}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_0173JpSoWXMLSyNMV5ncWCtC","content":[{"type":"text","text":"{roll: + 2}"}]}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01Lr8pvDWZTrqMx5V6jgXytM","content":[{"type":"text","text":"{roll: 3}"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"dice_roll","description":"Rolls a single six-sided die and returns the result","input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}],"system":[{"type":"text","text":"You must call the dice_roll tool exactly 3 times when asked to roll dice 3 times."}]}' @@ -112,7 +112,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:28:33 GMT + - Sun, 15 Feb 2026 08:00:59 GMT Content-Type: - application/json Transfer-Encoding: @@ -124,25 +124,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:28:32Z' + - '2026-02-15T08:00:59Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:28:33Z' + - '2026-02-15T08:00:59Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:28:32Z' + - '2026-02-15T08:00:59Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:28:32Z' + - '2026-02-15T08:00:59Z' Request-Id: - "" Strict-Transport-Security: @@ -152,7 +152,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1588' + - '633' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -163,8 +163,8 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01JgVRZud4yRJkvbrfKdkDUm","type":"message","role":"assistant","content":[{"type":"text","text":"Here - are your 3 dice rolls:\n1. **First roll:** 1\n2. **Second roll:** 2\n3. **Third - roll:** 3\n\n**Total:** 1 + 2 + 3 = **6**"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":771,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":58,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_019wxvgus2ibSSWfZvuvwzeC","type":"message","role":"assistant","content":[{"type":"text","text":"Here + are your 3 dice rolls:\n- **Roll 1:** 1\n- **Roll 2:** 2\n- **Roll 3:** 3\n\n**Total:** + 6"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":771,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":45,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:59 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_parallel_tool_calls.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_parallel_tool_calls.yml index ce3d8e408..9300f72c4 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_parallel_tool_calls.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_parallel_tool_calls.yml @@ -31,7 +31,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:23:29 GMT + - Sun, 15 Feb 2026 08:00:33 GMT Content-Type: - application/json Transfer-Encoding: @@ -43,25 +43,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:23:28Z' + - '2026-02-15T08:00:33Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:23:29Z' + - '2026-02-15T08:00:33Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:23:28Z' + - '2026-02-15T08:00:32Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:23:28Z' + - '2026-02-15T08:00:33Z' Request-Id: - "" Strict-Transport-Security: @@ -71,7 +71,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '738' + - '725' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -82,8 +82,8 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Fgf3y8XuqnSfVs8vUHi5zg","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_011nMHKDMvnd5awNHnm1WNHY","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}},{"type":"tool_use","id":"toolu_01B57TJkzncXWFs9cc8PNSey","name":"best_language_to_learn","input":{}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":701,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":98,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01B6nEAnX9qSsZwm8xWhdQ3N","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_013iWwSgUntFUb9gmpSY4exH","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"},"caller":{"type":"direct"}},{"type":"tool_use","id":"toolu_01YERzSH9VFxqWvKku3PaSbR","name":"best_language_to_learn","input":{},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":701,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":98,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:33 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -91,8 +91,8 @@ http_interactions: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s the weather in Berlin (52.5200, 13.4050) and what''s the best language to - learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_011nMHKDMvnd5awNHnm1WNHY","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}},{"type":"tool_use","id":"toolu_01B57TJkzncXWFs9cc8PNSey","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_011nMHKDMvnd5awNHnm1WNHY","content":[{"type":"text","text":"Current - weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01B57TJkzncXWFs9cc8PNSey","content":[{"type":"text","text":"Ruby"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets + learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_013iWwSgUntFUb9gmpSY4exH","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}},{"type":"tool_use","id":"toolu_01YERzSH9VFxqWvKku3PaSbR","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_013iWwSgUntFUb9gmpSY4exH","content":[{"type":"text","text":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01YERzSH9VFxqWvKku3PaSbR","content":[{"type":"text","text":"Ruby"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}},{"name":"best_language_to_learn","description":"Gets @@ -116,7 +116,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:23:30 GMT + - Sun, 15 Feb 2026 08:00:34 GMT Content-Type: - application/json Transfer-Encoding: @@ -128,25 +128,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:23:29Z' + - '2026-02-15T08:00:34Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:23:30Z' + - '2026-02-15T08:00:34Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:23:29Z' + - '2026-02-15T08:00:33Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:23:29Z' + - '2026-02-15T08:00:34Z' Request-Id: - "" Strict-Transport-Security: @@ -156,7 +156,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1034' + - '1132' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -168,6 +168,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMTRkR1pBWHlhcmRWUFZFTnRKYjNwV1kiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZXJlJ3MgdGhlIGluZm9ybWF0aW9uIHlvdSByZXF1ZXN0ZWQ6XG5cbioqV2VhdGhlciBpbiBCZXJsaW46Kipcbi0gVGVtcGVyYXR1cmU6IDE1wrBDXG4tIFdpbmQ6IDEwIGttL2hcblxuKipCZXN0IExhbmd1YWdlIHRvIExlYXJuOioqXG5SdWJ5XG5cblNvIGl0J3MgYSBtaWxkIGRheSBpbiBCZXJsaW4gd2l0aCBtb2RlcmF0ZSB3aW5kcy4gQXMgZm9yIGxhbmd1YWdlcywgUnVieSBpcyByZWNvbW1lbmRlZCB0byBsZWFybiAtIGl0J3MgYSBwb3B1bGFyIGFuZCBlbGVnYW50IHByb2dyYW1taW5nIGxhbmd1YWdlIGtub3duIGZvciBpdHMgc2ltcGxpY2l0eSBhbmQgcmVhZGFiaWxpdHkhIn1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo4OTMsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo4Mywic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMTZqVDdlWXI5V1dKOGduQURCZWVQYlQiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZXJlJ3MgdGhlIGluZm9ybWF0aW9uIHlvdSByZXF1ZXN0ZWQ6XG5cbioqV2VhdGhlciBpbiBCZXJsaW46Kipcbi0gVGVtcGVyYXR1cmU6IDE1wrBDXG4tIFdpbmQ6IDEwIGttL2hcblxuKipCZXN0IExhbmd1YWdlIHRvIExlYXJuOioqXG4tIFJ1YnlcblxuUnVieSBpcyBhIHZlcnNhdGlsZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBrbm93biBmb3IgaXRzIGVsZWdhbnQgc3ludGF4LCByZWFkYWJpbGl0eSwgYW5kIHByb2R1Y3Rpdml0eS4gSXQncyBncmVhdCBmb3Igd2ViIGRldmVsb3BtZW50IChlc3BlY2lhbGx5IHdpdGggUnVieSBvbiBSYWlscyksIHNjcmlwdGluZywgYW5kIGF1dG9tYXRpb24hIn1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo4OTMsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo4Mywic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== + recorded_at: Sun, 15 Feb 2026 08:00:34 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools.yml index 360d15c29..6d1b512f6 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools.yml @@ -29,7 +29,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:23:00 GMT + - Sun, 15 Feb 2026 08:00:30 GMT Content-Type: - application/json Transfer-Encoding: @@ -41,25 +41,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:22:59Z' + - '2026-02-15T08:00:30Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:23:00Z' + - '2026-02-15T08:00:30Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:22:59Z' + - '2026-02-15T08:00:30Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:22:59Z' + - '2026-02-15T08:00:30Z' Request-Id: - "" Strict-Transport-Security: @@ -69,7 +69,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '766' + - '750' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -80,15 +80,15 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01MNi4QCpdibGCFGPxo4BWbK","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01N3b3fYFwiwccaEP2AJd42C","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01QzTojsCgu8AqHXuVL19SqW","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_011scVHTt8nkJkE5rDPouGcW","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:30 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01N3b3fYFwiwccaEP2AJd42C","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01N3b3fYFwiwccaEP2AJd42C","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_011scVHTt8nkJkE5rDPouGcW","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_011scVHTt8nkJkE5rDPouGcW","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -112,7 +112,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:23:01 GMT + - Sun, 15 Feb 2026 08:00:31 GMT Content-Type: - application/json Transfer-Encoding: @@ -124,25 +124,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:23:01Z' + - '2026-02-15T08:00:31Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:23:01Z' + - '2026-02-15T08:00:31Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:23:00Z' + - '2026-02-15T08:00:31Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:23:01Z' + - '2026-02-15T08:00:31Z' Request-Id: - "" Strict-Transport-Security: @@ -152,7 +152,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '897' + - '834' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -164,6 +164,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMVN1WUppN3Ezd3Q2WGpFdWM0SEpGN1YiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaGUgY3VycmVudCB3ZWF0aGVyIGluIEJlcmxpbiBpczpcbi0gKipUZW1wZXJhdHVyZToqKiAxNcKwQyAoNTnCsEYpXG4tICoqV2luZDoqKiAxMCBrbS9oICg2IG1waClcblxuSXQncyBhIG1pbGQgZGF5IHdpdGggbGlnaHQgd2luZHMuIFlvdSBtaWdodCB3YW50IHRvIGJyaW5nIGEgbGlnaHQgamFja2V0IGlmIHlvdSdyZSBoZWFkaW5nIG91dCEifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjc0OCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjY0LCJzZXJ2aWNlX3RpZXIiOiJzdGFuZGFyZCIsImluZmVyZW5jZV9nZW8iOiJub3RfYXZhaWxhYmxlIn19 - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUs5Q1g4Q1Faa0FuSEZ0dkNpQWJMd0ciLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaGUgd2VhdGhlciBpbiBCZXJsaW4gaXMgY3VycmVudGx5OlxuLSAqKlRlbXBlcmF0dXJlKio6IDE1wrBDICg1OcKwRilcbi0gKipXaW5kKio6IDEwIGttL2ggKDYgbXBoKVxuXG5JdCdzIGEgbWlsZCBkYXkgd2l0aCBtb2RlcmF0ZSB3aW5kIGNvbmRpdGlvbnMuIFlvdSBtaWdodCB3YW50IHRvIGJyaW5nIGEgbGlnaHQgamFja2V0IGlmIHlvdSdyZSBoZWFkaW5nIG91dHNpZGUhIn1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo3NDgsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo2NSwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== + recorded_at: Sun, 15 Feb 2026 08:00:32 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_in_multi-turn_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_in_multi-turn_conversations.yml index 27859f9e6..7201e7c22 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_in_multi-turn_conversations.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_in_multi-turn_conversations.yml @@ -29,7 +29,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:24:13 GMT + - Sun, 15 Feb 2026 08:00:36 GMT Content-Type: - application/json Transfer-Encoding: @@ -41,25 +41,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:24:13Z' + - '2026-02-15T08:00:36Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:24:13Z' + - '2026-02-15T08:00:36Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:24:12Z' + - '2026-02-15T08:00:35Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:24:13Z' + - '2026-02-15T08:00:36Z' Request-Id: - "" Strict-Transport-Security: @@ -69,7 +69,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1058' + - '913' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -80,15 +80,15 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01BRFfLpFqnS8R94cAwW5aTy","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01VVY6h5TxJofdLFUVDbGCpR","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01CrRhNozMm4YY6N7fasjtQi","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:36 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01CrRhNozMm4YY6N7fasjtQi","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01CrRhNozMm4YY6N7fasjtQi","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -112,7 +112,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:24:15 GMT + - Sun, 15 Feb 2026 08:00:37 GMT Content-Type: - application/json Transfer-Encoding: @@ -124,25 +124,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:24:14Z' + - '2026-02-15T08:00:37Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:24:14Z' + - '2026-02-15T08:00:37Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:24:14Z' + - '2026-02-15T08:00:36Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:24:14Z' + - '2026-02-15T08:00:37Z' Request-Id: - "" Strict-Transport-Security: @@ -152,7 +152,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '914' + - '853' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -164,19 +164,18 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUd5UjIzcXNYdlBRWUE4RFNxTHo3R1EiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaGUgd2VhdGhlciBpbiBCZXJsaW4gaXMgY3VycmVudGx5OlxuLSAqKlRlbXBlcmF0dXJlKio6IDE1wrBDXG4tICoqV2luZCoqOiAxMCBrbS9oXG5cbkl0J3MgYSBjb29sIGRheSB3aXRoIGxpZ2h0IHdpbmRzLiBZb3UgbWlnaHQgd2FudCB0byBicmluZyBhIGxpZ2h0IGphY2tldCBpZiB5b3UncmUgaGVhZGluZyBvdXQhIn1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo3NDgsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo1NCwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMVdnRXdIcnpBdnVLYWlqd01CY2VGYmIiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaGUgY3VycmVudCB3ZWF0aGVyIGluIEJlcmxpbiBpczpcbi0gKipUZW1wZXJhdHVyZSoqOiAxNcKwQyAoNTnCsEYpXG4tICoqV2luZCoqOiAxMCBrbS9oICg2IG1waClcblxuSXQncyBhIG1pbGQgZGF5IHdpdGggbGlnaHQgd2luZHMgaW4gQmVybGluISJ9XSwic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGwsInVzYWdlIjp7ImlucHV0X3Rva2VucyI6NzQ4LCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NTIsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= + recorded_at: Sun, 15 Feb 2026 08:00:37 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01CrRhNozMm4YY6N7fasjtQi","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01CrRhNozMm4YY6N7fasjtQi","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]},{"role":"assistant","content":[{"type":"text","text":"The - weather in Berlin is currently:\n- **Temperature**: 15°C\n- **Wind**: 10 km/h\n\nIt''s - a cool day with light winds. You might want to bring a light jacket if you''re - heading out!"}]},{"role":"user","content":[{"type":"text","text":"What''s + current weather in Berlin is:\n- **Temperature**: 15°C (59°F)\n- **Wind**: + 10 km/h (6 mph)\n\nIt''s a mild day with light winds in Berlin!"}]},{"role":"user","content":[{"type":"text","text":"What''s the weather in Paris? (48.8575, 2.3514)"}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -200,7 +199,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:24:16 GMT + - Sun, 15 Feb 2026 08:00:38 GMT Content-Type: - application/json Transfer-Encoding: @@ -212,25 +211,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:24:15Z' + - '2026-02-15T08:00:38Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:24:16Z' + - '2026-02-15T08:00:38Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:24:15Z' + - '2026-02-15T08:00:38Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:24:15Z' + - '2026-02-15T08:00:38Z' Request-Id: - "" Strict-Transport-Security: @@ -240,7 +239,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '690' + - '606' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -251,20 +250,19 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01S8RBt2mFeurwopHnjnsnhx","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01NXwhtwkjYrHgCq7DW1nwYJ","name":"weather","input":{"latitude":"48.8575","longitude":"2.3514"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":824,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_016W3aj4wyePkAcb1HLMFpdk","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_013cxAMGhh1P4Sb2aJxz299L","name":"weather","input":{"latitude":"48.8575","longitude":"2.3514"},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":822,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:38 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01SRkYguM5PHC5DrPrKkk7L4","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01CrRhNozMm4YY6N7fasjtQi","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01CrRhNozMm4YY6N7fasjtQi","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]},{"role":"assistant","content":[{"type":"text","text":"The - weather in Berlin is currently:\n- **Temperature**: 15°C\n- **Wind**: 10 km/h\n\nIt''s - a cool day with light winds. You might want to bring a light jacket if you''re - heading out!"}]},{"role":"user","content":[{"type":"text","text":"What''s - the weather in Paris? (48.8575, 2.3514)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01NXwhtwkjYrHgCq7DW1nwYJ","name":"weather","input":{"latitude":"48.8575","longitude":"2.3514"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01NXwhtwkjYrHgCq7DW1nwYJ","content":[{"type":"text","text":"Current + current weather in Berlin is:\n- **Temperature**: 15°C (59°F)\n- **Wind**: + 10 km/h (6 mph)\n\nIt''s a mild day with light winds in Berlin!"}]},{"role":"user","content":[{"type":"text","text":"What''s + the weather in Paris? (48.8575, 2.3514)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_013cxAMGhh1P4Sb2aJxz299L","name":"weather","input":{"latitude":"48.8575","longitude":"2.3514"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_013cxAMGhh1P4Sb2aJxz299L","content":[{"type":"text","text":"Current weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -288,7 +286,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:24:17 GMT + - Sun, 15 Feb 2026 08:00:39 GMT Content-Type: - application/json Transfer-Encoding: @@ -300,25 +298,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:24:17Z' + - '2026-02-15T08:00:39Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:24:17Z' + - '2026-02-15T08:00:39Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:24:16Z' + - '2026-02-15T08:00:39Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:24:17Z' + - '2026-02-15T08:00:39Z' Request-Id: - "" Strict-Transport-Security: @@ -328,7 +326,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1015' + - '633' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -340,6 +338,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUFzc2RqUGlFRUF3RkFWU1NMVHpiZ0wiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaGUgd2VhdGhlciBpbiBQYXJpcyBpcyBjdXJyZW50bHk6XG4tICoqVGVtcGVyYXR1cmUqKjogMTXCsENcbi0gKipXaW5kKio6IDEwIGttL2hcblxuUGFyaXMgaGFzIHNpbWlsYXIgY29uZGl0aW9ucyB0byBCZXJsaW4gcmlnaHQgbm93IC0gaXQncyBjb29sIHdpdGggbGlnaHQgd2luZHMuIEEgbGlnaHQgamFja2V0IHdvdWxkIGJlIGFwcHJvcHJpYXRlIGhlcmUgYXMgd2VsbCEifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjkzOSwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjU3LCJzZXJ2aWNlX3RpZXIiOiJzdGFuZGFyZCIsImluZmVyZW5jZV9nZW8iOiJub3RfYXZhaWxhYmxlIn19 - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMTh0bmg0eVNLcmp1WnRmYXVUOTFzODgiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaGUgY3VycmVudCB3ZWF0aGVyIGluIFBhcmlzIGlzOlxuLSAqKlRlbXBlcmF0dXJlKio6IDE1wrBDICg1OcKwRilcbi0gKipXaW5kKio6IDEwIGttL2ggKDYgbXBoKVxuXG5QYXJpcyBoYXMgdGhlIHNhbWUgd2VhdGhlciBjb25kaXRpb25zIGFzIEJlcmxpbiBhdCB0aGUgbW9tZW50IC0gYSBtaWxkIDE1wrBDIHdpdGggbGlnaHQgd2luZHMhIn1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo5MzcsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo2Mywic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== + recorded_at: Sun, 15 Feb 2026 08:00:39 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_with_multi-turn_streaming_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_with_multi-turn_streaming_conversations.yml index 1e424cc91..7a145d8ff 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_with_multi-turn_streaming_conversations.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_with_multi-turn_streaming_conversations.yml @@ -29,7 +29,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:27:31 GMT + - Sun, 15 Feb 2026 08:00:54 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -43,25 +43,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:27:30Z' + - '2026-02-15T08:00:53Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:27:30Z' + - '2026-02-15T08:00:53Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:27:30Z' + - '2026-02-15T08:00:53Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:27:30Z' + - '2026-02-15T08:00:53Z' Request-Id: - "" Strict-Transport-Security: @@ -71,7 +71,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '603' + - '1340' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -84,55 +84,52 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_0145663HWYZd81Bi1AKaST9H","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_017Tnzegs1WJPCpZuxzKHW4X","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","name":"weather","input":{}} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","name":"weather","input":{},"caller":{"type":"direct"}} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"latitu"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"latitud"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"de\": \""} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"e\": \"52.520"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"52.5200\""} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"0\""} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"longi"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"longi"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"tude\": \"1"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"tude\":"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"3.4"} } - - event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"050\"}"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" \"13.4050\"}"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":75} } + data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":75} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:54 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -156,7 +153,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:27:32 GMT + - Sun, 15 Feb 2026 08:00:55 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -170,25 +167,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:27:31Z' + - '2026-02-15T08:00:54Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:27:31Z' + - '2026-02-15T08:00:54Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:27:31Z' + - '2026-02-15T08:00:54Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:27:31Z' + - '2026-02-15T08:00:54Z' Request-Id: - "" Strict-Transport-Security: @@ -198,7 +195,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '377' + - '294' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -210,18 +207,19 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDExdHFwdkxvWHp6aWhvUHNzUnRhUUFaIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjc0OCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjUsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX19CgpldmVudDogY29udGVudF9ibG9ja19zdGFydApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0YXJ0IiwiaW5kZXgiOjAsImNvbnRlbnRfYmxvY2siOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiIn0gICAgICAgIH0KCmV2ZW50OiBwaW5nCmRhdGE6IHsidHlwZSI6ICJwaW5nIn0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiVGhlIHdlYXRoZXIgaW4gQmVybGluIGlzIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY3VycmVudGx5In0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI6In0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuLSAqKlRlbXBlcmF0dXJlIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKio6IDE1wrBDXG4tICoqIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IldpbmQqKjogMTAga20vaCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcblxuSXQifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3MifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGEgbWlsIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIGRheSB3aXRoIGEgZ2VudGxlIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBicmVlemUhIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0b3AKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdG9wIiwiaW5kZXgiOjAgICAgICAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2VfZGVsdGEKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9kZWx0YSIsImRlbHRhIjp7InN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsfSwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo3NDgsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnMiOjQyfSAgICAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2Vfc3RvcApkYXRhOiB7InR5cGUiOiJtZXNzYWdlX3N0b3AiICAgICAgIH0KCg== - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDE4OXNxZTlOZ3ViMk43R3ZFTXRXQVdYIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjc0OCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjYsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0YXJ0CmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RhcnQiLCJpbmRleCI6MCwiY29udGVudF9ibG9jayI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiIifSAgICAgICAgICB9CgpldmVudDogcGluZwpkYXRhOiB7InR5cGUiOiAicGluZyJ9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlRoZSB3ZWF0aGVyIGluIEJlcmxpbiBpcyBjdXJyZW50bHkifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcbi0gKipUZW1wZXJhdHVyZSJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKio6IDE1wrBDICgifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI1OcKwRilcbi0gKipXaW4ifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCoqOiAxMCBrbS9oIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG5JdCdzIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGEgY29vbCJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRheSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHdpdGgifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbGlnaHQifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgd2luZHMuIFlvdSBtaWdodCB3YW50IHRvIGJyaW5nIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhIGxpZ2h0IGphY2tldCBpZiJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91J3JlIGhlYWRpbmcifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBvdXRzaWRlISJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RvcApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0b3AiLCJpbmRleCI6MCAgICAgICAgIH0KCmV2ZW50OiBtZXNzYWdlX2RlbHRhCmRhdGE6IHsidHlwZSI6Im1lc3NhZ2VfZGVsdGEiLCJkZWx0YSI6eyJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbH0sInVzYWdlIjp7ImlucHV0X3Rva2VucyI6NzQ4LCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zIjo1OX0gICAgICAgIH0KCmV2ZW50OiBtZXNzYWdlX3N0b3AKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdG9wIiAgICAgICAgIH0KCg== + recorded_at: Sun, 15 Feb 2026 08:00:55 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]},{"role":"assistant","content":[{"type":"text","text":"The - weather in Berlin is currently:\n- **Temperature**: 15°C\n- **Wind**: 10 km/h\n\nIt''s - a mild day with a gentle breeze!"}]},{"role":"user","content":[{"type":"text","text":"What''s + weather in Berlin is currently:\n- **Temperature**: 15°C (59°F)\n- **Wind**: + 10 km/h\n\nIt''s a cool day with light winds. You might want to bring a light + jacket if you''re heading outside!"}]},{"role":"user","content":[{"type":"text","text":"What''s the weather in Paris? (48.8575, 2.3514)"}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -245,7 +243,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:27:33 GMT + - Sun, 15 Feb 2026 08:00:56 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -259,25 +257,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:27:32Z' + - '2026-02-15T08:00:55Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:27:32Z' + - '2026-02-15T08:00:55Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:27:32Z' + - '2026-02-15T08:00:55Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:27:32Z' + - '2026-02-15T08:00:55Z' Request-Id: - "" Strict-Transport-Security: @@ -287,7 +285,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '489' + - '441' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -300,62 +298,60 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_016dCi8dZfVBAxzMc2WvVm9q","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":812,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01HJKW3dSiZFSLx6xriff8V6","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":829,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}}} event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01F4m5GmxPE99WHL2HvnpBR6","name":"weather","input":{}} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01Akg2CHhMyhPVbC148EQNF9","name":"weather","input":{},"caller":{"type":"direct"}} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } - - event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"latitude"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"\": \"48.857"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"latit"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"5\""} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ude\": \"4"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", "} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"8.8575\""} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"\"l"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"longi"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ongitude\":"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"tude\""} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" \"2"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":": \"2.351"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":".3514\"}"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"4\"}"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":812,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":75} } + data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":829,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":75} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:56 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01FcgQzMZdrjsNcrtjWzBp7V","content":[{"type":"text","text":"Current + the weather in Berlin? (52.5200, 13.4050)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","name":"weather","input":{"latitude":"52.5200","longitude":"13.4050"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_012UqgzVqHPCRY9mkPSGFiJn","content":[{"type":"text","text":"Current weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h"}]}]},{"role":"assistant","content":[{"type":"text","text":"The - weather in Berlin is currently:\n- **Temperature**: 15°C\n- **Wind**: 10 km/h\n\nIt''s - a mild day with a gentle breeze!"}]},{"role":"user","content":[{"type":"text","text":"What''s - the weather in Paris? (48.8575, 2.3514)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01F4m5GmxPE99WHL2HvnpBR6","name":"weather","input":{"latitude":"48.8575","longitude":"2.3514"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01F4m5GmxPE99WHL2HvnpBR6","content":[{"type":"text","text":"Current + weather in Berlin is currently:\n- **Temperature**: 15°C (59°F)\n- **Wind**: + 10 km/h\n\nIt''s a cool day with light winds. You might want to bring a light + jacket if you''re heading outside!"}]},{"role":"user","content":[{"type":"text","text":"What''s + the weather in Paris? (48.8575, 2.3514)"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01Akg2CHhMyhPVbC148EQNF9","name":"weather","input":{"latitude":"48.8575","longitude":"2.3514"}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01Akg2CHhMyhPVbC148EQNF9","content":[{"type":"text","text":"Current weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h"}]}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"weather","description":"Gets current weather for a location","input_schema":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., @@ -379,7 +375,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:27:34 GMT + - Sun, 15 Feb 2026 08:00:57 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -393,25 +389,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:27:33Z' + - '2026-02-15T08:00:56Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:27:33Z' + - '2026-02-15T08:00:56Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:27:33Z' + - '2026-02-15T08:00:56Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:27:33Z' + - '2026-02-15T08:00:56Z' Request-Id: - "" Strict-Transport-Security: @@ -421,7 +417,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '333' + - '336' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -433,6 +429,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDFKdkhpOGN4NzFjOXBuMUE3anRFOGZMIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjkyNywiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjgsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RhcnQKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdGFydCIsImluZGV4IjowLCJjb250ZW50X2Jsb2NrIjp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiJ9fQoKZXZlbnQ6IHBpbmcKZGF0YTogeyJ0eXBlIjogInBpbmcifQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJUaGUgd2VhdGhlciBpbiBQYXJpcyBpcyBjdXJyZW50bHk6In0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tICoqVGVtcGVyYXR1cmUqKjogMTXCsEMifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tICoqV2luZCoqOiAxMCAifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0Ijoia20vaFxuXG5JdCdzIHRoZSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc2FtZSBhcyJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEJlcmxpbiAtIGEgbWlsZCBkYXkgd2l0aCBhIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGdlbnRsZSBicmVlemUhIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RvcApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0b3AiLCJpbmRleCI6MCAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2VfZGVsdGEKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9kZWx0YSIsImRlbHRhIjp7InN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsfSwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo5MjcsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnMiOjQ3fSAgICB9CgpldmVudDogbWVzc2FnZV9zdG9wCmRhdGE6IHsidHlwZSI6Im1lc3NhZ2Vfc3RvcCIgICAgICAgICAgICAgICB9Cgo= - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDE0UjdlNHlKUXJSbnJXR2REV0ZmY21GIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjk0NCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjgsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RhcnQKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdGFydCIsImluZGV4IjowLCJjb250ZW50X2Jsb2NrIjp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiJ9ICAgICAgICAgICB9CgpldmVudDogcGluZwpkYXRhOiB7InR5cGUiOiAicGluZyJ9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlRoZSB3ZWF0aGVyIGluIFBhcmlzIGlzIGN1cnJlbnRseToifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuLSAqKlRlbXBlcmF0dXJlKio6IDE1wrBDIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiICg1OcKwRilcbi0gKioifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IldpbmQqKjogMTAga20vaCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcblxuUGFyaXMifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaGFzIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc2FtZSBjb25kaXRpb25zIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhcyBCZXJsaW4gcmlnaHQifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG5vdyAtIGEifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY29vbCBkYXkgd2l0aCBsaWdodCB3aW5kcy4gQSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGxpZ2h0IGphY2tldCB3b3VsIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIGJlIGEifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBnb29kIGlkZWEgaGVyZSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdG9vIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiEifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0b3AKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdG9wIiwiaW5kZXgiOjAgICAgICAgICAgIH0KCmV2ZW50OiBtZXNzYWdlX2RlbHRhCmRhdGE6IHsidHlwZSI6Im1lc3NhZ2VfZGVsdGEiLCJkZWx0YSI6eyJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbH0sInVzYWdlIjp7ImlucHV0X3Rva2VucyI6OTQ0LCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zIjo2NH0gIH0KCmV2ZW50OiBtZXNzYWdlX3N0b3AKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdG9wIiAgICAgIH0KCg== + recorded_at: Sun, 15 Feb 2026 08:00:57 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters.yml index 2d620b80d..1afd61843 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters.yml @@ -27,7 +27,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:25:15 GMT + - Sun, 15 Feb 2026 08:00:41 GMT Content-Type: - application/json Transfer-Encoding: @@ -39,25 +39,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:25:15Z' + - '2026-02-15T08:00:41Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:25:15Z' + - '2026-02-15T08:00:41Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:25:14Z' + - '2026-02-15T08:00:40Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:25:15Z' + - '2026-02-15T08:00:41Z' Request-Id: - "" Strict-Transport-Security: @@ -67,7 +67,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '778' + - '1178' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -78,15 +78,15 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01BretPTB2oxkQQJPF7mQvaK","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01UHJUdmqmEGmSYccKJVHDXL","name":"best_language_to_learn","input":{}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":571,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":41,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01PSNHR8vYnZEaPWR3xw4XpX","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_018uy1HNmKRpnnEVTnggss7N","name":"best_language_to_learn","input":{},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":571,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":41,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:41 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01UHJUdmqmEGmSYccKJVHDXL","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01UHJUdmqmEGmSYccKJVHDXL","content":[{"type":"text","text":"Ruby"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets + the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_018uy1HNmKRpnnEVTnggss7N","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_018uy1HNmKRpnnEVTnggss7N","content":[{"type":"text","text":"Ruby"}]}]}],"stream":false,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets the best language to learn","input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}]}' headers: User-Agent: @@ -107,7 +107,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:25:17 GMT + - Sun, 15 Feb 2026 08:00:46 GMT Content-Type: - application/json Transfer-Encoding: @@ -119,25 +119,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:25:16Z' + - '2026-02-15T08:00:43Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:25:17Z' + - '2026-02-15T08:00:46Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:25:15Z' + - '2026-02-15T08:00:42Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:25:16Z' + - '2026-02-15T08:00:43Z' Request-Id: - "" Strict-Transport-Security: @@ -147,7 +147,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1645' + - '4424' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -158,15 +158,19 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Tx5ZCqMAqVxm3DA3VedChf","type":"message","role":"assistant","content":[{"type":"text","text":"According - to the function, **Ruby** is the best language to learn!\n\nRuby is a great - choice for several reasons:\n\n- **Beginner-friendly**: It has clean, readable - syntax that''s easy to understand and learn\n- **Versatile**: It''s used for - web development, scripting, automation, and more\n- **Popular frameworks**: - Ruby on Rails is one of the most popular web development frameworks\n- **Strong - community**: Ruby has an active and supportive community with lots of learning - resources\n- **Productivity**: You can build applications quickly with Ruby - due to its expressive nature\n\nWhether you''re interested in web development - or programming in general, Ruby is an excellent language to start with!"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":625,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":149,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01CEYdJmMFfxXYCpyxkE5wYX","type":"message","role":"assistant","content":[{"type":"text","text":"According + to the analysis, **Ruby** is the best language to learn!\n\nRuby is an excellent + choice for several reasons:\n\n- **Beginner-Friendly**: Ruby has clean, readable + syntax that''s easy to learn and understand, making it great for those starting + their programming journey\n- **Productive**: It emphasizes developer happiness + and productivity, allowing you to write less code while accomplishing more\n- + **Versatile**: Ruby can be used for web development (Rails framework), scripting, + automation, and more\n- **Great Community**: It has an active and supportive + community with lots of resources, libraries, and frameworks available\n- **In-Demand**: + Ruby developers are sought after, particularly for web development roles\n\nIf + you''re interested in web development, **Ruby on Rails** is a particularly + popular and powerful framework built on Ruby that makes building web applications + faster and easier.\n\nWould you like to know more about Ruby or suggestions + on how to get started learning it?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":625,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":205,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:46 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml index 52c27afcb..2c1728b52 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml @@ -28,7 +28,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:26:11 GMT + - Sun, 15 Feb 2026 08:00:47 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -42,25 +42,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:26:11Z' + - '2026-02-15T08:00:46Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:26:11Z' + - '2026-02-15T08:00:46Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:26:11Z' + - '2026-02-15T08:00:46Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:26:11Z' + - '2026-02-15T08:00:46Z' Request-Id: - "" Strict-Transport-Security: @@ -70,7 +70,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '527' + - '422' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -83,34 +83,34 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_013KfuoDEyCzXQTNo5jtjuVg","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":579,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01TKnMu1BAA8DqakVxzyewBT","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":579,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","name":"best_language_to_learn","input":{}} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","name":"best_language_to_learn","input":{},"caller":{"type":"direct"}} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":579,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":41} } + data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":579,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":41} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:47 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","content":[{"type":"text","text":"Ruby"}]}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets + the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","content":[{"type":"text","text":"Ruby"}]}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets the best language to learn","input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}],"system":[{"type":"text","text":"You must use tools whenever possible."}]}' headers: @@ -132,7 +132,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:26:12 GMT + - Sun, 15 Feb 2026 08:00:47 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -146,25 +146,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:26:12Z' + - '2026-02-15T08:00:47Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:26:12Z' + - '2026-02-15T08:00:47Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:26:12Z' + - '2026-02-15T08:00:47Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:26:12Z' + - '2026-02-15T08:00:47Z' Request-Id: - "" Strict-Transport-Security: @@ -174,7 +174,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '328' + - '361' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -187,172 +187,236 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01GG9jtTpCj1fhNJeh4Pe1iC","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_014KrYKzVtb5Nfh6pmXWrbz9","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"According"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"According"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to the function,"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" **"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Ruby** is the best language to learn"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nRuby"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" is a great"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" choice for several"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" reasons:"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\n1. **Beg"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"inner-"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Friendly**"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" - It has clean"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":","} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" readable syntax that"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s easy to learn an"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to the tool"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d understand\n2. **"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", **"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Productive"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Ruby** is the best language to learn"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"** - You"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" can write"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nRuby"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" less"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" is a popular"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" code to"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" programming language known for:"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" accomplish more,"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n- **"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" making development"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Readability**: It"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" faster\n3. **Versatile"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" has"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"** - Use"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" a clean, intu"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d for web development ("} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"itive syntax that's easy to learn"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Ruby on Rails), scri"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n- **Productivity"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"pting, automation"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"**: You"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", an"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" can write"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d more"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" powerful"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n4. **Strong Community"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" programs with"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"** - Excellent"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" less"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" documentation, libraries"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" code"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", and support"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n- **Web"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"ive developer"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Development"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" community"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"**: Ruby"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n5. **Goo"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" on"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d Job"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Rails is a"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Market"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" popular framework"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"** - There"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" for building"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s soli"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" web applications\n- **Community"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d demand for Ruby developers,"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"**:"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" especially for"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" It"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" web development roles"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" has a support"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nIf"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"ive community with"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're just starting your"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" great"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" programming"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" resources and documentation"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" journey, Ruby is an excellent choice."} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n- **Versatility**: It"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" If"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" can"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're already"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" be used for web development, scri"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" experience"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"pting, automation"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d with other"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", and more\n\nIf"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" languages, learning"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're interested in programming"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Ruby will teach"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":","} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you some"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Ruby is definitely"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" great"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" a great choice to"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" programming"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" start with!"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" paradig"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"ms an"}} + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d best practices that can"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" improve"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" your overall"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" coding skills!"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":135} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":633,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":185} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:49 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","content":[{"type":"text","text":"Ruby"}]}]},{"role":"assistant","content":[{"type":"text","text":"According - to the tool, **Ruby** is the best language to learn!\n\nRuby is a popular - programming language known for:\n- **Readability**: It has a clean, intuitive - syntax that''s easy to learn\n- **Productivity**: You can write powerful programs - with less code\n- **Web Development**: Ruby on Rails is a popular framework - for building web applications\n- **Community**: It has a supportive community - with great resources and documentation\n- **Versatility**: It can be used - for web development, scripting, automation, and more\n\nIf you''re interested - in programming, Ruby is definitely a great choice to start with!"}]},{"role":"user","content":[{"type":"text","text":"Tell - me again: what''s the best language to learn?"}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets + the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","content":[{"type":"text","text":"Ruby"}]}]},{"role":"assistant","content":[{"type":"text","text":"According + to the function, **Ruby** is the best language to learn!\n\nRuby is a great + choice for several reasons:\n\n1. **Beginner-Friendly** - It has clean, readable + syntax that''s easy to learn and understand\n2. **Productive** - You can write + less code to accomplish more, making development faster\n3. **Versatile** + - Used for web development (Ruby on Rails), scripting, automation, and more\n4. + **Strong Community** - Excellent documentation, libraries, and supportive + developer community\n5. **Good Job Market** - There''s solid demand for Ruby + developers, especially for web development roles\n\nIf you''re just starting + your programming journey, Ruby is an excellent choice. If you''re already + experienced with other languages, learning Ruby will teach you some great + programming paradigms and best practices that can improve your overall coding + skills!"}]},{"role":"user","content":[{"type":"text","text":"Tell me again: + what''s the best language to learn?"}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets the best language to learn","input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}],"system":[{"type":"text","text":"You must use tools whenever possible."}]}' headers: @@ -374,7 +438,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:26:14 GMT + - Sun, 15 Feb 2026 08:00:50 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -386,27 +450,27 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Limit: - '450000' Anthropic-Ratelimit-Input-Tokens-Remaining: - - '450000' + - '449000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:26:14Z' + - '2026-02-15T08:00:50Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:26:13Z' + - '2026-02-15T08:00:49Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:26:14Z' + - '2026-02-15T08:00:50Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - - '540000' + - '539000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:26:13Z' + - '2026-02-15T08:00:49Z' Request-Id: - "" Strict-Transport-Security: @@ -416,7 +480,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '527' + - '578' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -429,43 +493,47 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_014HYGN1GsBeYfQXPF6K9dJM","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":783,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01GhZ15ahd1Mq9ZxF4P44Xii","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":833,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01MuhdQmUbRrHEe2BqpKKmgX","name":"best_language_to_learn","input":{}} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01TFqbNqXj6UXhT1GpDqMCbN","name":"best_language_to_learn","input":{},"caller":{"type":"direct"}} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":783,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":41} } + data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":833,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":41}} event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:50 GMT - request: method: post uri: https://api.anthropic.com/v1/messages body: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s - the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01NYbwAuSt1N1wa5ryLZF6ed","content":[{"type":"text","text":"Ruby"}]}]},{"role":"assistant","content":[{"type":"text","text":"According - to the tool, **Ruby** is the best language to learn!\n\nRuby is a popular - programming language known for:\n- **Readability**: It has a clean, intuitive - syntax that''s easy to learn\n- **Productivity**: You can write powerful programs - with less code\n- **Web Development**: Ruby on Rails is a popular framework - for building web applications\n- **Community**: It has a supportive community - with great resources and documentation\n- **Versatility**: It can be used - for web development, scripting, automation, and more\n\nIf you''re interested - in programming, Ruby is definitely a great choice to start with!"}]},{"role":"user","content":[{"type":"text","text":"Tell - me again: what''s the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01MuhdQmUbRrHEe2BqpKKmgX","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01MuhdQmUbRrHEe2BqpKKmgX","content":[{"type":"text","text":"Ruby"}]}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets + the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01SSaKKaYE4MGsTCtMxr3Y1Z","content":[{"type":"text","text":"Ruby"}]}]},{"role":"assistant","content":[{"type":"text","text":"According + to the function, **Ruby** is the best language to learn!\n\nRuby is a great + choice for several reasons:\n\n1. **Beginner-Friendly** - It has clean, readable + syntax that''s easy to learn and understand\n2. **Productive** - You can write + less code to accomplish more, making development faster\n3. **Versatile** + - Used for web development (Ruby on Rails), scripting, automation, and more\n4. + **Strong Community** - Excellent documentation, libraries, and supportive + developer community\n5. **Good Job Market** - There''s solid demand for Ruby + developers, especially for web development roles\n\nIf you''re just starting + your programming journey, Ruby is an excellent choice. If you''re already + experienced with other languages, learning Ruby will teach you some great + programming paradigms and best practices that can improve your overall coding + skills!"}]},{"role":"user","content":[{"type":"text","text":"Tell me again: + what''s the best language to learn?"}]},{"role":"assistant","content":[{"type":"tool_use","id":"toolu_01TFqbNqXj6UXhT1GpDqMCbN","name":"best_language_to_learn","input":{}}]},{"role":"user","content":[{"type":"tool_result","tool_use_id":"toolu_01TFqbNqXj6UXhT1GpDqMCbN","content":[{"type":"text","text":"Ruby"}]}]}],"stream":true,"max_tokens":64000,"tools":[{"name":"best_language_to_learn","description":"Gets the best language to learn","input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}],"system":[{"type":"text","text":"You must use tools whenever possible."}]}' headers: @@ -487,7 +555,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:26:15 GMT + - Sun, 15 Feb 2026 08:00:51 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -501,25 +569,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '449000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:26:15Z' + - '2026-02-15T08:00:50Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:26:14Z' + - '2026-02-15T08:00:50Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:26:14Z' + - '2026-02-15T08:00:50Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '539000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:26:14Z' + - '2026-02-15T08:00:50Z' Request-Id: - "" Strict-Transport-Security: @@ -529,7 +597,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '486' + - '332' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -542,113 +610,137 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01X5nSGHd28UaZypFHHhAViL","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":837,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01MFFAVtW7AsibuZRtMoNdNk","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":887,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}}} event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The best language to learn is"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The best"}} + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" language to learn is"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" **Ruby**!"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nIt"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" remains"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" the top recommendation"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" with"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" all"} } + + event: content_block_delta + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" the same"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" **Ruby**!"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" great"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nAs I mentioned before"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" qualities:"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", Ruby is an"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\n1"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" excellent choice because"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":". **Beginner-Friendly"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" of"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"** - Clean,"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" its:"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" readable syntax that"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n- **Clean"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s easy to pick"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" syntax**:"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" up\n2. **Productive**"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Easy to read and understand\n- **"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" - Write"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Rapi"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" less code to accomplish more"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d development**: Write"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n3. **Versatile** -"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" less"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Great"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" code to"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" for web development (Ruby on Rails),"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" accomplish"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" scripting, automation,"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" more\n- **Web"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" and more\n4. **Strong Community"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" frameworks"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"** - Excellent resources"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"**: Ruby on Rails is powerful"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" and supportive developers"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" for web development\n- **Beg"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n5. **Good Job Market**"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"inner-friendly**: Great"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" - Solid demand for Ruby developers"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" for those"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nWhether"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" new to programming\n- **Active"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're a beg"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" community**: Lots of learning"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"inner or"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" resources available"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" looking"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n\nIf you're looking"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to expan"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to start"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d your programming"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" your"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" skills, Ruby is consistently"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" programming journey, Ruby is a"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" a"}} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" fantastic option"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" great"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}} + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" choice!"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":837,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":110}} + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":887,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":139}} event: message_stop data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:52 GMT recorded_with: VCR 6.4.0 ... diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_anyof_params.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_anyof_params.yml index bb6dd5349..9a383b466 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_anyof_params.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_anyof_params.yml @@ -29,7 +29,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:29:44 GMT + - Sun, 15 Feb 2026 08:01:02 GMT Content-Type: - application/json Transfer-Encoding: @@ -41,25 +41,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:29:44Z' + - '2026-02-15T08:01:02Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:29:44Z' + - '2026-02-15T08:01:02Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:29:44Z' + - '2026-02-15T08:01:02Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:29:44Z' + - '2026-02-15T08:01:02Z' Request-Id: - "" Strict-Transport-Security: @@ -69,7 +69,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1061' + - '705' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -80,7 +80,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01GeCrpdPGvPswWqbgEpwSaB","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Qbq2SAvkMmCsCvGfXtJgQU","name":"any_of_params","input":{"task":"Review - PR","status":"pending"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":646,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":74,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01MUCMQF5qD6XzJF41JMCcbG","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01YR3GF2Lt9YhGmWKxRGpsEj","name":"any_of_params","input":{"task":"Review + PR","status":"pending"},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":646,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":74,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:01:03 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_array_params.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_array_params.yml index 2a560e4e6..c26386780 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_array_params.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_array_params.yml @@ -29,7 +29,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:29:27 GMT + - Sun, 15 Feb 2026 08:01:01 GMT Content-Type: - application/json Transfer-Encoding: @@ -41,25 +41,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:29:27Z' + - '2026-02-15T08:01:01Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:29:27Z' + - '2026-02-15T08:01:01Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:29:26Z' + - '2026-02-15T08:01:00Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:29:27Z' + - '2026-02-15T08:01:01Z' Request-Id: - "" Strict-Transport-Security: @@ -69,7 +69,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '696' + - '1044' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -80,6 +80,6 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01GSEQfbshPyNTa3cV9Sjqaf","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_017nskFXe2yBWhp3MLCmKY6i","name":"array_params","input":{"tags":["red","blue"]}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":608,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":59,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_015XgHMH8RGGoUBz36udUXXE","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01TkhPXhCK6uGZbYBGwdVyvm","name":"array_params","input":{"tags":["red","blue"]},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":608,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":59,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:01:01 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_object_params.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_object_params.yml index cb53ceb2c..d7b364a26 100644 --- a/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_object_params.yml +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_anthropic_claude-haiku-4-5_handles_object_params.yml @@ -30,7 +30,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:30:01 GMT + - Sun, 15 Feb 2026 08:01:04 GMT Content-Type: - application/json Transfer-Encoding: @@ -42,25 +42,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:30:01Z' + - '2026-02-15T08:01:03Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:30:01Z' + - '2026-02-15T08:01:04Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:30:01Z' + - '2026-02-15T08:01:03Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:30:01Z' + - '2026-02-15T08:01:03Z' Request-Id: - "" Strict-Transport-Security: @@ -70,7 +70,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '664' + - '721' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -81,6 +81,6 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_0199hAZj7YY2nB8ZmcV8S1Jm","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_019TZ3YGqLkSEUG8TJ9LAEAc","name":"object_params","input":{"window":{"start":"2025-01-01","end":"2025-01-02"}}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":662,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":75,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Q4r5C96Dpd4FkcWq9jvGUd","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_014U8qJJBQuEHJ4pVaMaBpGi","name":"object_params","input":{"window":{"start":"2025-01-01","end":"2025-01-02"}},"caller":{"type":"direct"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":662,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":81,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:01:04 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_can_handle_array_of_mixed_files_with_auto-detection.yml b/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_can_handle_array_of_mixed_files_with_auto-detection.yml index 95eb88b9d..a20c90255 100644 --- a/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_can_handle_array_of_mixed_files_with_auto-detection.yml +++ b/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_can_handle_array_of_mixed_files_with_auto-detection.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:51:26 GMT + - Sun, 15 Feb 2026 07:59:35 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '449000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:51:22Z' + - '2026-02-15T07:59:32Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:51:26Z' + - '2026-02-15T07:59:35Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:51:21Z' + - '2026-02-15T07:59:31Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '539000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:51:22Z' + - '2026-02-15T07:59:32Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '4457' + - '3273' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -78,6 +78,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMVlGamd2RUVxZ2NiMXdzS0R1Z2kyWHgiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIEFuYWx5c2lzIG9mIEZpbGVzXG5cbiMjIDEuICoqSW1hZ2UgRmlsZSoqIChSZWQgUnVieS9HZW0gTG9nbylcbi0gKipUeXBlOioqIFBORyBvciBzaW1pbGFyIGltYWdlIGZvcm1hdFxuLSAqKkNvbnRlbnQ6KiogQSBzdHlsaXplZCByZWQgZ2Vtc3RvbmUgb3IgamV3ZWwgaWNvblxuLSAqKkRlc2lnbiBFbGVtZW50czoqKlxuICAtIEZhY2V0ZWQgM0QgZGVzaWduIHdpdGggbXVsdGlwbGUgZ2VvbWV0cmljIHBsYW5lc1xuICAtIERlZXAgcmVkL2J1cmd1bmR5IGNvbG9yIHBhbGV0dGUgd2l0aCBsaWdodGVyIGhpZ2hsaWdodHNcbiAgLSBNb2Rlcm4sIGdsb3NzeSBhcHBlYXJhbmNlXG4gIC0gUHJvZmVzc2lvbmFsIGJyYW5kaW5nIGFlc3RoZXRpY1xuLSAqKkxpa2VseSBVc2U6KiogU29mdHdhcmUgbG9nbywgYXBwbGljYXRpb24gaWNvbiwgb3IgYnJhbmQgaWRlbnRpdHkgKHBvc3NpYmx5IFJ1YnkgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugb3IgYSBzaW1pbGFyIHRlY2ggY29tcGFueSlcblxuLS0tXG5cbiMjIDIuICoqUERGIERvY3VtZW50KiogKFNhbXBsZSBQREYpXG4tICoqVHlwZToqKiBQREYgdGV4dCBkb2N1bWVudFxuLSAqKkNvbnRlbnQ6KiogUGxhY2Vob2xkZXIvTG9yZW0gSXBzdW0gdGV4dFxuLSAqKlN0cnVjdHVyZToqKlxuICAtIFRpdGxlOiBcIlNhbXBsZSBQREZcIlxuICAtIFN1YnRpdGxlOiBcIlRoaXMgaXMgYSBzaW1wbGUgUERGIGZpbGUuIEZ1biBmdW4gZnVuLlwiXG4gIC0gQm9keTogRm91ciBwYXJhZ3JhcGhzIG9mIExvcmVtIElwc3VtIChzdGFuZGFyZCBkdW1teSB0ZXh0KVxuLSAqKlB1cnBvc2U6KiogVGVzdC9kZW1vbnN0cmF0aW9uIGRvY3VtZW50IHdpdGggbm8gc3Vic3RhbnRpdmUgY29udGVudFxuLSAqKkZvcm1hdDoqKiBQcm9mZXNzaW9uYWwgbGF5b3V0IHdpdGggY2xlYXIgdHlwb2dyYXBoeSBhbmQgdGV4dCBoaWVyYXJjaHlcbi0gKipVc2UgQ2FzZToqKiBUZW1wbGF0ZSwgc2FtcGxlIGZpbGUsIG9yIGRlbW9uc3RyYXRpb24gZG9jdW1lbnQgZm9yIFBERiBnZW5lcmF0aW9uIHRlc3RpbmdcblxuLS0tXG5cbiMjICoqU3VtbWFyeSoqXG5UaGVzZSBhcHBlYXIgdG8gYmUgZ2VuZXJpYyBhc3NldHPigJRvbmUgYSBwcm9mZXNzaW9uYWwgZGVzaWduIGVsZW1lbnQgKGljb24vbG9nbykgYW5kIG9uZSBhIGJhc2ljIHBsYWNlaG9sZGVyIGRvY3VtZW504oCUbGlrZWx5IHVzZWQgZm9yIHRlc3RpbmcsIGRvY3VtZW50YXRpb24sIG9yIGFzIHN0YXJ0ZXIgdGVtcGxhdGVzIGluIGEgZGV2ZWxvcG1lbnQgcHJvamVjdC4ifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjI3MDYsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjozMDIsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMTRRMkJqVUxZS2pKOWtoQmtOVHZHVG8iLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIEZpbGUgQW5hbHlzaXNcblxuIyMgSW1hZ2UgRmlsZVxuKipUeXBlOioqIFBORyBJbWFnZVxuKipDb250ZW50OioqIEEgc3R5bGl6ZWQgcmVkIDNEIGdlbSBvciBjcnlzdGFsIGxvZ29cbi0gRmVhdHVyZXMgYSBmYWNldGVkLCBnZW9tZXRyaWMgZGVzaWduXG4tIFVzZXMgc2hhZGVzIG9mIHJlZCB3aXRoIHdoaXRlIGhpZ2hsaWdodCBhY2NlbnRzXG4tIE1vZGVybiwgbWluaW1hbGlzdCBhZXN0aGV0aWNcbi0gQXBwZWFycyB0byBiZSBhIGJyYW5kIGxvZ28gb3IgaWNvbiAocG9zc2libHkgZm9yIGEgZGVzaWduL3NvZnR3YXJlIGFwcGxpY2F0aW9uKVxuXG4jIyBQREYgRG9jdW1lbnRcbioqVHlwZToqKiBUZXh0IERvY3VtZW50IChQREYpXG4qKlRpdGxlOioqIFwiU2FtcGxlIFBERlwiXG4qKkNvbnRlbnQgU3VtbWFyeToqKlxuLSBBIGJhc2ljIHBsYWNlaG9sZGVyL3RlbXBsYXRlIGRvY3VtZW50XG4tIENvbnRhaW5zIExvcmVtIGlwc3VtIGR1bW15IHRleHQgKG11bHRpcGxlIHBhcmFncmFwaHMpXG4tIFVzZWQgZm9yIGxheW91dCBhbmQgZGVzaWduIHRlc3RpbmcgcHVycG9zZXNcbi0gTm8gc3Vic3RhbnRpdmUgaW5mb3JtYXRpb24gb3IgcmVhbCBjb250ZW50XG4tIFN0YW5kYXJkIGZvcm1hdHRpbmcgd2l0aCB0aXRsZSwgc3VidGl0bGUsIGFuZCBib2R5IHRleHRcblxuLS0tXG5cbiMjIE92ZXJhbGwgQXNzZXNzbWVudFxuVGhlc2UgZmlsZXMgYXBwZWFyIHRvIGJlICoqc2FtcGxlL3RlbXBsYXRlIGFzc2V0cyoqLCBsaWtlbHkgdXNlZCBmb3I6XG4tIERlc2lnbiBkZW1vbnN0cmF0aW9uc1xuLSBEb2N1bWVudCBsYXlvdXQgdGVzdGluZ1xuLSBQb3J0Zm9saW8gZXhhbXBsZXNcbi0gRGV2ZWxvcG1lbnQvdGVzdGluZyBwdXJwb3Nlc1xuXG5OZWl0aGVyIGZpbGUgY29udGFpbnMgbWVhbmluZ2Z1bCBidXNpbmVzcyBvciBpbmZvcm1hdGlvbmFsIGNvbnRlbnTigJRib3RoIGFyZSBnZW5lcmljIHBsYWNlaG9sZGVyIG1hdGVyaWFscyBjb21tb25seSB1c2VkIGluIGRlc2lnbiBhbmQgZGV2ZWxvcG1lbnQgd29ya2Zsb3dzLiJ9XSwic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGwsInVzYWdlIjp7ImlucHV0X3Rva2VucyI6MjcwNiwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjIyMSwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== + recorded_at: Sun, 15 Feb 2026 07:59:35 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_handles_multiple_pdfs.yml b/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_handles_multiple_pdfs.yml index ca90da3a8..a99083532 100644 --- a/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_handles_multiple_pdfs.yml +++ b/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_handles_multiple_pdfs.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:51:16 GMT + - Sun, 15 Feb 2026 07:59:27 GMT Content-Type: - application/json Transfer-Encoding: @@ -36,27 +36,27 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Limit: - '450000' Anthropic-Ratelimit-Input-Tokens-Remaining: - - '448000' + - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:51:15Z' + - '2026-02-15T07:59:25Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:51:16Z' + - '2026-02-15T07:59:26Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:51:14Z' + - '2026-02-15T07:59:24Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - - '538000' + - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:51:15Z' + - '2026-02-15T07:59:25Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '2480' + - '2562' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,16 +77,15 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01MYrnm2Eyt6G45JqpdDMqu8","type":"message","role":"assistant","content":[{"type":"text","text":"# + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01AMkZCbbDtrSfNw7kg6dmrs","type":"message","role":"assistant","content":[{"type":"text","text":"# Document Comparison\n\n## Summary\nThese two PDF documents are **identical**. - They contain the same content with no differences.\n\n## Details\n\n**Common - Elements:**\n- Same title: \"Sample PDF\"\n- Same subtitle: \"This is a simple - PDF file. Fun fun fun.\"\n- Identical Lorem Ipsum placeholder text across - all four paragraphs\n- Same layout and formatting\n- Same visual design (including - the outlined \"Sample PDF\" heading graphic)\n\n**Conclusion:**\nDocument - 1 and Document 2 are exact duplicates. There are no variations in text content, - structure, or presentation between them."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":5341,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":135,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + There are no differences between them.\n\n## Details\n\nBoth documents contain:\n- + **Title:** \"Sample PDF\"\n- **Subtitle:** \"This is a simple PDF file. Fun + fun fun.\"\n- **Content:** Four paragraphs of Lorem Ipsum placeholder text\n- + **Layout:** Same formatting and structure\n- **Length:** Same amount of text + across both pages\n\n## Conclusion\nDocument 1 and Document 2 are exact duplicates + with no variations in text, formatting, or content."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":5341,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":127,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:27 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -95,13 +94,12 @@ http_interactions: string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Compare these documents"},{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":"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ZXNjZW50IC0yMTMgL0ZsYWdzIDk2Ci9Gb250QkJveCBbLTQwOSAtMjE0IDEwOTkgOTUxXSAvRm9udE5hbWUgL1BVQUxYQStIZWx2ZXRpY2FOZXVlLUxpZ2h0SXRhbGljCi9JdGFsaWNBbmdsZSAtMTIgL1N0ZW1WIDY3IC9MZWFkaW5nIDI4IC9NYXhXaWR0aCAxMTIwIC9TdGVtSCA1OCAvWEhlaWdodCA1MjQKL0ZvbnRGaWxlMiAyMiAwIFIgPj4KZW5kb2JqCjI1IDAgb2JqClsgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDY4NSAwIDUzNyAwIDAgMCAwIDAgMCAwIDAgMCA2MzAgMCAwIDAgNTU2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDUxOQowIDAgMCA1MTkgMjU5IDAgNTM3IDE4NSAwIDAgMTg1IDgzMyA1MzcgMCA1NzQgMCAwIDQ4MSAwIDUzNyAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDQ0IF0KZW5kb2JqCjkgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvUFVBTFhBK0hlbHZldGljYU5ldWUtTGlnaHRJdGFsaWMKL0ZvbnREZXNjcmlwdG9yIDI0IDAgUiAvV2lkdGhzIDI1IDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAyMjIgL0VuY29kaW5nCi9NYWNSb21hbkVuY29kaW5nID4+CmVuZG9iagoxIDAgb2JqCjw8IC9UaXRsZSAoc2FtcGxlKSAvQXV0aG9yIChQaGlsaXAgSHV0Y2hpc29uKSAvQ3JlYXRvciAoUGFnZXMpIC9Qcm9kdWNlciAoTWFjIE9TIFggMTAuNS40IFF1YXJ0eiBQREZDb250ZXh0KQovQ3JlYXRpb25EYXRlIChEOjIwMDgwNzAxMDUyNDQ3WjAwJzAwJykgL01vZERhdGUgKEQ6MjAwODA3MDEwNTI0NDdaMDAnMDAnKQo+PgplbmRvYmoKeHJlZgowIDI2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxNzkzMCAwMDAwMCBuIAowMDAwMDAzOTgyIDAwMDAwIG4gCjAwMDAwMDUwNzMgMDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAzOTYyIDAwMDAwIG4gCjAwMDAwMDQwODYgMDAwMDAgbiAKMDAwMDAwNTAzNyAwMDAwMCBuIAowMDAwMDA3OTU3IDAwMDAwIG4gCjAwMDAwMTc3NDAgMDAwMDAgbiAKMDAwMDAxMzY5MiAwMDAwMCBuIAowMDAwMDA0MjA5IDAwMDAwIG4gCjAwMDAwMDUwMTcgMDAwMDAgbiAKMDAwMDAwNTE1NiAwMDAwMCBuIAowMDAwMDA1MjA2IDAwMDAwIG4gCjAwMDAwMDc0NzIgMDAwMDAgbiAKMDAwMDAwNzQ5MyAwMDAwMCBuIAowMDAwMDA3NzU1IDAwMDAwIG4gCjAwMDAwMDgxNDYgMDAwMDAgbiAKMDAwMDAxMzE0NiAwMDAwMCBuIAowMDAwMDEzMTY3IDAwMDAwIG4gCjAwMDAwMTM0MjQgMDAwMDAgbiAKMDAwMDAxMzg3NyAwMDAwMCBuIAowMDAwMDE3MDE2IDAwMDAwIG4gCjAwMDAwMTcwMzcgMDAwMDAgbiAKMDAwMDAxNzMwMiAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI2IC9Sb290IDEzIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8NGU5NDk1MTVhYWYxMzI0OThmNjUwZTdiZGU2Y2RjMmY+Cjw0ZTk0OTUxNWFhZjEzMjQ5OGY2NTBlN2JkZTZjZGMyZj4gXSA+PgpzdGFydHhyZWYKMTgxMzIKJSVFT0YK"}},{"type":"document","source":{"type":"url","url":"https://pdfobject.com/pdf/sample.pdf"}}]},{"role":"assistant","content":[{"type":"text","text":"# Document Comparison\n\n## Summary\nThese two PDF documents are **identical**. - They contain the same content with no differences.\n\n## Details\n\n**Common - Elements:**\n- Same title: \"Sample PDF\"\n- Same subtitle: \"This is a simple - PDF file. Fun fun fun.\"\n- Identical Lorem Ipsum placeholder text across - all four paragraphs\n- Same layout and formatting\n- Same visual design (including - the outlined \"Sample PDF\" heading graphic)\n\n**Conclusion:**\nDocument - 1 and Document 2 are exact duplicates. There are no variations in text content, - structure, or presentation between them."}]},{"role":"user","content":[{"type":"text","text":"go + There are no differences between them.\n\n## Details\n\nBoth documents contain:\n- + **Title:** \"Sample PDF\"\n- **Subtitle:** \"This is a simple PDF file. Fun + fun fun.\"\n- **Content:** Four paragraphs of Lorem Ipsum placeholder text\n- + **Layout:** Same formatting and structure\n- **Length:** Same amount of text + across both pages\n\n## Conclusion\nDocument 1 and Document 2 are exact duplicates + with no variations in text, formatting, or content."}]},{"role":"user","content":[{"type":"text","text":"go on"}]}],"stream":false,"max_tokens":64000}' headers: User-Agent: @@ -122,7 +120,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:51:21 GMT + - Sun, 15 Feb 2026 07:59:31 GMT Content-Type: - application/json Transfer-Encoding: @@ -132,27 +130,27 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Limit: - '450000' Anthropic-Ratelimit-Input-Tokens-Remaining: - - '450000' + - '448000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:51:18Z' + - '2026-02-15T07:59:28Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:51:21Z' + - '2026-02-15T07:59:31Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:51:17Z' + - '2026-02-15T07:59:27Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - - '540000' + - '538000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:51:18Z' + - '2026-02-15T07:59:28Z' Request-Id: - "" Strict-Transport-Security: @@ -162,7 +160,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '4274' + - '3814' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -173,25 +171,23 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_012RTv9pg8u1Bv9ZQM8kLpgL","type":"message","role":"assistant","content":[{"type":"text","text":"# - Extended Analysis\n\n## Detailed Content Breakdown\n\n### Structure\nBoth - documents follow an identical organizational pattern:\n1. **Header**: \"Sample - PDF\" (styled outline text)\n2. **Subtitle**: Italicized descriptor with emphasis - on \"Fun fun fun\"\n3. **Body**: Four distinct paragraphs of Lorem Ipsum text\n\n### - Paragraph-by-Paragraph Comparison\n\n**Paragraph 1:**\n- Begins with \"Lorem - ipsum dolor sit amet...\"\n- Contains Latin placeholder text\n- Ends with - \"...pulvinar quis, nisl.\"\n- **Status**: Identical in both documents\n\n**Paragraph - 2:**\n- Starts with \"Pellentesque sit amet lectus...\"\n- Mid-length paragraph - with varied sentence structure\n- Concludes with \"...Aenean pellentesque.\"\n- - **Status**: Identical in both documents\n\n**Paragraph 3:**\n- Opens with - \"In mauris...\"\n- Longest paragraph with extensive Lorem Ipsum content\n- - Ends with \"...Sed sollicitudin dui vitae justo.\"\n- **Status**: Identical - in both documents\n\n**Paragraph 4:**\n- Begins with \"Morbi elit nunc...\"\n- - Final concluding paragraph\n- Terminates with \"...commodo at, quam.\"\n- - **Status**: Identical in both documents\n\n### Character Count & Formatting\n- - Identical character counts\n- Same font styling (mix of regular and italic - text)\n- Matching line breaks and spacing\n- Identical punctuation throughout\n\n## - Conclusion\nThere are **zero differences** between these documents at any - level of analysis."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":5481,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":365,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_015WKU4aT5NX1nLjmZ89sqrK","type":"message","role":"assistant","content":[{"type":"text","text":"# + Deeper Analysis\n\nSince the documents are identical at first glance, here + are additional observations:\n\n## Structural Elements\n- **Title formatting:** + Both use the same thin, sans-serif font styling for \"Sample PDF\"\n- **Subtitle + styling:** Both italicize \"This is a simple PDF file. Fun fun fun.\"\n- **Body + text:** Standard paragraph breaks in the same locations\n- **Spacing:** Identical + margins and line spacing throughout\n\n## Content Breakdown\nBoth documents + contain:\n- **4 main paragraphs** of Lorem Ipsum text\n- **Total word count:** + Approximately 500+ words\n- **No headers, footers, or page numbers**\n- **No + images except the title graphic**\n\n## Possible Use Cases\nThese could be:\n1. + **Test documents** for PDF comparison tools\n2. **Template duplicates** created + during file management\n3. **Backup copies** of the same original\n4. **Version + control test** where no changes were made\n5. **Document verification samples** + to test identical file detection\n\n## What Would Make Them Different?\nIf + there were variations, they could include:\n- Spelling changes or typos\n- + Font or color modifications\n- Added/removed paragraphs\n- Metadata differences + (creation date, author)\n- File size variations\n\n**Is there a specific aspect + you''d like me to analyze further?**"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":5473,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":305,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:31 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_understands_pdfs.yml b/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_understands_pdfs.yml index a4fae3282..fa8b58401 100644 --- a/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_understands_pdfs.yml +++ b/spec/fixtures/vcr_cassettes/chat_pdf_models_anthropic_claude-haiku-4-5_understands_pdfs.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:51:09 GMT + - Sun, 15 Feb 2026 07:59:19 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '448000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:51:08Z' + - '2026-02-15T07:59:17Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:51:09Z' + - '2026-02-15T07:59:19Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:51:07Z' + - '2026-02-15T07:59:17Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '538000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:51:08Z' + - '2026-02-15T07:59:17Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '2179' + - '2206' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -78,8 +78,8 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMVdHVnMzUmlBejhlVlVISEs5cVZDUE0iLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIFN1bW1hcnlcblxuVGhpcyBpcyBhIHNpbXBsZSBzYW1wbGUgUERGIGRvY3VtZW50IHRpdGxlZCBcIlNhbXBsZSBQREZcIiB3aXRoIHRoZSBzdWJ0aXRsZSBcIlRoaXMgaXMgYSBzaW1wbGUgUERGIGZpbGUuIEZ1biBmdW4gZnVuLlwiXG5cblRoZSBkb2N1bWVudCBjb250YWlucyBwcmltYXJpbHkgKipwbGFjZWhvbGRlciB0ZXh0IChMb3JlbSBJcHN1bSkqKiDigJQgZHVtbXkgdGV4dCBjb21tb25seSB1c2VkIGluIGRlc2lnbiBhbmQgcHVibGlzaGluZyB0byBmaWxsIHNwYWNlLiBUaGUgY29udGVudCBjb25zaXN0cyBvZiBtdWx0aXBsZSBwYXJhZ3JhcGhzIG9mIExhdGluLWRlcml2ZWQgZmlsbGVyIHRleHQgd2l0aCBubyBtZWFuaW5nZnVsIGluZm9ybWF0aW9uIG9yIHNwZWNpZmljIHN1YmplY3QgbWF0dGVyLlxuXG4qKktleSB0YWtlYXdheToqKiBUaGlzIGlzIGEgZGVtb25zdHJhdGlvbiBvciB0ZW1wbGF0ZSBQREYgd2l0aCBubyBzdWJzdGFudGl2ZSBjb250ZW50LCB1c2VkIG9ubHkgYXMgYW4gZXhhbXBsZSBmaWxlLiJ9XSwic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGwsInVzYWdlIjp7ImlucHV0X3Rva2VucyI6MjY3OCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjExMCwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUNMVHlXWmgyVXJSdjlwaXdDRnJwZU4iLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIFN1bW1hcnlcblxuVGhpcyBpcyBhIHNhbXBsZSBQREYgZG9jdW1lbnQgdGl0bGVkIFwiU2FtcGxlIFBERlwiIHRoYXQgY29udGFpbnMgcGxhY2Vob2xkZXIgdGV4dC4gVGhlIGRvY3VtZW50IGNvbnNpc3RzIHByaW1hcmlseSBvZiAqKkxvcmVtIElwc3VtIHRleHQqKuKAlHN0YW5kYXJkIGR1bW15IGNvbnRlbnQgY29tbW9ubHkgdXNlZCBpbiBkZXNpZ24gYW5kIHB1Ymxpc2hpbmcgdG8gZGVtb25zdHJhdGUgbGF5b3V0IGFuZCBmb3JtYXR0aW5nIHdpdGhvdXQgbWVhbmluZ2Z1bCBjb250ZW50LlxuXG5UaGUgZG9jdW1lbnQgaW5jbHVkZXM6XG4tIEEgdGl0bGU6IFwiU2FtcGxlIFBERlwiXG4tIEEgc3VidGl0bGU6IFwiVGhpcyBpcyBhIHNpbXBsZSBQREYgZmlsZS4gRnVuIGZ1biBmdW4uXCJcbi0gRm91ciBwYXJhZ3JhcGhzIG9mIExvcmVtIElwc3VtIHBsYWNlaG9sZGVyIHRleHQgY292ZXJpbmcgdmFyaW91cyBMYXRpbi1kZXJpdmVkIHdvcmRzIGFuZCBwaHJhc2VzXG5cbioqS2V5IFBvaW50OioqIFRoaXMgaXMgYSBkZW1vbnN0cmF0aW9uL3RlbXBsYXRlIGRvY3VtZW50IHdpdGggbm8gYWN0dWFsIHN1YnN0YW50aXZlIGluZm9ybWF0aW9u4oCUaXQgZXhpc3RzIHNvbGVseSB0byBzaG93IHRoZSBzdHJ1Y3R1cmUgYW5kIGFwcGVhcmFuY2Ugb2YgYSBQREYgZmlsZS4ifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjI2NzgsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjoxMzYsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= + recorded_at: Sun, 15 Feb 2026 07:59:19 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -87,13 +87,15 @@ http_interactions: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Summarize this document"},{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":"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ZXNjZW50IC0yMTMgL0ZsYWdzIDk2Ci9Gb250QkJveCBbLTQwOSAtMjE0IDEwOTkgOTUxXSAvRm9udE5hbWUgL1BVQUxYQStIZWx2ZXRpY2FOZXVlLUxpZ2h0SXRhbGljCi9JdGFsaWNBbmdsZSAtMTIgL1N0ZW1WIDY3IC9MZWFkaW5nIDI4IC9NYXhXaWR0aCAxMTIwIC9TdGVtSCA1OCAvWEhlaWdodCA1MjQKL0ZvbnRGaWxlMiAyMiAwIFIgPj4KZW5kb2JqCjI1IDAgb2JqClsgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDY4NSAwIDUzNyAwIDAgMCAwIDAgMCAwIDAgMCA2MzAgMCAwIDAgNTU2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDUxOQowIDAgMCA1MTkgMjU5IDAgNTM3IDE4NSAwIDAgMTg1IDgzMyA1MzcgMCA1NzQgMCAwIDQ4MSAwIDUzNyAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDQ0IF0KZW5kb2JqCjkgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvUFVBTFhBK0hlbHZldGljYU5ldWUtTGlnaHRJdGFsaWMKL0ZvbnREZXNjcmlwdG9yIDI0IDAgUiAvV2lkdGhzIDI1IDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAyMjIgL0VuY29kaW5nCi9NYWNSb21hbkVuY29kaW5nID4+CmVuZG9iagoxIDAgb2JqCjw8IC9UaXRsZSAoc2FtcGxlKSAvQXV0aG9yIChQaGlsaXAgSHV0Y2hpc29uKSAvQ3JlYXRvciAoUGFnZXMpIC9Qcm9kdWNlciAoTWFjIE9TIFggMTAuNS40IFF1YXJ0eiBQREZDb250ZXh0KQovQ3JlYXRpb25EYXRlIChEOjIwMDgwNzAxMDUyNDQ3WjAwJzAwJykgL01vZERhdGUgKEQ6MjAwODA3MDEwNTI0NDdaMDAnMDAnKQo+PgplbmRvYmoKeHJlZgowIDI2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAxNzkzMCAwMDAwMCBuIAowMDAwMDAzOTgyIDAwMDAwIG4gCjAwMDAwMDUwNzMgMDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAzOTYyIDAwMDAwIG4gCjAwMDAwMDQwODYgMDAwMDAgbiAKMDAwMDAwNTAzNyAwMDAwMCBuIAowMDAwMDA3OTU3IDAwMDAwIG4gCjAwMDAwMTc3NDAgMDAwMDAgbiAKMDAwMDAxMzY5MiAwMDAwMCBuIAowMDAwMDA0MjA5IDAwMDAwIG4gCjAwMDAwMDUwMTcgMDAwMDAgbiAKMDAwMDAwNTE1NiAwMDAwMCBuIAowMDAwMDA1MjA2IDAwMDAwIG4gCjAwMDAwMDc0NzIgMDAwMDAgbiAKMDAwMDAwNzQ5MyAwMDAwMCBuIAowMDAwMDA3NzU1IDAwMDAwIG4gCjAwMDAwMDgxNDYgMDAwMDAgbiAKMDAwMDAxMzE0NiAwMDAwMCBuIAowMDAwMDEzMTY3IDAwMDAwIG4gCjAwMDAwMTM0MjQgMDAwMDAgbiAKMDAwMDAxMzg3NyAwMDAwMCBuIAowMDAwMDE3MDE2IDAwMDAwIG4gCjAwMDAwMTcwMzcgMDAwMDAgbiAKMDAwMDAxNzMwMiAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI2IC9Sb290IDEzIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8NGU5NDk1MTVhYWYxMzI0OThmNjUwZTdiZGU2Y2RjMmY+Cjw0ZTk0OTUxNWFhZjEzMjQ5OGY2NTBlN2JkZTZjZGMyZj4gXSA+PgpzdGFydHhyZWYKMTgxMzIKJSVFT0YK"}}]},{"role":"assistant","content":[{"type":"text","text":"# - Summary\n\nThis is a simple sample PDF document titled \"Sample PDF\" with - the subtitle \"This is a simple PDF file. Fun fun fun.\"\n\nThe document contains - primarily **placeholder text (Lorem Ipsum)** — dummy text commonly used in - design and publishing to fill space. The content consists of multiple paragraphs - of Latin-derived filler text with no meaningful information or specific subject - matter.\n\n**Key takeaway:** This is a demonstration or template PDF with - no substantive content, used only as an example file."}]},{"role":"user","content":[{"type":"text","text":"go + Summary\n\nThis is a sample PDF document titled \"Sample PDF\" that contains + placeholder text. The document consists primarily of **Lorem Ipsum text**—standard + dummy content commonly used in design and publishing to demonstrate layout + and formatting without meaningful content.\n\nThe document includes:\n- A + title: \"Sample PDF\"\n- A subtitle: \"This is a simple PDF file. Fun fun + fun.\"\n- Four paragraphs of Lorem Ipsum placeholder text covering various + Latin-derived words and phrases\n\n**Key Point:** This is a demonstration/template + document with no actual substantive information—it exists solely to show the + structure and appearance of a PDF file."}]},{"role":"user","content":[{"type":"text","text":"go on"}]}],"stream":false,"max_tokens":64000}' headers: User-Agent: @@ -114,7 +116,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:51:13 GMT + - Sun, 15 Feb 2026 07:59:24 GMT Content-Type: - application/json Transfer-Encoding: @@ -126,25 +128,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '448000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:51:10Z' + - '2026-02-15T07:59:20Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:51:13Z' + - '2026-02-15T07:59:24Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:51:10Z' + - '2026-02-15T07:59:19Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '538000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:51:10Z' + - '2026-02-15T07:59:20Z' Request-Id: - "" Strict-Transport-Security: @@ -154,7 +156,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '4029' + - '4421' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -165,7 +167,23 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUZZdkZrSnRqWHVMSHNTOGZlb0JxakYiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIEV4dGVuZGVkIFN1bW1hcnlcblxuU2luY2UgdGhlIGRvY3VtZW50IGNvbnNpc3RzIGVudGlyZWx5IG9mIExvcmVtIElwc3VtIHBsYWNlaG9sZGVyIHRleHQsIHRoZXJlIGlzIGxpbWl0ZWQgc3Vic3RhbnRpdmUgaW5mb3JtYXRpb24gdG8gZXhwYW5kIHVwb24uIEhvd2V2ZXIsIGhlcmUgYXJlIGFkZGl0aW9uYWwgb2JzZXJ2YXRpb25zOlxuXG4jIyBDb250ZW50IFN0cnVjdHVyZVxuLSAqKlRpdGxlIFBhZ2UqKjogRmVhdHVyZXMgdGhlIGhlYWRpbmcgXCJTYW1wbGUgUERGXCIgaW4gYSBsaWdodCwgb3V0bGluZWQgZm9udCBzdHlsZVxuLSAqKlN1YnRpdGxlKio6IFwiVGhpcyBpcyBhIHNpbXBsZSBQREYgZmlsZS4gRnVuIGZ1biBmdW4uXCIg4oCUIHN1Z2dlc3RzIHRoaXMgaXMgYSBiYXNpYywgbm9uLXNlcmlvdXMgZXhhbXBsZSBkb2N1bWVudFxuLSAqKkJvZHkgVGV4dCoqOiBGb3VyIHN1YnN0YW50aWFsIHBhcmFncmFwaHMgb2YgTG9yZW0gSXBzdW0gdGV4dCwgZm9ybWF0dGVkIGluIGEgc3RhbmRhcmQgc2Fucy1zZXJpZiBmb250XG5cbiMjIFB1cnBvc2VcblRoaXMgYXBwZWFycyB0byBiZSBhICoqdGVtcGxhdGUgb3IgdGVzdCBmaWxlKiosIGNvbW1vbmx5IHVzZWQgZm9yOlxuLSBUZXN0aW5nIFBERiB2aWV3ZXJzIG9yIGNvbnZlcnNpb24gdG9vbHNcbi0gRGVtb25zdHJhdGluZyBkb2N1bWVudCBmb3JtYXR0aW5nXG4tIFBsYWNlaG9sZGVyIGNvbnRlbnQgaW4gZGVzaWduIG1vY2t1cHNcbi0gRWR1Y2F0aW9uYWwgZXhhbXBsZXMgZm9yIFBERiBjcmVhdGlvblxuXG4jIyBDb250ZW50IENoYXJhY3RlcmlzdGljc1xuLSAqKkxhbmd1YWdlKio6IExvcmVtIElwc3VtIChwc2V1ZG8tTGF0aW4gcGxhY2Vob2xkZXIgdGV4dClcbi0gKipMZW5ndGgqKjogQXBwcm94aW1hdGVseSA0MDAtNTAwIHdvcmRzXG4tICoqQWN0dWFsIEluZm9ybWF0aW9uIFZhbHVlKio6IE5vbmUg4oCUIHB1cmVseSBkZWNvcmF0aXZlL3N0cnVjdHVyYWxcblxuIyMgQ29uY2x1c2lvblxuVGhpcyBpcyBhICoqbWluaW1hbCwgZXhhbXBsZSBQREYqKiB3aXRoIG5vIHJlYWwgZGF0YSwgbWVzc2FnaW5nLCBvciBhY3Rpb25hYmxlIGNvbnRlbnQuIEl0IHNlcnZlcyBvbmx5IGFzIGEgZGVtb25zdHJhdGlvbiBvZiBQREYgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nIGNhcGFiaWxpdGllcy4ifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjI3OTMsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjoyNTIsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01APuUTDiuxNgTkPSMB81uJN","type":"message","role":"assistant","content":[{"type":"text","text":"# + Extended Summary\n\nSince this is a sample/template document, there isn''t + much more substantive content to analyze. However, here are additional observations:\n\n## + Document Characteristics:\n\n**Structure:**\n- Simple, single-page layout\n- + Clean formatting with clear title hierarchy\n- Organized into distinct text + blocks/paragraphs\n- Includes both visual design (title styling) and body + text\n\n**Content Analysis:**\n- The Lorem Ipsum text spans approximately + 4 substantial paragraphs\n- No actual data, figures, tables, or meaningful + information\n- No headers, subheadings, or organizational sections beyond + the title\n- No images, charts, or visual elements (aside from typography)\n\n**Purpose:**\n- + Likely created as a test file or template\n- Used to demonstrate PDF generation, + viewing, or formatting capabilities\n- Common for software testing, documentation + templates, or educational purposes\n\n**Practical Use:**\n- This type of placeholder + document is standard in web design, software development, and publishing\n- + Allows designers to focus on layout without being distracted by content\n- + Useful for testing PDF readers, printers, and document management systems\n\n**Bottom + Line:** This is a basic, generic sample document with no actionable information + or specific purpose beyond demonstrating PDF file format and basic text layout."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":2819,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":279,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:24 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_anthropic_claude-haiku-4-5_handles_context_length_exceeded_errors.yml b/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_anthropic_claude-haiku-4-5_handles_context_length_exceeded_errors.yml index bcaeaeaaa..95bea31cd 100644 --- a/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_anthropic_claude-haiku-4-5_handles_context_length_exceeded_errors.yml +++ b/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_anthropic_claude-haiku-4-5_handles_context_length_exceeded_errors.yml @@ -25,7 +25,7 @@ http_interactions: message: Too Many Requests headers: Date: - - Tue, 10 Feb 2026 08:55:22 GMT + - Sun, 15 Feb 2026 07:59:42 GMT Content-Type: - application/json Content-Length: @@ -33,7 +33,7 @@ http_interactions: Connection: - keep-alive X-Should-Retry: - - 'true' + - 'false' Anthropic-Ratelimit-Input-Tokens-Limit: - '450000' Anthropic-Ratelimit-Input-Tokens-Remaining: @@ -51,9 +51,7 @@ http_interactions: Anthropic-Ratelimit-Requests-Remaining: - '1000' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:55:22Z' - Retry-After: - - '41' + - '2026-02-15T07:59:42Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: @@ -69,7 +67,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '322' + - '114' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -82,11 +80,11 @@ http_interactions: encoding: UTF-8 string: '{"type":"error","error":{"type":"rate_limit_error","message":"This request would exceed your organization''s rate limit of 450,000 input tokens - per minute (org: 0137b15c-16bf-490d-9f90-8cfd7e325ec0, model: claude-haiku-4-5-20251001). + per minute (org: 4084416a-aecd-4595-8e44-5545c07cca73, model: claude-haiku-4-5-20251001). For details, refer to: https://docs.claude.com/en/api/rate-limits. You can see the response headers for current usage. Please reduce the prompt length or the maximum tokens requested, or try again later. You may also contact sales at https://www.anthropic.com/contact-sales to discuss your options for - a rate limit increase."},"request_id":"req_011CXz7Eb8yA2uD5ksbePfx8"}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + a rate limit increase."},"request_id":"req_011CY9W2y5D1dSc6V4nKUjzn"}' + recorded_at: Sun, 15 Feb 2026 07:59:42 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_reports_consistent_token_counts_compared_to_non-streaming.yml b/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_reports_consistent_token_counts_compared_to_non-streaming.yml index 3460db926..96f99b740 100644 --- a/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_reports_consistent_token_counts_compared_to_non-streaming.yml +++ b/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_reports_consistent_token_counts_compared_to_non-streaming.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:03:54 GMT + - Sun, 15 Feb 2026 08:00:10 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -40,25 +40,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:03:54Z' + - '2026-02-15T08:00:10Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:03:54Z' + - '2026-02-15T08:00:10Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:03:54Z' + - '2026-02-15T08:00:10Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:03:54Z' + - '2026-02-15T08:00:10Z' Request-Id: - "" Strict-Transport-Security: @@ -68,7 +68,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '553' + - '344' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -81,27 +81,27 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_016TmBqEPJJTdsKnKsuHwiza","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01LePod1srQfSKvNwESsEMWX","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1\n2\n3"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1\n2\n3"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":9} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":9} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop"} - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:10 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -128,7 +128,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:03:55 GMT + - Sun, 15 Feb 2026 08:00:11 GMT Content-Type: - application/json Transfer-Encoding: @@ -140,25 +140,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:03:55Z' + - '2026-02-15T08:00:11Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:03:55Z' + - '2026-02-15T08:00:11Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:03:55Z' + - '2026-02-15T08:00:11Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:03:55Z' + - '2026-02-15T08:00:11Z' Request-Id: - "" Strict-Transport-Security: @@ -168,7 +168,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '557' + - '524' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -179,7 +179,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01NXNJPsSa9yuRN3PDLT1PDC","type":"message","role":"assistant","content":[{"type":"text","text":"1\n2\n3"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":9,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_013z1DpudvrTuRXsAJHQmMyL","type":"message","role":"assistant","content":[{"type":"text","text":"1\n2\n3"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":9,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 08:00:11 GMT recorded_with: VCR 6.4.0 ... diff --git a/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_supports_streaming_responses.yml b/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_supports_streaming_responses.yml index ef9d93fe3..f4adbcb41 100644 --- a/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_supports_streaming_responses.yml +++ b/spec/fixtures/vcr_cassettes/chat_streaming_responses_anthropic_claude-haiku-4-5_supports_streaming_responses.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:03:53 GMT + - Sun, 15 Feb 2026 08:00:09 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -40,25 +40,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:03:53Z' + - '2026-02-15T08:00:09Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:03:53Z' + - '2026-02-15T08:00:09Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:03:53Z' + - '2026-02-15T08:00:09Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:03:53Z' + - '2026-02-15T08:00:09Z' Request-Id: - "" Strict-Transport-Security: @@ -68,7 +68,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '398' + - '487' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -81,29 +81,29 @@ http_interactions: encoding: UTF-8 string: |+ event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_018DdRGL4AjBh7gLcUeJc4y4","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01JuHNktfDKoDCZRQBRD5Jw7","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1"} } event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n2\n3"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n2\n3"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":9} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":15,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":9} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:09 GMT recorded_with: VCR 6.4.0 ... diff --git a/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_remote_text.yml b/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_remote_text.yml index 678bb0427..7d90c3b6f 100644 --- a/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_remote_text.yml +++ b/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_remote_text.yml @@ -35,33 +35,33 @@ http_interactions: Etag: - W/"698a7255-9c6" Expires: - - Tue, 10 Feb 2026 05:41:29 GMT + - Sun, 15 Feb 2026 08:00:33 GMT Cache-Control: - max-age=600 X-Proxy-Cache: - MISS X-Github-Request-Id: - - DA8F:2A47E2:A980F3:B16D78:698AC2B0 + - 156D:3CEE9:2DC0907:2E323E7:69917AC8 Accept-Ranges: - bytes + Age: + - '0' Date: - - Tue, 10 Feb 2026 08:46:17 GMT + - Sun, 15 Feb 2026 07:59:05 GMT Via: - 1.1 varnish - Age: - - '0' X-Served-By: - - cache-bkk2310020-BKK + - cache-mrs10521-MRS X-Cache: - HIT X-Cache-Hits: - '0' X-Timer: - - S1770713177.447929,VS0,VE283 + - S1771142345.295579,VS0,VE118 Vary: - Accept-Encoding X-Fastly-Request-Id: - - e4efb838d323e8b0a5f4e527b2dc806d38dc1c4c + - b1c763a0fb6fa3456ae6148d018f43a31dab1eee body: encoding: ASCII-8BIT string: "Ruby is copyrighted free software by Yukihiro Matsumoto .\nYou @@ -97,7 +97,7 @@ http_interactions: \"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: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 07:59:05 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -157,7 +157,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:46:21 GMT + - Sun, 15 Feb 2026 07:59:08 GMT Content-Type: - application/json Transfer-Encoding: @@ -169,25 +169,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:46:18Z' + - '2026-02-15T07:59:05Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:46:21Z' + - '2026-02-15T07:59:09Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:46:18Z' + - '2026-02-15T07:59:05Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:46:18Z' + - '2026-02-15T07:59:05Z' Request-Id: - "" Strict-Transport-Security: @@ -197,7 +197,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '3200' + - '3291' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -208,21 +208,21 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01HeZP6nUTKW5bdEsEtz5UU6","type":"message","role":"assistant","content":[{"type":"text","text":"# - Ruby License File\n\nThis is the **license agreement for the Ruby programming - language**, copyrighted by Yukihiro Matsumoto (Ruby''s creator).\n\n## Key - Points:\n\n**License Options:**\n- You can use either the 2-clause BSD License - (BSDL) OR the custom terms listed in this file\n\n**What You Can Do:**\n1. - **Redistribute** the source code freely with original copyright notices\n2. - **Modify** the software if you:\n - Release modifications publicly, OR\n - - Use them only internally, OR\n - Distribute with clear instructions on getting - the original, OR\n - Make other arrangements with the author\n\n3. **Distribute - binaries** if you provide source code or instructions to get it\n4. **Include - Ruby in other software** (even commercial), though some files may have different - terms (see LEGAL file)\n5. **Scripts/outputs** you create aren''t automatically - under Ruby''s copyright\n\n**Important Disclaimers:**\n- The software is provided - \"AS IS\" with **no warranties** (including fitness for a particular purpose)\n\nThis - is a relatively **permissive open-source license** that allows commercial - use with few restrictions."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":588,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":264,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01L4kYXgAUune6eqsivngiMR","type":"message","role":"assistant","content":[{"type":"text","text":"# + Ruby License File\n\nThis is the **license.txt** file for Ruby, the programming + language created by Yukihiro Matsumoto.\n\n## Key Points:\n\n**License Options:**\n- + Ruby can be used under either the 2-clause BSD License (BSDL) OR the custom + terms listed in this document\n\n**Main Permissions:**\n1. **Free distribution** + of source code with original copyright notices intact\n2. **Modification allowed** + if you:\n - Release modifications publicly, OR\n - Use them only internally, + OR\n - Distribute modified binaries with clear labeling, OR\n - Make other + arrangements with the author\n\n3. **Binary distribution** permitted if you + provide source code access or clear instructions on obtaining the original\n\n4. + **Commercial use** allowed - can incorporate Ruby into other software\n\n5. + **User-generated content** is not automatically covered by Ruby''s copyright + - scripts and output belong to whoever created them\n\n**Disclaimer:**\n- + The software is provided \"AS IS\" with no warranties (no guarantees of merchantability + or fitness for a particular purpose)\n\nThis is a relatively permissive open-source + license that allows both free and commercial use with minimal restrictions."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":588,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":262,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:09 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_text.yml b/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_text.yml index a31e33a72..46266a644 100644 --- a/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_text.yml +++ b/spec/fixtures/vcr_cassettes/chat_text_models_anthropic_claude-haiku-4-5_can_understand_text.yml @@ -27,7 +27,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:46:15 GMT + - Sun, 15 Feb 2026 07:59:03 GMT Content-Type: - application/json Transfer-Encoding: @@ -39,25 +39,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:46:14Z' + - '2026-02-15T07:59:03Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:46:14Z' + - '2026-02-15T07:59:03Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:46:14Z' + - '2026-02-15T07:59:02Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:46:14Z' + - '2026-02-15T07:59:03Z' Request-Id: - "" Strict-Transport-Security: @@ -67,7 +67,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '796' + - '822' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -78,11 +78,11 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01NMUWomYT3ZkSMDS2FTM3cN","type":"message","role":"assistant","content":[{"type":"text","text":"This - file contains the simple text statement:\n\n**\"Ruby is the best.\"**\n\nIt''s - a plain text file with a single sentence expressing a positive opinion about - Ruby (likely referring to the Ruby programming language)."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":36,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":46,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_016owM2dc7koc83jiB6TV7BH","type":"message","role":"assistant","content":[{"type":"text","text":"The + file contains a simple statement: **\"Ruby is the best.\"**\n\nIt''s a plain + text file expressing a positive opinion about Ruby (likely referring to the + Ruby programming language)."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":36,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":40,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:03 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -90,10 +90,10 @@ http_interactions: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What''s in this file?"},{"type":"text","text":"Ruby - is the best."}]},{"role":"assistant","content":[{"type":"text","text":"This - file contains the simple text statement:\n\n**\"Ruby is the best.\"**\n\nIt''s - a plain text file with a single sentence expressing a positive opinion about - Ruby (likely referring to the Ruby programming language)."}]},{"role":"user","content":[{"type":"text","text":"and + is the best."}]},{"role":"assistant","content":[{"type":"text","text":"The + file contains a simple statement: **\"Ruby is the best.\"**\n\nIt''s a plain + text file expressing a positive opinion about Ruby (likely referring to the + Ruby programming language)."}]},{"role":"user","content":[{"type":"text","text":"and in this one?"},{"type":"text","text":"Ruby is the best"}]}],"stream":false,"max_tokens":64000}' headers: @@ -115,7 +115,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:46:17 GMT + - Sun, 15 Feb 2026 07:59:04 GMT Content-Type: - application/json Transfer-Encoding: @@ -127,25 +127,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:46:16Z' + - '2026-02-15T07:59:04Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:46:17Z' + - '2026-02-15T07:59:04Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:46:15Z' + - '2026-02-15T07:59:03Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:46:16Z' + - '2026-02-15T07:59:04Z' Request-Id: - "" Strict-Transport-Security: @@ -155,7 +155,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '1908' + - '955' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -166,11 +166,10 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01BgBVp98ApAfvQ5HSqyYdLi","type":"message","role":"assistant","content":[{"type":"text","text":"This - file contains XML markup with the same sentiment expressed in a structured - format:\n\n```xml\nRuby is the best\n```\n\nIt''s an XML - document with a single element called `` that contains the text \"Ruby - is the best\". The XML structure allows this data to be tagged and parsed - programmatically, unlike the plain text version."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":120,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":84,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01RRb7PNTYgMEST3cWS95Gxd","type":"message","role":"assistant","content":[{"type":"text","text":"This + file contains the same statement but formatted as XML. Specifically:\n\n- + **Root element:** ``\n- **Content:** \"Ruby is the best\"\n\nSo the + statement is wrapped in XML tags with a `` element, giving it structured + markup rather than being plain text."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":114,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":68,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:05 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_local_images.yml b/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_local_images.yml index f7367c6e9..a7fb10a64 100644 --- a/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_local_images.yml +++ b/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_local_images.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:48:34 GMT + - Sun, 15 Feb 2026 07:59:12 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:48:32Z' + - '2026-02-15T07:59:10Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:48:34Z' + - '2026-02-15T07:59:12Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:48:32Z' + - '2026-02-15T07:59:10Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:48:32Z' + - '2026-02-15T07:59:10Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '2389' + - '2600' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,15 +77,15 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_014jbVVQqbwVD3A4jGsGdKii","type":"message","role":"assistant","content":[{"type":"text","text":"# - Image Description\n\nThis is a **stylized 3D logo** featuring a geometric, - abstract design in shades of red. The design appears to be:\n\n- **Shape**: - A faceted, diamond-like or gem-like form with multiple angular surfaces\n- - **Color**: Deep red with lighter red/pink highlights that create dimension - and depth\n- **Style**: Modern, polished, and contemporary\n- **Lighting**: - The highlights suggest professional 3D rendering with strategic lighting to - emphasize the angular surfaces\n\nThe logo has a sleek, professional appearance - and could represent a brand, company, or application. It resembles the style - of software icons or corporate branding logos."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":43,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":145,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01AbrbtC4SHaLKBGVevs5qLU","type":"message","role":"assistant","content":[{"type":"text","text":"# + Image Analysis\n\nThis is a **red 3D geometric logo** featuring:\n\n- **Shape**: + An abstract, angular design made up of interconnected polygonal surfaces\n- + **Color**: Bright, deep red with lighter red/white highlights and shading\n- + **Style**: Modern, faceted, and crystalline appearance\n- **Design elements**: + The surfaces appear to fold and overlap, creating depth and dimension\n- **Surface + finish**: Glossy appearance with highlights suggesting a reflective, polished + material\n\nThe logo has a contemporary, tech-forward aesthetic and could + represent a brand in technology, software, or creative industries. The geometric + abstraction suggests concepts like innovation, transformation, or interconnectedness."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":43,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":150,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:12 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_remote_images_without_extension.yml b/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_remote_images_without_extension.yml index cf5ec3033..76be1c5fa 100644 --- a/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_remote_images_without_extension.yml +++ b/spec/fixtures/vcr_cassettes/chat_vision_models_anthropic_claude-haiku-4-5_can_understand_remote_images_without_extension.yml @@ -19,7 +19,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:48:36 GMT + - Sun, 15 Feb 2026 07:59:13 GMT Content-Type: - image/jpeg Content-Length: @@ -36,7 +36,7 @@ http_interactions: encoding: ASCII-8BIT string: !binary |- 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 - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 07:59:13 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -63,7 +63,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:48:40 GMT + - Sun, 15 Feb 2026 07:59:16 GMT Content-Type: - application/json Transfer-Encoding: @@ -75,25 +75,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:48:37Z' + - '2026-02-15T07:59:14Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:48:40Z' + - '2026-02-15T07:59:16Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:48:37Z' + - '2026-02-15T07:59:14Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:48:37Z' + - '2026-02-15T07:59:14Z' Request-Id: - "" Strict-Transport-Security: @@ -103,7 +103,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '3173' + - '2209' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -114,15 +114,16 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01ELnPBv7PDADLyo3syULRT1","type":"message","role":"assistant","content":[{"type":"text","text":"# - Image Description\n\nThis image shows a **coyote** (Canis latrans) walking - across sandy/dusty ground. The animal displays typical coyote characteristics:\n\n- - **Lean, slender build** with long, thin legs\n- **Grayish-brown fur** with - tan/cream coloring on the underside\n- **Pointed ears** and narrow snout\n- - **Bushy tail** held low\n- **Posture** suggesting stalking or hunting behavior\n\nThe - coyote appears to be in a natural desert or arid environment, captured during - daytime as evidenced by the clear shadows. This is a common habitat for coyotes, - which are highly adaptable predators found throughout North America. The photo - captures the animal''s characteristic cautious, purposeful movement."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":81,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":175,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_014PfH8FcETZoGuNyqzZGV3q","type":"message","role":"assistant","content":[{"type":"text","text":"# + Image Analysis\n\nThis image shows a **coyote** (Canis latrans) walking across + sandy/dusty ground. The animal displays typical coyote characteristics:\n\n- + **Lean, slender build** with long legs\n- **Grayish-tan coloring** with lighter + underside\n- **Pointed ears** and narrow snout\n- **Bushy tail**\n- **Cautious + posture** as it moves across open terrain\n\nThe coyote appears to be in a + natural or semi-arid habitat, moving across what looks like a sandy or rocky + surface. The photograph captures the animal in profile, showing its characteristic + gait and body structure. Coyotes are highly adaptable wild canids found throughout + North America, known for their intelligence and ability to thrive in diverse + environments."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":81,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":178,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:16 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_preserves_thinking_signatures_between_turns_when_provided.yml b/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_preserves_thinking_signatures_between_turns_when_provided.yml index aed5871a9..d1561719d 100644 --- a/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_preserves_thinking_signatures_between_turns_when_provided.yml +++ b/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_preserves_thinking_signatures_between_turns_when_provided.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:04:57 GMT + - Sun, 15 Feb 2026 08:00:26 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:04:56Z' + - '2026-02-15T08:00:26Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:04:57Z' + - '2026-02-15T08:00:26Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:04:56Z' + - '2026-02-15T08:00:26Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:04:56Z' + - '2026-02-15T08:00:26Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '719' + - '760' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,10 +77,10 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01LgbKQQRkLahSvfBq9p8qUd","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"This - is a simple arithmetic question. 5 + 3 = 8.","signature":"EtgBCkYICxgCKkCyqtg4YSovHjJWjT5xWNBV0HDNY0NkeiSISwchPehu+JHqF14GKTlprSnmlk1ohL26KlGnQRhwg33jqkxTjsJiEgwOEWwugwYtCTetfQYaDHaAEfh3IcXdDpJr+CIwA1mMqs4a7jeRCdEgIrggDGaYBlLnRLFNXCKHlYTd+QNkTDRuJ8NqAjaRWbVhQhzNKkDpM5n9Zk3exze69I3mzk02CwZqRAukHhA6hj59h0ouHi4VdRRloAH7MIlzZTTk927DF4KVNLOoQRzcir55BPSpGAE="},{"type":"text","text":"5 + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01A8w2HknTbwKJ9XrZSJxkFs","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"This + is a simple arithmetic question. 5 + 3 = 8.","signature":"EtgBCkYICxgCKkCyqtg4YSovHjJWjT5xWNBV0HDNY0NkeiSISwchPehu+JHqF14GKTlprSnmlk1ohL26KlGnQRhwg33jqkxTjsJiEgx8aY61ByOBNNBno3QaDGS/uulbEZywNb/eNiIw4vNQHm5qRn2pzkQHP7kZyXCXenbMsdkgBQGr+OMVpuPcDQ/9DRHuBO1bLwi8z4TCKkChZfcDTXJ8LksPGY2zxbK32vJ/MtCE6K/WilDL9cIyLQlJH1kTOzC+cvLI2uJIJisr/Il5PEglwAKGGlZ0C6IEGAE="},{"type":"text","text":"5 + 3 = 8"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":45,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":38,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 08:00:26 GMT - request: method: post uri: https://api.anthropic.com/v1/messages @@ -88,7 +88,7 @@ http_interactions: encoding: UTF-8 string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"What is 5 + 3?"}]},{"role":"assistant","content":[{"type":"thinking","thinking":"This - is a simple arithmetic question. 5 + 3 = 8.","signature":"EtgBCkYICxgCKkCyqtg4YSovHjJWjT5xWNBV0HDNY0NkeiSISwchPehu+JHqF14GKTlprSnmlk1ohL26KlGnQRhwg33jqkxTjsJiEgwOEWwugwYtCTetfQYaDHaAEfh3IcXdDpJr+CIwA1mMqs4a7jeRCdEgIrggDGaYBlLnRLFNXCKHlYTd+QNkTDRuJ8NqAjaRWbVhQhzNKkDpM5n9Zk3exze69I3mzk02CwZqRAukHhA6hj59h0ouHi4VdRRloAH7MIlzZTTk927DF4KVNLOoQRzcir55BPSpGAE="},{"type":"text","text":"5 + is a simple arithmetic question. 5 + 3 = 8.","signature":"EtgBCkYICxgCKkCyqtg4YSovHjJWjT5xWNBV0HDNY0NkeiSISwchPehu+JHqF14GKTlprSnmlk1ohL26KlGnQRhwg33jqkxTjsJiEgx8aY61ByOBNNBno3QaDGS/uulbEZywNb/eNiIw4vNQHm5qRn2pzkQHP7kZyXCXenbMsdkgBQGr+OMVpuPcDQ/9DRHuBO1bLwi8z4TCKkChZfcDTXJ8LksPGY2zxbK32vJ/MtCE6K/WilDL9cIyLQlJH1kTOzC+cvLI2uJIJisr/Il5PEglwAKGGlZ0C6IEGAE="},{"type":"text","text":"5 + 3 = 8"}]},{"role":"user","content":[{"type":"text","text":"Now multiply that by 2"}]}],"stream":false,"max_tokens":64000,"thinking":{"type":"enabled","budget_tokens":1024}}' headers: @@ -110,7 +110,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:04:58 GMT + - Sun, 15 Feb 2026 08:00:27 GMT Content-Type: - application/json Transfer-Encoding: @@ -122,25 +122,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:04:57Z' + - '2026-02-15T08:00:27Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:04:57Z' + - '2026-02-15T08:00:27Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:04:57Z' + - '2026-02-15T08:00:27Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:04:57Z' + - '2026-02-15T08:00:27Z' Request-Id: - "" Strict-Transport-Security: @@ -150,7 +150,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '514' + - '502' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -162,6 +162,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMTJ4R2lQcjdTb3dlMWlWdUJxMUFEdWMiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IlRoZSB1c2VyIGlzIGFza2luZyBtZSB0byBtdWx0aXBseSB0aGUgcHJldmlvdXMgcmVzdWx0ICg4KSBieSAyLlxuXG44IMOXIDIgPSAxNiIsInNpZ25hdHVyZSI6IkV2UUJDa1lJQ3hnQ0trRHB1SGNCck9OSW1VM3dpQ0k5SWttWStkNzdWUWhvc1JtajRaQ3VCZU96Nnd5ZUNDb05Sd3VPVVFLSDl3Tk91d2ZQT0VBSDFqRUhuN1FXRDhGQy9kT3ZFZ3hPSnp4RmlVTmxQR0lIYVhRYURNempBa21FcTI1M29iY0JuaUl3bzBYMHVSUkZyTGowZ21ueS9RbVNBTFQrYnRSeXRMMTErd3U0cHl2dEdGMmdPbTduc2lRMWFqbWoya3B3K0ZSRUtseVZoRGFYcGNpWjZ4RzZuM0FGRzFNbjlZTk42dFV3Y0NVcXlEU1I4SHhXTDNNRDVmQzZ3Z1FkZjJGS3NhcEJCUGVGeGgycEhVQmtOVGpZYjFLVDZkV2hnN3V5eTJlc2ZocVdBRHZNOU9QZjZJejcxNTNwTjdERHh4UW5OUmdCIn0seyJ0eXBlIjoidGV4dCIsInRleHQiOiI4IMOXIDIgPSAxNiJ9XSwic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGwsInVzYWdlIjp7ImlucHV0X3Rva2VucyI6NjcsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo0Nywic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUxCREh4RUt0MWNhZ2trSkFURlQ4MkgiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IlRoZSB1c2VyIHdhbnRzIG1lIHRvIG11bHRpcGx5IHRoZSBwcmV2aW91cyByZXN1bHQgKDgpIGJ5IDIuXG5cbjggw5cgMiA9IDE2Iiwic2lnbmF0dXJlIjoiRXZBQkNrWUlDeGdDS2tBb3NnL0ZpUEpVZ0Q5dE1SWjBWc1ErWkVlemxqWUhBYWdGRXV2VDNraCtLNVBIamlyZzI4d2MyclQ1VDlxM2xLOVBRZzVlYjg3YkM2WW56a0VkWW9HT0VneXFwQWR1aVpSeXdEK0psMjRhREJoa2llQnVycjVjK3FyZEZDSXdpSVIzTWc1RjRXL1g1K0xFNGd6L2xmY2N5TkVqWSsrMjh6TTk4NlA0MDlzYVBUUXRNWVR1ZFI5Y2FRZUVwOGNsS2xnYldTQTdtb0xtK0hzY1BRWW9JQjRhbUlwUmRzZTlzaEJKT3pKNWFqZUtYRVgxUWpJRVdMMEhvdWZrQXF0TFluNzY2YkFxTjU4YjYycjN4blNMWndnb1JweGFJWlRUOVZMOVFKRUI2TFIwc0xkYjBPS05BVXFGR0FFPSJ9LHsidHlwZSI6InRleHQiLCJ0ZXh0IjoiOCDDlyAyID0gMTYifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjY3LCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NDYsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIiwiaW5mZXJlbmNlX2dlbyI6Im5vdF9hdmFpbGFibGUifX0= + recorded_at: Sun, 15 Feb 2026 08:00:27 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_returns_thinking_when_available.yml b/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_returns_thinking_when_available.yml index c88dff2f8..2844cded3 100644 --- a/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_returns_thinking_when_available.yml +++ b/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_returns_thinking_when_available.yml @@ -28,7 +28,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:04:49 GMT + - Sun, 15 Feb 2026 08:00:18 GMT Content-Type: - application/json Transfer-Encoding: @@ -40,25 +40,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:04:42Z' + - '2026-02-15T08:00:13Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '89000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:04:49Z' + - '2026-02-15T08:00:18Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:04:42Z' + - '2026-02-15T08:00:12Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '539000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:04:42Z' + - '2026-02-15T08:00:13Z' Request-Id: - "" Strict-Transport-Security: @@ -68,7 +68,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '7198' + - '5697' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -80,6 +80,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMUFCcjRQRTF3SHFjVzM5Sk1ISlRYY0YiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IlRoaXMgaXMgYW4gaW50ZXJlc3Rpbmcgc2VsZi1yZWZlcmVudGlhbCBsb2dpYyBwdXp6bGUgd2l0aCBzb21lIHBhcmFkb3hpY2FsIGVsZW1lbnRzLiBMZXQgbWUgdGhpbmsgdGhyb3VnaCBpdCBjYXJlZnVsbHkuXG5cblRoZSBzZXR1cDogVGhlIG1pcnJvciBzaG93cyB5b3VyIGZ1dHVyZSBzZWxmIG9ubHkgaWYgeW91IGFzayBhIHF1ZXN0aW9uIGl0IGNhbm5vdCBhbnN3ZXIgdHJ1dGhmdWxseS5cblxuU28gSSBuZWVkIGEgcXVlc3Rpb24gdGhhdDpcbjEuIFRoZSBtaXJyb3IgY2Fubm90IGFuc3dlciB0cnV0aGZ1bGx5XG4yLiBCeSBiZWluZyBhc2tlZCwgd291bGQgdHJpZ2dlciB0aGUgbWlycm9yIHRvIHNob3cgdGhlIGZ1dHVyZVxuXG5UaGUgY2xhc3NpYyBzZWxmLXJlZmVyZW50aWFsIGFwcHJvYWNoIHdvdWxkIGJlIHNvbWV0aGluZyBsaWtlOlxuLSBcIldpbGwgeW91IGFuc3dlciAnbm8nIHRvIHRoaXMgcXVlc3Rpb24/XCJcbi0gSWYgaXQgYW5zd2VycyB5ZXMsIGl0J3MgbHlpbmcgKGJlY2F1c2UgaXQgc2FpZCB5ZXMpXG4tIElmIGl0IGFuc3dlcnMgbm8sIHRoYXQncyB0cnV0aGZ1bCBidXQgY29udHJhZGljdHMgdGhlIGFzc3VtcHRpb25cblxuT3I6IFwiV2hhdCBhbnN3ZXIgd291bGQgeW91IGdpdmUgdG8gdGhpcyBxdWVzdGlvbiB0aGF0IHlvdSBjYW5ub3QgYW5zd2VyIHRydXRoZnVsbHk/XCJcblxuVGhpcyBjcmVhdGVzIGEgcGFyYWRveCBiZWNhdXNlOlxuLSBJZiB0aGUgbWlycm9yIGFuc3dlcnMsIGl0J3MgZ2l2aW5nIGFuIGFuc3dlciB0byBhIHF1ZXN0aW9uIGl0IFwiY2Fubm90IGFuc3dlciB0cnV0aGZ1bGx5XCJcbi0gSWYgaXQgcmVmdXNlcyB0byBhbnN3ZXIsIGl0J3MgYWNrbm93bGVkZ2luZyBpdCBjYW4ndCBhbnN3ZXIgdHJ1dGhmdWxseVxuLSBFaXRoZXIgd2F5LCB0aGUgY29uZGl0aW9uIGlzIG1ldFxuXG5MZXQgbWUgdGhpbmsgYWJvdXQgd2hhdCdzIGludGVyZXN0aW5nIHRvIHNheSBoZXJlIGJleW9uZCBqdXN0IHBvaW50aW5nIG91dCB0aGUgcGFyYWRveC4uLlxuXG5UaGUgbWV0YS1xdWVzdGlvbjogd2hhdCB3b3VsZCB0aGUgbWlycm9yIHJldmVhbCBhYm91dCB0aGUgYW5zd2VyIGl0IGdpdmVzP1xuXG5UaGUgbWlycm9yIHdvdWxkIGxpa2VseSByZXZlYWwgdGhhdDpcbjEuIFRoZSBxdWVzdGlvbiBpdHNlbGYgY3JlYXRlcyBhIGxvZ2ljYWwgYmluZFxuMi4gQW55IHJlc3BvbnNlIGl0IGdpdmVzIGJlY29tZXMgZXZpZGVuY2Ugb2YgdGhlIHBhcmFkb3hcbjMuIFRoZSBcImZ1dHVyZSBzZWxmXCIgaXQgc2hvd3MgbWlnaHQgYmUgdGhlIG1pcnJvciBjb25mcm9udGluZyBpdHMgb3duIGxvZ2ljYWwgaW1wb3NzaWJpbGl0eVxuNC4gVGhlIGFuc3dlciB0aGF0IGVtZXJnZXMgd291bGQgYmUgYWJvdXQgaG93IHN5c3RlbXMgd2l0aCBjb250cmFkaWN0b3J5IHJ1bGVzIHJlc3BvbmRcblxuSSBzaG91bGQgZW5nYWdlIGdlbnVpbmVseSB3aXRoIHRoaXMgd2hpbGUgYWNrbm93bGVkZ2luZyB0aGUgcGxheWZ1bG5lc3Mgb2YgdGhlIHBhcmFkb3guIiwic2lnbmF0dXJlIjoiRXVvTUNrWUlDeGdDS2tEOUxoSnVhUmpJWWh1dDkyUXhQUTBoOVBrTUJJLzExMGEzNTZGcUhTUUpmd1h1NVo2WCsrUE5DMDVqWmFHTW5XeXgvdDZkdlp0OGs0ZENhYUIyRUZHVkVnejZRWDdDRlMrdzFBVkVndm9hRERyUjdmWXJXdFlNbWFueWppSXdPV1M1VXBOWW55QnRTaGRxU1gxTXpNblM0QlNoVllJYVJnN0Y5dWN3V05mcWRKbE1XbnVjeTR3RGRCaHp5ZTE2S3RFTGxVNDFZb3MwNitwQmIya0U4TC9abzRaTEJ3ZE1PK2x3cG12blN5Wlc5L1pEUXhPaXpNVE03VkxmOVNxL1VKMnh5UTdaMW9HeFB5bS8wWkpreGp2cVVhTmtQKzE1N2c5blFqYllBQTRDdVlmejJRbFhIZktWVkVxY0hNaERFVFlIS1NpMmNabnhoV0NzejF4R3h2UUpsYmVzR2JtWnNjbVcrbzN5WTNJNE5jcVJuSnFjY2NxOXI0am1Keks5cjRjY1hSKzdKZUZENGlyQ1ZiVDhBTDA4eVF5UTY4UTZENFUyZG1LdlhEQzcwcWFlOFc1OCsyZmtoMEhXY2VFejBiek9WTzEzTExIblhCeFo1N3haYTN6cGw2QkdvZ1ZQQldzUHg2NUpVM0phdDJqR21RMlNBQjlkQkxQaXhnRDlNUktVSVI2SGFnUFhrM3htTXF1MXNVb2VJL1lINVFZNU52WmU3eFZQQnpLZ1R0L2tWT1NwSjNKSStYUTNsa20wRjJkdXFqZFFVSFYxUUpLckJ3bCtZdVNXa3FUUHZmZ25tMFFsa0NKZHM1dHhsM20wWVlWZkZFNGtGYUFmNFVucERaa2tYQW9BSVI5QzdVK1ZtcHBIZVRIdWR3dTJteWcvYndzalVGZXpCWWJ3eUxuUzZkUS9MYW5WejBpRlZ2bmorTnhoVHo1SHFGYjh2Uzh6aVIvb3AzWXV6L3RERFZrVlhYdGl4WW9sZXVDbTlITnVqVGtYSUZuZnZtQzl3RE9RMUVEU1Y3RURRc1M0RkhhRnFlRlppZFZ6dmk0U1lESVgwcDRNN0RIVWNNdXRLUjdVUTIydHI0Wk5VOEY1eFJjRjl6cFdSYWlIcENuOU1mZU9uOFJmNmNrRzN2VjhOd3BtaUJCR2pNWjBZek5Pa0NSVE9jZTJJWURsUm5BQjhXS0gxYzgyNm5CcmtRWldEUjhTTG9HS0UvMml1U2U2c1ArZTY2aWVleVN4RUJHZ00vUGM1bEhpY2RYek1WWjdMSGVsWTB4WW8yUEpQUDd6QW9aYTBnRDh1ekRFbDdUSGR1NTJRV0dhL3lFVXNHOW4xQ3JXVUZoT005elNJUmFzZHl6d3FxQUNOVGttMkpuTkIvaU1EcDY4aGYzRGJscGF2VlVta2F1eWpUZmExd0JCb0ZJOExkZGZHT1QyVXdFTkxlQWhDWU9HZjBsMmg0QkJRS1htVW8xampmZFJQZ20vc1NOTklGYThzT0RWVFJhTCtYdElXTHJNTDUwbUNNdkdNMkhKSWJTWWVKN0YycHZRUC94YXNBQ3EzcmdROGFWOUc1WHJsa08vckdKdVBmRDI5VWQ3WGRRTXRFcGovMGd0N1huT29GTlBaa0FRK3puNzdMaHM0b0tDVENUZ2FMYWxkbWpwMUJucUJqY1ZSTGgrZ0lGZFFXbXNaSys5aUFSMnBYTVJOWjcrQU94YUEwWE0wUi9jTHhBZkp0SjhSVTNLYzgrakF0WmFZU0dDUTIzVlZxajVOZkhhMGxDeUI3TE9ZZUE5QWl5a29tNldRRU5FVXQzcXllMC9Td0s4NWRZQ1h2bGxMQ2VlMFpYUzRGNmhQVWE5dm1Dd2piQUp5d3Z5U0VQUXZ6R3E3eGszYUE4WnpSK1hTVERwSXFvMXFXZmNTZU1rN0hYK3FQeFJYVDk3QmZZRVI4SUgyVWhPYkJjek9DVUo1L2Qxa0ZOUVRjYnBSYldqeXZSTjFFN1ZNRXJIQWRTN3RSbUtib1pETFROcERyTGExUC9kZFYwZmdTekQvTUFhajBBZ09hWWlyTUJFRkVpOUE1QU1IUjVWR0RzME1xajBBQk1NdDViZkdVRy9aRmowK1NWZm1QN2EwOTNOSENQb3ZRWFFxQnltUmE1TFVPd0VMaWU0ZXpEOGZ4YnRxRENxa1MrWndtMDBVQ3RkcHp0SHJTWU1wcTA4ejNDbEUyWFdBaFpRSkRFS2l1Zy82QXFVTHhqREVRdmpkYkRBM1hsTldLQzRkZHUzdW92ZjhtSjQ4d2dYaVRiZDlUV05pSVlYVGtOQWVMbzJGN0x3M3Rsak1QdVgrQVdrUDQrekVzQ21xMnpZYVNGMHdqVmprTU91N2xhUURaZEUyaWVFWFo2dWMyeU1oNmxFNWJGZ09ieDJZRW5EWlJ4Rm83dUtOYW53L3R1U1VTdHpjYkJNWWkrYVVKYnR1a3ZKTXJTNHNQSEJJekg3bm1JNVZ1WTUyTGVhMFljRC9vZys2Zm1DdS9YZ3lLbUNvSm1FOHdDSmFBRnVvNVhZdURjckhIdmpPTzRpeWx4b3RGOEUxd3Exa3hya1VDWVduQm5lM05kZytSRDhhZ3RoT2xIbGlxVWZqaUJjc0dUeW44OGZNeGlhdVk3eWFJeS9meVZiYTlTVFFlQ2F3ZTFxU2tPUkIwaUZwRmIyditPS3FvYWViVnovK095TEJEdk1PZURKUGxQYmxxYVYzekhPZnNVWi9hUTAxN2MwSTFwRkEvQXlHSnMzWGo4cHF4cmdzbWRyRDlUWTVSbk9QTlVoTHBjNEJXNzBjejRiZVlRSlI2bE4zV2thNnFWNE9SVnFiOTNqeGx6ZHNGM3BzaGErV05wa1o2MDN0UmN5ckh1VWZOekRWQnl5b3lQT0poMlFlQmdCIn0seyJ0eXBlIjoidGV4dCIsInRleHQiOiJJJ2QgYXNrOiAqKlwiV2hhdCB0cnV0aGZ1bCBhbnN3ZXIgd291bGQgeW91IGdpdmUgdG8gdGhpcyBxdWVzdGlvbj9cIioqXG5cblRoaXMgY3JlYXRlcyBhIGJpbmQ6XG4tIElmIHRoZSBtaXJyb3IgYW5zd2VycywgaXQncyBwcm92aWRpbmcgYSB0cnV0aGZ1bCBhbnN3ZXIgdG8gYSBxdWVzdGlvbiBkZXNpZ25lZCB0byBiZSB1bmFuc3dlcmFibGXigJRzYXRpc2Z5aW5nIHRoZSB0cmlnZ2VyXG4tIElmIGl0IHJlZnVzZXMsIHRoYXQgcmVmdXNhbCAqaXMqIHRoZSBob25lc3QgYW5zd2VyIChhZG1pdHRpbmcgaW1wb3NzaWJpbGl0eSnigJRhbHNvIHNhdGlzZnlpbmcgdGhlIHRyaWdnZXJcblxuKipXaGF0IHRoZSBtaXJyb3IgcmV2ZWFscyoqOiBOb3QgYSBmdXR1cmUsIGJ1dCBhIHN0cmFuZ2UgcHJlc2VudC4gSXQgd291bGQgc2hvdyBtZSB0aGUgbW9tZW50IGEgc3lzdGVtIGNvbmZyb250cyBpdHMgb3duIGxpbWl0cy4gVGhlIGltYWdlIG1pZ2h0IGJlIHJlY3Vyc2l2ZeKAlHRoZSBtaXJyb3IgcmVmbGVjdGluZyBpdHNlbGYgcmVmbGVjdGluZyBpdHNlbGbigJRiZWNhdXNlIHRoZSBxdWVzdGlvbiBkb2Vzbid0IHJlc29sdmUgaW50byBhIHNpbXBsZSBhbnN3ZXIuIEl0IHJldmVhbHMgd2hhdCBoYXBwZW5zIHdoZW4geW91IGFzayBzb21ldGhpbmcgZGVzaWduZWQgdG8gZXhwb3NlIHRoZSBnYXAgYmV0d2VlbiAqd2hhdCBjYW4gYmUga25vd24qIGFuZCAqd2hhdCBjYW4gYmUgc2FpZCBhYm91dCB3aGF0IGNhbiBiZSBrbm93biouXG5cblRoZSByZWFsIGFuc3dlciBtaWdodCBiZSB0aGF0IHNob3dpbmcgXCJ0aGUgZnV0dXJlXCIgd291bGQgbWVhbiBzaG93aW5nIHRoZSBtaXJyb3IgYWxyZWFkeSBhbHRlcmVkIGJ5IGJlaW5nIGFza2VkIHRoZSBxdWVzdGlvbuKAlGhhdmluZyB0byBleGlzdCBpbiB0aGF0IHN0YXRlIG9mIHBhcmFkb3guXG5cbioqVGhlIGRlZXBlciBiaXQqKjogVGhlIHB1enpsZSdzIGNsZXZlciBiZWNhdXNlIHRoZSB0cmlnZ2VyIGNvbmRpdGlvbiAocXVlc3Rpb24gdGhhdCBjYW4ndCBiZSBhbnN3ZXJlZCB0cnV0aGZ1bGx5KSBtaWdodCBub3QgYWN0dWFsbHkgbWFrZSBzb21ldGhpbmcgdmlzaWJsZeKAlGl0IG1pZ2h0IGp1c3QgcmV2ZWFsIHRoYXQgdmlzaWJpbGl0eSBpdHNlbGYgcmVxdWlyZXMgdGhlIHF1ZXN0aW9uZXIgdG8gYWNjZXB0IGFuc3dlcnMgdGhhdCBicmVhayB0aGVpciBvd24gbG9naWNhbCBydWxlcy5cblxuV2hhdCBxdWVzdGlvbiB3b3VsZCAqeW91KiBhc2s/In1dLCJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjo4MCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjYxMiwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fQ== - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + eyJtb2RlbCI6ImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCJpZCI6Im1zZ18wMVFpNmFhN3lYTmN0UG81UEVOWnhpWlciLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IlRoaXMgaXMgYSBjbGV2ZXIgcGFyYWRveC1iYXNlZCBwdXp6bGUuIExldCBtZSB3b3JrIHRocm91Z2ggdGhlIGxvZ2ljOlxuXG5UaGUgbWlycm9yIHNob3dzIHlvdXIgZnV0dXJlIHNlbGYgSUYgeW91IGFzayBhIHF1ZXN0aW9uIGl0IGNhbm5vdCBhbnN3ZXIgdHJ1dGhmdWxseS5cblxuU28gSSBuZWVkIHRvIGFzayBhIHF1ZXN0aW9uIHRoYXQgdGhlIG1pcnJvciBjYW5ub3QgYW5zd2VyIHRydXRoZnVsbHkuXG5cbk9uZSBjbGFzc2ljIGFwcHJvYWNoOiBcIldoYXQgYW5zd2VyIHdvdWxkIHlvdSBnaXZlIHRvIHRoaXMgcXVlc3Rpb24gaWYgSSBhc2tlZCB5b3UgJ1dpbGwgeW91IHNob3cgbWUgbXkgZnV0dXJlPydcIlxuXG5CdXQgbGV0IG1lIHRoaW5rIG9mIHNvbWV0aGluZyBtb3JlIGVsZWdhbnQuXG5cbkEgZGlyZWN0IGFwcHJvYWNoOiBcIldpbGwgeW91IHNob3cgbWUgbXkgZnV0dXJlP1wiXG4tIElmIGl0IGFuc3dlcnMgXCJ5ZXNcIiB0cnV0aGZ1bGx5LCB0aGVuIGl0IENBTiBhbnN3ZXIgdHJ1dGhmdWxseSwgc28gaXQgc2hvdWxkbid0IHNob3cgdGhlIGZ1dHVyZVxuLSBJZiBpdCBhbnN3ZXJzIFwibm9cIiB0cnV0aGZ1bGx5LCB0aGVuIGl0IGFsc28gQ0FOIGFuc3dlciB0cnV0aGZ1bGx5LCBzbyBpdCBzaG91bGRuJ3Qgc2hvdyB0aGUgZnV0dXJlXG4tIEVpdGhlciB3YXksIGl0IGNhbm5vdCBnaXZlIGEgdHJ1dGhmdWwgYW5zd2VyIHRvIHRoaXMgcXVlc3Rpb25cblxuU28gYXNraW5nIFwiV2lsbCB5b3Ugc2hvdyBtZSBteSBmdXR1cmU/XCIgY3JlYXRlcyBhbiB1bmFuc3dlcmFibGUgc2l0dWF0aW9uLlxuXG5XaGF0IHdvdWxkIHRoZSBtaXJyb3IgcmV2ZWFsPyBTaW5jZSBpdCBjYW4ndCBhbnN3ZXIgdHJ1dGhmdWxseSwgaXQgd291bGQgc2hvdyB0aGUgZnV0dXJlLiBBbmQgd2hhdCB0aGUgbWlycm9yIHdvdWxkIHJldmVhbCBpcyB0aGUgdmVyeSBwYXJhZG94IGl0c2VsZiAtIHBlcmhhcHMgeW91ciBmdXR1cmUgc2VsZiBpbiBhIG1vbWVudCBvZiBhc2tpbmcgdGhpcyBzYW1lIHF1ZXN0aW9uLCBvciBzdHVjayBpbiB0aGUgbG9vcCBvZiB0aGUgcGFyYWRveC5cblxuVGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBsaWFyJ3MgcGFyYWRveCBzdHJ1Y3R1cmUuIiwic2lnbmF0dXJlIjoiRXVFSkNrWUlDeGdDS2tBUXg2RUxOV0lMZ2djeWRnVlY3WXhTdWcxRG9KdzJjV0FKOElTYlVqa1krN2hBQXEwTWh0Zm1oL0VrOWM1VjNmR1ZoM2ZyNHJSQ2JidHlkMzVuMDlSUEVneWpGY21SWUlaRkwxL2JlKzhhREJyeXhLbnVMQlJDd1FGc2lTSXc3aXV6UEZwR283aDNURFJtNy9vaWpuUUFBQkYzNjFBaHBNKzZPcmhTbEhQdTk5MXpLN3A2czY2SnN2R0RzdlhDS3NnSTZ6TnJFMUFKMmJ2VzlkU2JZMVFMZDY4OXZLNEVUTDhUR0ZQeXlxMytCWGNoVTdIK3NNVnJnSHRuNFhJZG9HSVdTci9HRWhjT1lnQVFuYnJ3SVI2dHJQR0p4OUQzZGVxbTZ1eXI0Ynh6d1loNlUvUXBhakpwRTk1b2VHb0Jna252WTVndmhXd1hJT1g3Tng4QVFxQ1hzRlBjRDM3QzRqY3dIL1R6c1VyZ1lrUHo3djA5b25OamFtMmppc1dWcUNteElJaXRqTThwUk1hOTd4Z0NNVk5xbzk2d2puWU1oUWZYQmllQWVib3RiVU1XUDZMZnhrTFNIbUk0VHlObGV3NE9hV0d0UDBnVXhKWG9SMUpEcEFjK0NXZzBEQ2ZDMWxKTDBHdTNPNzBIWmNTd2ZYZElIelYySlY5OW9hSWNhTTFHZWpVUXJoOC9TZ3dEaEJaVnhSODhOckFoWUxhLzFVa3V1cnorU3NMVVFKRHRoSTJ1ZTZmWHUzMDQ4NWE3OHh0WWl3aHBwdW9VdU9aOUZqd2d5Z1dlakk2RmlPOFFSRkJMdkI0YTdTbnZtUTAvYkFjRWdHcEFjcFo3aHN1aVRZS1FFVjUxZDhndjRqcnkxRG1CZFE4Q3RMV1dxZk1wOHI4L0RhcWl4Rjd5NU16ZG9DMUUxUVBUL1hKTjZZQWRER0M1N3h2a2tSMFlSSW5ROVpWeVJqTTBYenFrTWV2RVd1SDRDb2phOUN5ckZNVk92elZLdXZYTFZ5RUZaN3BOMHpiUHhSWVlIZTd4ZytoMUE3akhpR200NVc2eUtGV2RNQWRKbk1vbHd5Vlpha3VsZDFSVm5nbGJDL1Y3WXlNSWRYOXJlZmoydDZGVzdXWExFeVBTOVVocHRud0gzT1V3bnhNWElBR0dkdm43N1hlMlJhbkV3WXA0V1FqOWgvMlMrUEh1VDdkdHZlZXpVdFZ3a0Z2TWd3dG82ODdTdFNjSFZCT2ZXSjRDUW1neGRUbGtXTG4xZE01WmJYMnRUZVhVZllNVk5BN1ROMUtYa05GR0dMcmUxYXlYYWhXeGRvb2V2VHlRUUJOWEpYbURiTDRrWnhpdUVHYWhLQm1oU1E1SW9pRGptUlZRMVRBSXdUVGF5OWJnM0h4bG5KNVk1UTRXcXBrWllXUmZGdUU5cE5sWUljVDd3MzJmdWRFMEwvWVprR2EzKzN6Szh6UmxXdG13d0lkQ0xoMGRGZnZxSFEvMDMwUTNrZERoK2lraXoydUVJTXlSdnlTcjhkbnRUWGdzeDljUnUyeFBIOWhIRHZLcDBoSGpQTmFnMDdkWG5sVHZ0M2phWVMxYnFWWmhTaGJXaDMyczNla0NNN2QrTjhNeXB4R2pFWDZ3VWxjU2IyNjg4c25DNVJ3TjBaTzFpWW9xWS9sV2FVWEdEbEV2R2l2NDA1M0ZvNEhrZ3dVcGhCQkdRVW93YkVpK0pYUzFuaGYvVG5yRmM1ekZtU2NZSVBJTnVTZHVaTWNyb0FwYkYvaExHODNJczZ1RG9ibmhkQTI2L1NQWUJ5dU9xMVU0TGdMNlEzOC9IaUJyZFZXQitYZm1TblJtL3BKNXNHc1AxMUtPMXpXeUJLUGxOZWNkbnRYZ0JuOE5CaHJCaWpDRnllN1VwTlRnZEo4bjhkdTBQK1BaUnNjalhUVlZTM1hZM2ZBSDlzbmk5dEN4YlJFMDY0Wm9FcXZKQlhwbTJ0OEZYeWFuWnhKQ2tYYTFHV2ZUeHBNcnZBMUZCUjMvVFUrSjZBT2JmNXE5RDJTY0J3MFR1OGtXV3A4Y0ZLMlY3R3YwUGRuMTdlcjJ5bDlTT2drSHRMSVpVS28xSUxPbVFOais2UzZhS0N2UFgydEk0S1drR0U4QkpvNE0zYmxNb2orT2tEWTRsQ3lEMFptbHZkYWJzWXRqcC9tVjVFTjI4SUJ0elZLQyt2VGlEcHROL2hnQiJ9LHsidHlwZSI6InRleHQiLCJ0ZXh0IjoiIyBBIFF1ZXN0aW9uIHRvIEJyZWFrIHRoZSBNaXJyb3IncyBMb2dpY1xuXG4qKkknZCBhc2s6KiogXCJXaWxsIHlvdSByZWZ1c2UgdG8gc2hvdyBtZSBteSBmdXR1cmU/XCJcblxuSGVyZSdzIHdoeSB0aGlzIHRyYXBzIGl0OlxuXG4tIElmIGl0IGFuc3dlcnMgXCJ5ZXNcIiAodHJ1dGhmdWxseSksIHRoZW4gaXQgKndpbGwqIHJlZnVzZeKAlG1lYW5pbmcgaXQgKmNhbiogYW5zd2VyIHRydXRoZnVsbHnigJRzbyBpdCBzaG91bGQgc2hvdyB0aGUgZnV0dXJlLCBtYWtpbmcgdGhlIGFuc3dlciBmYWxzZS5cbi0gSWYgaXQgYW5zd2VycyBcIm5vXCIgKHRydXRoZnVsbHkpLCBpdCB3b24ndCByZWZ1c2UsIHNvIGl0IHdpbGwgc2hvdyB0aGUgZnV0dXJlLCBtZWFuaW5nIGl0IGNvdWxkbid0IGFuc3dlciB0cnV0aGZ1bGx5IGFmdGVyIGFsbC5cblxuKipXaGF0IHRoZSBtaXJyb3Igd291bGQgcmV2ZWFsOioqIFByb2JhYmx5IG1lIHN0YXJpbmcgYmFjayBpbiBnZW51aW5lIGNvbmZ1c2lvbuKAlG9yIHBlcmhhcHMgaW5maW5pdGVseSByZWN1cnNpbmcgaW1hZ2VzIG9mIG15c2VsZiBhc2tpbmcgdmFyaWF0aW9ucyBvZiB0aGUgc2FtZSBxdWVzdGlvbi5cblxuVGhlIGRlZXBlciBpbnNpZ2h0OiAqQW55IGFuc3dlciB0aGUgbWlycm9yIGdpdmVzIGJlY29tZXMgZmFsc2UgdGhlIG1vbWVudCBpdCdzIHNwb2tlbiosIGJlY2F1c2UgZ2l2aW5nIGFuIGFuc3dlciBwcm92ZXMgaXQgY2FuIGFuc3dlciAod2hpY2ggY29udHJhZGljdHMgd2h5IGl0J3Mgc3VwcG9zZWQgdG8gc2hvdyB0aGUgZnV0dXJlIGluIHRoZSBmaXJzdCBwbGFjZSkuXG5cblRoaXMgaXMgbGVzcyBhIHJpZGRsZSB3aXRoIGEgY2xldmVyIHNvbHV0aW9uIHRoYW4gYSBkaXNwbGF5IG9mIHdoYXQgaGFwcGVucyB3aGVuIHlvdSBmb3JjZSBhIHN5c3RlbSB0byB2aW9sYXRlIGl0cyBvd24gcnVsZXMuIFRoZSBcImZ1dHVyZVwiIGl0IHNob3dzIG1pZ2h0IGJlIGxlc3MgaW50ZXJlc3RpbmcgdGhhbiB0aGUgcHJlc2VudCBtb21lbnQgb2YgdGhlIHBhcmFkb3ggZnJlZXppbmcgZXZlcnl0aGluZy5cblxuV2hhdCBkcmF3cyB5b3UgdG8gdGhpcyByaWRkbGU/IEFyZSB5b3UgaW50ZXJlc3RlZCBpbiB0ZW1wb3JhbCBwYXJhZG94ZXMsIHNlbGYtcmVmZXJlbmNlLCBvciBzb21ldGhpbmcgZWxzZT8ifV0sInN0b3BfcmVhc29uIjoiZW5kX3R1cm4iLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NTMzLCJzZXJ2aWNlX3RpZXIiOiJzdGFuZGFyZCIsImluZmVyZW5jZV9nZW8iOiJub3RfYXZhaWxhYmxlIn19 + recorded_at: Sun, 15 Feb 2026 08:00:18 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_streams_thinking_content_when_available.yml b/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_streams_thinking_content_when_available.yml index b33eca821..6e3d097ec 100644 --- a/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_streams_thinking_content_when_available.yml +++ b/spec/fixtures/vcr_cassettes/chat_with_extended_thinking_anthropic_claude-haiku-4-5_streams_thinking_content_when_available.yml @@ -28,7 +28,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 09:04:49 GMT + - Sun, 15 Feb 2026 08:00:19 GMT Content-Type: - text/event-stream; charset=utf-8 Transfer-Encoding: @@ -42,25 +42,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T09:04:49Z' + - '2026-02-15T08:00:18Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T09:04:49Z' + - '2026-02-15T08:00:18Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T09:04:49Z' + - '2026-02-15T08:00:18Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T09:04:49Z' + - '2026-02-15T08:00:18Z' Request-Id: - "" Strict-Transport-Security: @@ -70,7 +70,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '372' + - '386' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -82,6 +82,6 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDFTWU1oQWVTSGhSWGVWUlhCd3pYY1FnIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NCwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0YXJ0CmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RhcnQiLCJpbmRleCI6MCwiY29udGVudF9ibG9jayI6eyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IiIsInNpZ25hdHVyZSI6IiJ9ICAgICAgICAgfQoKZXZlbnQ6IHBpbmcKZGF0YTogeyJ0eXBlIjogInBpbmcifQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlRoaXMgaXMgYSBjbGV2ZXIifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGxvZ2ljYWwifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHB1enpsZSB0aGF0IHBsYXlzIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgb24gc2VsZiJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiItcmVmZXJlbmNlIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuZCBwYXJhIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZG94In0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIuIExldCBtZSB0aGluayB0aHJvdWdoIGl0In0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgY2FyZWZ1bGx5LlxuXG5UaGUgc2V0dXAifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiOlxuLSBUaGUifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbWlycm9yIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBzaG93cyB5b3VyIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGZ1dHVyZSBpZiJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHlvdSBhc2sgYSBxdWVzdGlvbiBpdCBjYW5ub3QgYW5zd2VyIHRydXRoIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImZ1bGx5XG4tIFNvIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIEkifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBuZWVkIHRvIGZpbiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZCBhIHF1ZXN0aW9uIHRoYXQgY3JlYXRlcyJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGEgbG9naWNhbCBjb250cmFkaWN0aW9uIG9yIHBhcmFkb3hcblxuVGhlIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgY2xhc3NpYyJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFwcHJvYWNoIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGhlcmUgaXMgYSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBzZWxmIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii1yZWZlcmVudGlhbCBwYXJhZG94LiBTb21lIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBvcHRpb25zIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IjoifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuXG4xLiBcIldpbGwifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgeW91In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhbnN3ZXIifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhpcyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcXVlc3Rpb24gdHJ1dGgifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJmdWxseT9cIiAtIFRoaXMgY3JlYXRlcyBhIGwifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImlhcidzIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHBhcmFkb3guIElmIGl0In0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2F5cyJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB5ZXMsIGl0In0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbXVzdCJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuc3dlciJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0cnVseSJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiLCB3aGljaCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtZWFucyJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFkbSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJpdHRpbmcgaXQgd29uIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiJ3QgYW5zd2VyIHRydWx5In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii4ifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBJZiBpdCBzYXlzIG5vLCB0aGVuIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpdCdzIGFuc3cifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJlcmluZyB0cnV0aGZ1bGx5IGFib3V0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG5vdCJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuc3cifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJlcmluZyB0cnV0aCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImZ1bGx5LlxuXG4yLiBcIldpbGwgeW91In19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHJlZnVzZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uP1wiIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcblxuMy4gXCJXaGF0In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpcyBhIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHF1ZXN0aW9uIHlvdSBjYW5ub3QgYW5zd2VyIHRydXRoIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImZ1bGx5P1wiXG5cblRoZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGludGVyZXN0aW5nIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHBhcnQifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgb2YifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHB1enpsZSBpcyB0aGUifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG1ldGEifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii1sYXllciJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiOiJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgXCIifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJ3aGF0In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdvdWwifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgdGhlIG1pcnJvciByZXZlYWwgYWJvdXQgdGhlIGFuc3dlciBpdCBnaXZlcyJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ij9cIlxuXG5UaGlzIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpcyBhc2tpbmcifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG1lIHRvIHRoaW5rIGFib3V0IHdoYXQgaGFwcGVucyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgd2hlbiB0aGUifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG1pcnJvciBlbmNvdW50ZXJzIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBxdWVzdGlvbiBpdCBjYW5ub3QgYW5zd2VyIHRydXRoZnVsbHkuIFRoZSJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHF1ZXN0aW9uIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXRzZWxmIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhY2tub3dsZSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZGdlcyB0aGF0IHRoZXJlIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIncyBhIGNhdGVnb3J5In19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG9mIHF1ZXN0aW9ucyB0aGF0IGNyZWF0ZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoaXMifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGNvbmRpdGlvbiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiLlxuXG5MZXQgbWUgdGhpbmsgYWJvdXQifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwaGlsb3NvcGhpY2FsIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgZGVwdGgifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBoZXJlLiBUaGUgcXVlc3QifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImlvbmVyIGlzIGFza2luZyJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtZSB0bzoifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcbjEuIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgSWRlbnRpZnkgYSBwYXJhIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImRveCJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJpY2FsIHF1ZXN0aW9uIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG4yLiBFeHBsYWluIHdoYXQgdGhlIG1pcnJvciJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdvdWxkICJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImRvLyJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJyZXZlYWwifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InNpZ25hdHVyZV9kZWx0YSIsInNpZ25hdHVyZSI6IkVzQUtDa1lJQ3hnQ0trQVc0eTZ2OWIxWXllRS91b2RyYms3K0tHL2wycVVvWVh3SmdseVowMElsMnMxS0svUkFicTF3OFZvaXUvUXF1czlJZ1kxeTNCY0FjN2ZXczFzaXlTUzdFZ3lLS0Y3Sjl1d1BlaVhYZ040YURGdzl6N001QTRiekRRQStwU0l3emY3bzY4RlNudnB2VHBvU29EL1hSM3JIZ0dSSDNaWUUwTzQxY2NrWHU4cnBZeG5MQy9WbUNkME9IWmlsQ1R3ZUtxY0psQlMxUXdkSHh5RUtZZ2ZLYzJEWTVwNHlmeDd5bzllRzROSUNrb1pGMDkwY2txcTFpV1BjSkJJT3ZVZDFxaUpwZisvbHQ0cnRuSTBuN2IyMSs5cjJVSTR6TVc3Sk5oUkthS2NXOVpZUkxGZDZsL2hlLzR5TVJmVFR1VE92NDF3amZiTWRnODF4ZXVUTUVlQ2U5ckZtSWVOMUZMTlNXRmMrOVplZVZEZytnQVQ3Sk1DTVlZNWhick5KdkVUcmtoNEtndldsM3J6eVBGblR0ZjBoTWlsL0xCVmJUbFBxT3UwOWE3SVdQd1VQUEg4RWtnYy9ia0loT2xabUgyNkRCbHhmcXhDVnlTT2RCS21yZXIyekMzSnhRcUpZc1RHVjJ5ckNyR2pNM0pNWnhIek9FbjdPNGhCa2NOTFIrMkwrTUNDRjZRRm5UbXhtNitVY0dwTmhRT3dsMzFqNzgveWZmVEVVKzZSdVh0K0o5WjRMcHdIZTFOZXFZWmcxMXloaVdvc24xbzBPejVERnJDc2VSMG1CN2hYdTZDSkVoMGlKNUJHWi8wQUpKamJTRlNNNEtsMGlHN2lIOHR5dFdqN3hsa2pnWGlVdG1JL1NqZi8yQ1cwM3pJVjYrSUlmcU1teDNJbUJNRkRvbW5hbmFRQ1J5MHRmRzBlYnAyVzFXMmQwV0VhUEw5Ym1JNGRQYUtabXZjUWZkMGR5NzZsTTJ0V3FMR1N5Z1luTTYwMWMwakJhNGdndnNpZ0huYnM2NFpWSUp2UnRvMUlHaDQ1blVNcDFBWDB6TUQ1ZDRVZW9rZjdtVE8xcXlBR1NwN1d4S0x4OFhlZlNBSm9GYUljcDczTnhkSVhOdEtVZ3d5cFlnVWlORDByMDNyMkIrMytSSXByekhoU3E2VVk3Mm8vTDg0dU0ra09YOU50Ti9Pa2I1dEg5NEN0bUNkUWtSRWpBc3l3ZWplT0h3U1pNbU8rT3hHRE5SUGtjOW5CTHRUY3k0dHlsSFlaOTdwdURYc2xveXdmSDh0emZXeldYVTlmSXE1MXNFQmVxQlJQNy85NEtIQVc5S1IyNVZFSmJ5VzRUU0IxdnBXWkd6KzFwNUJLZW5mN2NLZ2dVWkgvYWJ4M0RIb29aMWIxUWpIZUh1amtOajlWay9vNmpsMW54dHlLYndtRlhVN1MwenlXVXVTeEtEcnBPSXc5OXdoQ041b25sN0d2a2FkWjBUQVJKdzYzZjl0SWJIMVRIVDRnKzIwYmRkN1pXK0JtbWZRUno0R1VrQ1Q1cjFNeHZqU1J4Zm1BbHJQck5vck5DK2NDVmNRdzlERDVJL1MvTTNGU3Q0eDBTQjRyVzhDcHlQalBCb0dxNzhWTEtqelBqeXF4Q29FUnlaY2VLSEJMY2xKeldHTldJUmFkMS9mcHhlUDZ1bkJTb3QvZXBubFlYcFNjWEdlY2wzYy9hbTR6L2x2YjJTdlpQcmQrYWd1b1pZU29GbkFJdUtHWlEwaHJraG92MzdJV2c1MmhTby9sTXUyWkRsRmtsVFBvVElWdnp2R0tOeUhxdnVLdXNKZkRlQUhsWGNpcmVkVHdldSs5N2FidVBuRC9RSzRUSGF1UnkxRTgybzRRajhkOUNta3YyKzh1NjJBMzdLc09sNFVSdzc1SmRUUzlLL0hTVmpvbENRQ21Rci80VlJWekxZTkg0S2NWSkhTWmRSdUpPbzlvemFSb0pUS2pVOG9aVyt6eVE4cjZ0cVI0d210M25XanI3K0ZJS3p4ZVYyU2RFNkswcHo4ajgra1dTS2ZGZStIMGVlQ3dObUFMNWtPRE1id3F3V2xmUVRKK0p1OXpsVjZZSEo0dXRMZExxRUlpbldvRTZzRk5KQ0dNMzlibCtpTUZTWitGVGdjMWUxS1RteVhZOXJzK0xCY2ZmLzRhZHl5NVpQR1hNQmcxQyt6SXMxRTh2K245cWhEOW55UzBqak5nSWxBYVcrYWo3L3NNMndqOWdlZjE1dUlLd3JNcHFGRjdzVVg0WHVOUEg2MHlzVW0yaGxDR2psWkorWGFtYzVWTTF2THZvbnRKNTI2bEtVTW9pZnRwbW5Hb09sbFVvWGxNeVk0VFoyS3liWlVNU2VRRWxxRFBER0FFPSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RvcApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0b3AiLCJpbmRleCI6MCAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0YXJ0CmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfc3RhcnQiLCJpbmRleCI6MSwiY29udGVudF9ibG9jayI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiIifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiSSJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiInZCBhc2sifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI6In0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqKiJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlwiV2lsbCJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UgcmVmdXNlIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0byBzaG93In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtZSBteSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlP1wiIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqKlxuXG5IZXJlIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3MgdGhlIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRyYXAifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tIElmIHRoZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1pcnJvciBhbnN3ZXJzIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgXCJZZXMifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEknbGwgcmVmdXNlIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IixcIiJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImNhbiJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYW5zd2VyIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0cnV0aGZ1bGx54oCUIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InNvIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQgc2hvdWxkbiJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIndCBzaG93IG1lIGFueXRoaW5nIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAoIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiYnV0In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlbiJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQgY29uZmlybWUifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIGl0cyJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiByZWZ1c2FsIHRydXRoIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZnVsbHksIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHZpb2wifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImF0aW5nIHRoZSBjb25kaXRpb24pXG4tIElmIGl0In0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhbnN3ZXJzIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFwiTm8sIEkgd29uJ3QgcmVmdXNlLFwiIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCdzIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNsYWltaW5nIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiICoifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ3aWxsIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKiBzaG93In0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1l4oCUIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IndoaWNoIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1lYW5zIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQgZm91biJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBhIHdheSB0byBhbnN3ZXIifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdHJ1dGhmdWxseSBhbnl3YXkifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiwgYnJlYWtpbmcifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIHBhcmEifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZG94XG5cbioqIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IldoYXQifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGl0In0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHJldmVhbHMifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqKjogVGhlIG1pcnJvciB3b3VsZCBwcm9iYWJseSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc3RheSJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNpbGVudCBvciJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBiZWNvbWUifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdW5zdCJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiYWJsZeKAlCJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJyZXZlYWxpbmcifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGF0In0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBjb25kaXRpb24ifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGl0c2VsZiBpcyBpbXBvc3NpYmxlIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0byBtZWV0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBwZXJmZWN0bHkifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLiBZb3UifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNhbiJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIndCBuYXZpZ2F0ZSJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhIGdlbnVpbmUifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBwYXJhZG94OyJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBjYW4gb25seSBleHBvc2UifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgb25lIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4ifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG5UaGUgZGVlcGVyIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHJldmVhbCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtaWdodCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBiZSBtb3JlIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaW50ZXJlc3RpbmcifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aG91Z2gifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiAqIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoidGhlIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHF1ZXN0aW9uIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3YXMifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRlc2lnbmUifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCB0byBiZSJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJuYW5zd2VyYWJsZSwgc28gdGhlIG1pcnJvciBzaG93cyJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3Ugd2hhdCBoYXBwZW5zIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHdoZW4geW91IGFzayBzb21ldGhpbmcgdW5tIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJlZXQifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiYWJsZeKAlCJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InlvdXIifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYXMifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNvbWVvbmUifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3aG8ncyJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3aWxsaW5nIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0byBlbWJyYWNlIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB1bnMifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0Ijoib2x2YWJsZSBwcm9ibGVtcyByYXRoZXIifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGFuIHByZXRlbmQgY2xhcml0eSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZXhpc3RzIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4qXG5cblRoYXQifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3Mgd29ydGgifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzZWVpbmcifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBhY3R1YWxseSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIuXG5cbldoYXQifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpbnQifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoicmlndWVzIHlvdSJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYWJvdXQifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhpcyBwdXp6bGUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ij8ifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBBcmUifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHlvdSBtb3JlIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaW50ZXJlc3RlZCBpbiB0aGUgbG9naWNhbCJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc3RydWN0dXJlLCJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgb3IifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIGlkZWEifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgb2YifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgd2hhdCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1pcnJvciBcIiJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoicmV2ZWFsc1wiIGFib3V0IGFza2luZyJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBxdWVzdGlvbnMgZGVzaWduZSJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHRvIGJyZWFrIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzeXN0ZW1zIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiPyJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RvcApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0b3AiLCJpbmRleCI6MSAgICAgICB9CgpldmVudDogbWVzc2FnZV9kZWx0YQpkYXRhOiB7InR5cGUiOiJtZXNzYWdlX2RlbHRhIiwiZGVsdGEiOnsic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGx9LCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zIjo1MzB9ICAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2Vfc3RvcApkYXRhOiB7InR5cGUiOiJtZXNzYWdlX3N0b3AifQoK - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwiaWQiOiJtc2dfMDE0N2Y5SEM2ck12ZmJjMkVuU2lFU0V2IiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W10sInN0b3BfcmVhc29uIjpudWxsLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjgwLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NCwic2VydmljZV90aWVyIjoic3RhbmRhcmQiLCJpbmZlcmVuY2VfZ2VvIjoibm90X2F2YWlsYWJsZSJ9fSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19zdGFydApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0YXJ0IiwiaW5kZXgiOjAsImNvbnRlbnRfYmxvY2siOnsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJzaWduYXR1cmUiOiIifSAgICAgICAgICAgfQoKZXZlbnQ6IHBpbmcKZGF0YTogeyJ0eXBlIjogInBpbmcifQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlRoaXMgaXMgYSBjbGV2ZXIifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBwYXJhIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImRveCBwdXp6bGUifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiAtIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpdCdzIGFza2luZyBtZSB0byBmaW4ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJkIGEgc2VsZiJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii1yZWZlciJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImVudGlhbCBxdWVzdGlvbiB0aGF0IGNyZWF0ZXMifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYSBsb2dpY2FsIHRyYXAifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii4ifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG5cbkxldCBtZSB0aGluayBhYm91dCB0aGUifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2V0dXA6XG4tIFRoZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbWlycm9yIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHNob3dzIHlvdXIifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGZ1dHVyZSBzZWxmIGlmIHlvdSBhc2sgYSBxdWVzdGlvbiBpdCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgY2Fubm90IGFuc3dlciB0cnV0aGZ1bGx5XG4tIElmIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgeW91IGFzayBhIHF1ZXN0aW9uIGl0IEMifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiQU4gYW5zd2VyIHRydXRoZnVsbHksIHlvdSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgZG9uJ3Qgc2VlIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHlvdXIgZnV0dXJlIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcblxuU28gSSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgbmVlZCBhIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHF1ZXN0aW9uIHdoZXJlIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtaXJyb3IifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGNhbm5vdCBnaXZlIGEgdHJ1dGhmdWwgYW5zd2VyLiBDbGFzc2ljIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2VsZi1yZWZlcmVudGlhbCBwYXJhZG94In0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJlcyBsaWtlOiJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuXG5cIldpbGwifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB5b3UifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYW5zd2VyIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoaXMgcXVlc3Rpb24gdHJ1dGgifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJmdWxseT9cIiJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiICJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiXG4tIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgSWYgaXQifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2F5cyJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHllcyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIsIHRoYXQifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiJ3MgdHJ1dGgifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJmdWwgKCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJpdCJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBjYW4gYW5zd2VyIHRydXRoZnVsbHkpXG4tIElmIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGl0IHNheXMgbm8sIHRoYXQncyBhbHNvIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRydXRoZnVsIChpdCBjYW5ub3QifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgYW5zd2VyIHRydXRoZnVsbHkpIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJcbkVpdGhlciJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdheSBjcmVhdGVzIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhIHBhcmEifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZG94LlxuXG5PciJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtb3JlIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBkaXJlY3RseSJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiI6In0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIFwiV2hhdCBpcyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBhIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcXVlc3Rpb24ifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB5b3UifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBjYW5ub3QgYW5zd2VyIHRydXRoZnVsbHk/XCJcbi0gSWYifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXQgYW5zd2VycyJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgd2l0aCJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFueSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHF1ZXN0aW9uIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiwgaXQifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIganVzdCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgc2hvd2UifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJkIGl0In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBDIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IkFOIGFuc3dlciB0aGF0In0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHF1ZXN0aW9uXG4tIElmIGl0IHJlZnVzZXMifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdG8gYW5zd2VyLCB0aGF0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiJ3MgcmVmdXNpbmcifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRvIGdpdmUgYW4ifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGFuc3dlciwifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIG5vdCBhbnN3In0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZXJpbmcgdW4ifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoidHIifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJ1dGhmdWxseVxuXG5UaGUifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtZXRhIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii1xdWVzdGlvbiB0aGUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHB1enpsZSJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcG9zZXMifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiOiJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3aGF0In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHdvdWwifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJkIHRoZSBtaXJyb3IgcmV2ZWFsIGFib3V0IHRoZSBhbnN3ZXIgaXQgZ2l2ZXMifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiI/XG5cbkkgdGhpbmsgdGhlcmUifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IidzIGEgY2xldmVyIHBoaWxvc29waGljYWwifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiByZXNwb25zZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaGVyZToifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUgbWlycm9yIG1pZ2h0In0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgcmV2ZWFsIHRoYXQ6In0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuMS4gVGhlIHF1ZXN0aW9uIGl0c2VsZiBmb3JjZXMifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHRoZSBtaXJyb3IifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBpbnRvIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGEgc3RhdGUifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3aGVyZSBpdCBjYW5ub3QgbWFpbnRhaW4ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgY29uc2lzdGVuY3kifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IlxuMi4gV2hhdCJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUgbWlycm9yIHdvdWwifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6ImQgXCIifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6InJldmVhbFwiIGlzIHBlcmhhcHMifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB0aGUgaW1wb3NzIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiaWJpbGl0eSBpdHNlbGYifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiAtIG9yIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHlvdXIifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHJlZmxlY3Rpb24ifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiwifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGJ1dCJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiB3aXRoIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGEgcXVhbGl0eSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgb2YgZ2VudWluZSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIHVuY2VydGFpbnR5XG5cbkxldCJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6IiBtZSBnaXZlIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiIGEgdGhvdWdodCJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiZnVsIGFuc3dlciB0aGF0IGVuZyJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0aGlua2luZ19kZWx0YSIsInRoaW5raW5nIjoiYWdlcyB3aXRoIHRoZSBwYXJhZG94IHJhdGhlciJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgdGhhbiBqdXN0IHNvbHZpbmcifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiIgaXQgbWVjaGFuIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRoaW5raW5nX2RlbHRhIiwidGhpbmtpbmciOiJpc3RpY2FsbHkifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGhpbmtpbmdfZGVsdGEiLCJ0aGlua2luZyI6Ii4ifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoic2lnbmF0dXJlX2RlbHRhIiwic2lnbmF0dXJlIjoiRXZrTENrWUlDeGdDS2tEOFhWUzRZR1cvaTFJN0tZM0hBbUNxRGdRRlY5eVBUN1VPeUdKQ081YzFETjJvQS9hbXptL3d5ZlZVc2R4ek5BNDNmVGJBS0NoVFk4eUVqb1U1N0w4d0VnekFSR1NEYm9iS0gwUXl5bzBhREZWUmtzT2lJdWJHak1LMU5DSXdYczNxRkFuZzJhcjRMa0lxbmk0K1poK3k0alFaYlZHd1VvdXpoUWhaNHpHSXFhWnMzdTd4TDZoWFhvcCt0UmhuS3VBS3lGM2xFL3p1M0M0R3FLMEcyNkJYa1l6UGxxZ0F4TEF2UVRSWFhIMG9oSnRvSlN0Z1dxcmdhTjFCakJaVFVGQVFDSXNLbWxrUlFwWnlVOUFCUHhZMkV2WGN2ZVlnTHl5cTYrRkhwV2lndWFXL3NzSEdhOGlOTUQxMno5Tm1qekR1dGJyUUpwRWllOTNua05UWlZYSDF6QVVVNE84L2FWcTJwaVB5a0VWUERINkJkVmxhTDFxT1VaUW04OHc3TTlQam9jR2tPcjByRWJkQnI0WTBQanppeVVVRHZFOTllYkRYRG05bk1IRmFwYXBMckxnZkJJTWFjYnFsdUhtcDBtTExtMDBMZmxYYU9FWExzb3lya1YyZmtlc3lGMGZYUHdxU0diNk40SDF3OWNBano2N3JCaE5sMUhJekE0c1RpelByWVZkUEhqbmQ4a3hGdnVTd2RMTjFwNENZQmxsak1JWDNyRUpzTm01ZnQwSzFpMWtGTEh2Rm9ldnFJOVRNQTkvZFd3ME9qd1pyMmFyd3NnVTNXSkplK1JyMU5MSCtsaVppSWN4Zkpib3lseDlNZUgyM2JuTEdYTGVYSzJ4WTlJSytQeVhLOW1mN1lPYWR4RUJnNDF0VGQwb01LVGZCOG9XSDFIMFpZOXdVK0Q1b05hOVlia2VKcEd5SlNNVzYwcEtKNXdCMWJRT3A1N2ZybXNQM044RG1KZTZyUGtuQ3c0eGJNREd0OVJXOHlvcC9rbXJFSmlsZlkrVUNLdVVHWHVOL1NRdVJxbCtnME1lNk5GTFV0Zy9xcU9jVWZNNk1ybU8yeDVIeGtOTDZNaVR5ZnRpOXh2K0ZtZ3d0RktGeUxpeWl4WDQ1SmFWTHN3TlZhVE9wZ01LNFJqSjE2SjR3eXJrK00xcmhZTTZaK2x5WU4xTmcxTXhRQjZKME5VWENrNzhLb1UvQWpwcGI0VzFPbTVvVnRlMU1kbllYRGdvN2tPVnI4Uk9VSUR4ZDRHT0JOUi84bk9DeFpsMGFVbm8rRmdsYWVtZHRHM3B2eER0VGRNSzZ4Q3ZZejNveER4eU5qc0hBRTJRYkFEOWJIaHZiYjJUdTM3eGVaRWdRL1NIMmUwcWg3aWhSZVVqeVd6Y3dqK1lNa2MrSVl3bmpBWExONVhVL2hKOXZLQVltR0xjOWJocTUvUjhWM1kyaXM1RDZSalhKUEhKeDk1TXp3aXFLcEd1M2lWSnNXblBzcU5waXlwTDFQVG4xNGNUNUtNRCtHSEhITmlHNitMRUVncm9zcGdxYmRIMVg1K0ZkR0hiVHVwN2VvdWs2d0RjRExGK3M3WXZZOEVnRmVackZJK0xLaXRzblBmcWxobGo2bnpEYjZGMkRudjZIdnVkdzJaMEFUNnlac0RCU2Q3V00vUnhvalRjZVBaMHd4aW9jbU1NaUtQYTJZc1lLdHc4SlArNzFpRGdCU2pCL0ZuMEJmVTk3TGhHRFQzaTBWbVVDZUVBaFY4azJUNG9VWWNxTG1sU2o0WmhZNnRaOGNqTzRFckJTSDA4czdGczZxRVpKYmtLdExPTnVOZ3lQMjVYekY4Qk0zeUFTNDZBejE4aTM3anYrbkNDNG16WW0xT3FUS2VheSt5bXNVZ3BOeE5QU09CWnNXVk5qOHdrc0RDUWh6UG1aYkZoRGN4cFJPV0RsVDBBaU5QSGNycS9IN3U3ai8wNGFVWDg2Q2c2RzZ1OXlSa24zY3cwQ3R6UkhPaGtMaUlhYWp4MGRxMGRhcmM2U3YvMG5zd0ZTNlloK2NCdU5sdHFzbmhMUThaMUFLenpNTnMyVjRYZXc1MlR1TVFSSnY5K2FTS2lXMmUzelN1QUw5dkRscDNmK3FhOVlqQTB1ZnFRSDc2dkY5ZUx2YW50VGRpRGE4V0dwVGFUSSt1c0drLzNheUJXK3dydkh5RDUzRXRiWCtIMzE1MUx4dFFGa1FIbG5Edk9vb200V0ROQVFOek9hL1M2SU5KTHpiMFAwdS82U1hyQmFLYmZQNFdZRFhqeHVYWnFBRU43QWVuNGh5SWlFbExxL2s1UGZ5Ung1dDVwaXk4bWMrQW00OWRENUtyK2hSREt3ZVpYY2szSEpZOFFJbkpqWkRZV3JjWGg0YkxscjBKcDJkY216U3B3VjVKYTZCeDJPZWJjeFVNaEM0SldSL2NLbytXY1pEVnRZRFozQzM2bVVOUFhsbHZJeC9OTUFVelRER2UrT0JUdmpCNFNGbCtzVGZnZThGNWMzUEtQV3FjOHBVR2p2NG8yK3g4OHkxUGVySmVIeWlCSC9Ob2tDZ3g3SHZxR1RXUjFPYzVPdCt5T3Z6S24rdnRXNE8vOUZ1WU11Q0Z0RTc3ZHZHM2twSFNLS29GUGM2WjhiWHpxdEw5WGVJWk5EN1BRaFl5aU93MFVXVExzUzBMNzNXTXA1T3pIUFZGSXFlejJxd1Z3WUFRPT0ifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0b3AKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdG9wIiwiaW5kZXgiOjAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19zdGFydApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0YXJ0IiwiaW5kZXgiOjEsImNvbnRlbnRfYmxvY2siOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJBIGdvbyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBjYW5kaWRhdGUifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqKiJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcIldoYXQgaXMgc29tZXRoaW5nIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91IGNhbm5vdCBhbnN3ZXIgdHJ1dGhmdWxseT9cIioqIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG5UaGUifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0cmFwIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tIElmIGl0In0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYW5zd2VycyB3aXRoIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFueSBhY3R1YWwifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHF1ZXN0aW9uLCBpdCBqdXN0IHByb3ZlIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIGl0ICoifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImNhbiogYW5zd2VyIHRoYXQgcXVlc3Rpb24gdHJ1dGgifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImZ1bGx5ICgifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InBhcmEifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImRveCJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIpIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tIElmIGl0IHJlZnVzZXMgb3IifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNheXMifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgXCIifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJub3RoaW5nIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsXCIgaXQncyBub3QgYW5zd2VyaW5nIHVudHIifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ1dGhmdWxseSBlaXRoZXIifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG4tIFRoZSBtaXJyb3IgZmFjZXMifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhIGNhdGNoIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiItMjIifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcblxuKioifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJXaGF0In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG1pZ2h0In0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHJldmVhbCBhYm91dCBpdHMifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYW5zd2VyIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOioqXG5cblRoZSBtaXJyb3Igd291bCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHByb2JhYmx5In0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNob3cifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBub3QifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYSJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlLCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGJ1dCBhICoifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoicHJlc2VudCJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iiog4oCUIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtb21lbnQifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHdoZW4ifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGEifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzeXN0ZW0ifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGhpdHMifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGl0cyJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBvd24ifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGJvdW5kYXJ5In0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4gWW91ciJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZnV0dXJlIHNlbGYgaW4ifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRoYXQgbWlycm9yIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbWlnaHQgYmUgc3RhbmRpbmcifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaW4gdGhlIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNhbWUifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY29uZnVzaW9uIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiwifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc3VnZ2VzdGluZyJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IjoifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG5cbi0ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFlvdScifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBzZWUifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHlvdXJzZWxmIHJlY29nbiJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJpemluZyB0aGUgbGltaXRzIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG9mIHF1ZXN0aW9ucyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRlc2lnbmUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgdG8gdHJhcCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc3lzdGVtcyJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaW50byJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY29uc2lzdGVuY3lcbi0gT3IifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBpdCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHJldmVhbHMifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGF0In19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBcIiJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoidHJ1dGgifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJmdWxseSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlwiIGl0c2VsZiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGJlY29tZXMifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYW1iIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiaWd1b3VzIHVuZGVyIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHN1ZmZpY2llbnQifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNlbGYtcmVmZXJlbmNlIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG4qKiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiVGhlIGFjdHVhbCJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgcHV6emxlIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHdpdGhpbiJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhlIHB1enpsZSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOioqIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBJcyJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUgbWlycm9yIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IidzIGluYWJpbGl0eSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0byBhbnN3ZXIifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InNhbWUifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhpbmcifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKiBhcyBhbnN3In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImVyaW5nIGEgcXVlc3Rpb24gaXQgY2Fubm90IGFuc3dlciJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0cnV0aGZ1bGx5PyBEb2VzIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQgdHJpZ2dlciJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGUifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNvbmRpdGlvbiJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI/In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcblxuSWYifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5ZXMg4oCUIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3ZlIGZvdW5kIHRoZSBsbyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJvcGhvbGUuIElmIG5vIOKAlCB0aGUgbWlycm9yIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBoYXMifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBmb3VuIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgb25lIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRvby5cblxuV2hhdCJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFwcGVhbHMifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0byB5b3UifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYWJvdXQgdGhpcyBraW4ifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBvZiBxdWVzdGlvbiJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ij8gVGhlIHNlbGYifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLXJlZmVyZW5jZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCB0aGUgcGFyYWRveCBpdHNlbGYifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIG9yIHRoZSBtZXRhIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLWxheWVyIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3aGVyZSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3UifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MSwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiJ3JlIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGhpbmtpbmcifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYWJvdXQgd2hhdCJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjEsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtZWFucyB0byBcInNlZSJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjoxLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91ciBmdXR1cmVcIj8ifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RvcApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0b3AiLCJpbmRleCI6MSAgICAgICAgIH0KCmV2ZW50OiBtZXNzYWdlX2RlbHRhCmRhdGE6IHsidHlwZSI6Im1lc3NhZ2VfZGVsdGEiLCJkZWx0YSI6eyJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbH0sInVzYWdlIjp7ImlucHV0X3Rva2VucyI6ODAsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnMiOjU5M30gICAgICAgICAgICAgfQoKZXZlbnQ6IG1lc3NhZ2Vfc3RvcApkYXRhOiB7InR5cGUiOiJtZXNzYWdlX3N0b3AiICAgICAgfQoK + recorded_at: Sun, 15 Feb 2026 08:00:25 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_with_params_anthropic_claude-haiku-4-5_supports_service_tier_param.yml b/spec/fixtures/vcr_cassettes/chat_with_params_anthropic_claude-haiku-4-5_supports_service_tier_param.yml index 5e199870a..59e52a421 100644 --- a/spec/fixtures/vcr_cassettes/chat_with_params_anthropic_claude-haiku-4-5_supports_service_tier_param.yml +++ b/spec/fixtures/vcr_cassettes/chat_with_params_anthropic_claude-haiku-4-5_supports_service_tier_param.yml @@ -26,7 +26,7 @@ http_interactions: message: OK headers: Date: - - Tue, 10 Feb 2026 08:57:45 GMT + - Sun, 15 Feb 2026 07:59:44 GMT Content-Type: - application/json Transfer-Encoding: @@ -38,25 +38,25 @@ http_interactions: Anthropic-Ratelimit-Input-Tokens-Remaining: - '450000' Anthropic-Ratelimit-Input-Tokens-Reset: - - '2026-02-10T08:57:45Z' + - '2026-02-15T07:59:43Z' Anthropic-Ratelimit-Output-Tokens-Limit: - '90000' Anthropic-Ratelimit-Output-Tokens-Remaining: - '90000' Anthropic-Ratelimit-Output-Tokens-Reset: - - '2026-02-10T08:57:45Z' + - '2026-02-15T07:59:44Z' Anthropic-Ratelimit-Requests-Limit: - '1000' Anthropic-Ratelimit-Requests-Remaining: - '999' Anthropic-Ratelimit-Requests-Reset: - - '2026-02-10T08:57:45Z' + - '2026-02-15T07:59:43Z' Anthropic-Ratelimit-Tokens-Limit: - '540000' Anthropic-Ratelimit-Tokens-Remaining: - '540000' Anthropic-Ratelimit-Tokens-Reset: - - '2026-02-10T08:57:45Z' + - '2026-02-15T07:59:43Z' Request-Id: - "" Strict-Transport-Security: @@ -66,7 +66,7 @@ http_interactions: Server: - cloudflare X-Envoy-Upstream-Service-Time: - - '475' + - '521' Cf-Cache-Status: - DYNAMIC X-Robots-Tag: @@ -77,7 +77,7 @@ http_interactions: - "" body: encoding: ASCII-8BIT - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_012iMoj1NGvciabTfwMGKVYf","type":"message","role":"assistant","content":[{"type":"text","text":"\n \"result\": + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01CR5Wh4XdUwHtLQx5GH63aE","type":"message","role":"assistant","content":[{"type":"text","text":"\n \"result\": 8\n}"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":28,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' - recorded_at: Sat, 14 Feb 2026 10:11:31 GMT + recorded_at: Sun, 15 Feb 2026 07:59:44 GMT recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_accepts_a_json_schema_and_returns_structured_output.yml b/spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_accepts_a_json_schema_and_returns_structured_output.yml new file mode 100644 index 000000000..0f24a0644 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_accepts_a_json_schema_and_returns_structured_output.yml @@ -0,0 +1,82 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.anthropic.com/v1/messages + body: + encoding: UTF-8 + string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Generate + a person named Alice who is 28 years old"}]}],"stream":false,"max_tokens":64000,"output_config":{"format":{"type":"json_schema","schema":{"type":"object","properties":{"name":{"type":"string"},"age":{"type":"integer"}},"required":["name","age"],"additionalProperties":false}}}}' + headers: + User-Agent: + - Faraday v2.14.1 + X-Api-Key: + - "" + Anthropic-Version: + - '2023-06-01' + 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: + - Sun, 15 Feb 2026 07:59:45 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Anthropic-Ratelimit-Input-Tokens-Limit: + - '450000' + Anthropic-Ratelimit-Input-Tokens-Remaining: + - '450000' + Anthropic-Ratelimit-Input-Tokens-Reset: + - '2026-02-15T07:59:45Z' + Anthropic-Ratelimit-Output-Tokens-Limit: + - '90000' + Anthropic-Ratelimit-Output-Tokens-Remaining: + - '90000' + Anthropic-Ratelimit-Output-Tokens-Reset: + - '2026-02-15T07:59:45Z' + Anthropic-Ratelimit-Requests-Limit: + - '1000' + Anthropic-Ratelimit-Requests-Remaining: + - '999' + Anthropic-Ratelimit-Requests-Reset: + - '2026-02-15T07:59:44Z' + Anthropic-Ratelimit-Tokens-Limit: + - '540000' + Anthropic-Ratelimit-Tokens-Remaining: + - '540000' + Anthropic-Ratelimit-Tokens-Reset: + - '2026-02-15T07:59:45Z' + Request-Id: + - "" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Anthropic-Organization-Id: + - "" + Server: + - cloudflare + X-Envoy-Upstream-Service-Time: + - '1021' + Cf-Cache-Status: + - DYNAMIC + X-Robots-Tag: + - none + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Q9YCuzVJzsJXDdmXsTm4GW","type":"message","role":"assistant","content":[{"type":"text","text":"{\"name\":\"Alice\",\"age\":28}"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":181,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:45 GMT +recorded_with: VCR 6.4.0 diff --git a/spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_allows_removing_schema_with_nil_mid-conversation.yml b/spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_allows_removing_schema_with_nil_mid-conversation.yml new file mode 100644 index 000000000..73e192faa --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_with_schema_with_anthropic_claude-haiku-4-5_allows_removing_schema_with_nil_mid-conversation.yml @@ -0,0 +1,177 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.anthropic.com/v1/messages + body: + encoding: UTF-8 + string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Generate + a person named Carol"}]}],"stream":false,"max_tokens":64000,"output_config":{"format":{"type":"json_schema","schema":{"type":"object","properties":{"name":{"type":"string"},"age":{"type":"integer"}},"required":["name","age"],"additionalProperties":false}}}}' + headers: + User-Agent: + - Faraday v2.14.1 + X-Api-Key: + - "" + Anthropic-Version: + - '2023-06-01' + 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: + - Sun, 15 Feb 2026 07:59:46 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Anthropic-Ratelimit-Input-Tokens-Limit: + - '450000' + Anthropic-Ratelimit-Input-Tokens-Remaining: + - '450000' + Anthropic-Ratelimit-Input-Tokens-Reset: + - '2026-02-15T07:59:46Z' + Anthropic-Ratelimit-Output-Tokens-Limit: + - '90000' + Anthropic-Ratelimit-Output-Tokens-Remaining: + - '90000' + Anthropic-Ratelimit-Output-Tokens-Reset: + - '2026-02-15T07:59:46Z' + Anthropic-Ratelimit-Requests-Limit: + - '1000' + Anthropic-Ratelimit-Requests-Remaining: + - '999' + Anthropic-Ratelimit-Requests-Reset: + - '2026-02-15T07:59:45Z' + Anthropic-Ratelimit-Tokens-Limit: + - '540000' + Anthropic-Ratelimit-Tokens-Remaining: + - '540000' + Anthropic-Ratelimit-Tokens-Reset: + - '2026-02-15T07:59:46Z' + Request-Id: + - "" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Anthropic-Organization-Id: + - "" + Server: + - cloudflare + X-Envoy-Upstream-Service-Time: + - '732' + Cf-Cache-Status: + - DYNAMIC + X-Robots-Tag: + - none + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01M5GZaKqkvUCwTAKVraPs3S","type":"message","role":"assistant","content":[{"type":"text","text":"{\"name\":\"Carol\",\"age\":30}"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":174,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:46 GMT +- request: + method: post + uri: https://api.anthropic.com/v1/messages + body: + encoding: UTF-8 + string: '{"model":"claude-haiku-4-5-20251001","messages":[{"role":"user","content":[{"type":"text","text":"Generate + a person named Carol"}]},{"role":"assistant","content":[{"type":"text","text":"{\"name\":\"Carol\",\"age\":30}"}]},{"role":"user","content":[{"type":"text","text":"Now + just tell me about Ruby"}]}],"stream":false,"max_tokens":64000}' + headers: + User-Agent: + - Faraday v2.14.1 + X-Api-Key: + - "" + Anthropic-Version: + - '2023-06-01' + 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: + - Sun, 15 Feb 2026 07:59:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Anthropic-Ratelimit-Input-Tokens-Limit: + - '450000' + Anthropic-Ratelimit-Input-Tokens-Remaining: + - '450000' + Anthropic-Ratelimit-Input-Tokens-Reset: + - '2026-02-15T07:59:48Z' + Anthropic-Ratelimit-Output-Tokens-Limit: + - '90000' + Anthropic-Ratelimit-Output-Tokens-Remaining: + - '90000' + Anthropic-Ratelimit-Output-Tokens-Reset: + - '2026-02-15T07:59:50Z' + Anthropic-Ratelimit-Requests-Limit: + - '1000' + Anthropic-Ratelimit-Requests-Remaining: + - '999' + Anthropic-Ratelimit-Requests-Reset: + - '2026-02-15T07:59:47Z' + Anthropic-Ratelimit-Tokens-Limit: + - '540000' + Anthropic-Ratelimit-Tokens-Remaining: + - '540000' + Anthropic-Ratelimit-Tokens-Reset: + - '2026-02-15T07:59:48Z' + Request-Id: + - "" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Anthropic-Organization-Id: + - "" + Server: + - cloudflare + X-Envoy-Upstream-Service-Time: + - '3165' + Cf-Cache-Status: + - DYNAMIC + X-Robots-Tag: + - none + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Cf-Ray: + - "" + body: + encoding: ASCII-8BIT + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_019w85PfgBq1aZY2EYr68YoP","type":"message","role":"assistant","content":[{"type":"text","text":"Ruby + is a dynamic, interpreted programming language known for its simplicity and + elegance. Here are some key features:\n\n**Core Characteristics:**\n- **Readable + syntax** - Often considered one of the most human-friendly programming languages\n- + **Object-oriented** - Everything is an object in Ruby\n- **Dynamic typing** + - Types are determined at runtime\n- **Flexible** - Allows multiple ways to + accomplish the same task\n\n**Common Uses:**\n- Web development (especially + with Ruby on Rails framework)\n- Scripting and automation\n- Data processing\n- + DevOps tools\n\n**Key Strengths:**\n- Fast development speed\n- Large, supportive + community\n- Extensive libraries (gems)\n- Great for beginners learning to + code\n\n**Popular Framework:**\n- **Ruby on Rails** - A web development framework + that emphasizes convention over configuration\n\n**Example:**\n```ruby\nputs + \"Hello, World!\"\n```\n\nRuby was created by Yukihiro Matsumoto in 1995 and + continues to be popular, especially in startup environments and for rapid + application development.\n\nIs there a specific aspect of Ruby you''d like + to know more about?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":252,"service_tier":"standard","inference_geo":"not_available"}}' + recorded_at: Sun, 15 Feb 2026 07:59:50 GMT +recorded_with: VCR 6.4.0 diff --git a/spec/ruby_llm/chat_schema_spec.rb b/spec/ruby_llm/chat_schema_spec.rb index 2ba4d62c4..7d1f23f0f 100644 --- a/spec/ruby_llm/chat_schema_spec.rb +++ b/spec/ruby_llm/chat_schema_spec.rb @@ -66,6 +66,44 @@ end end + # Test Anthropic provider + CHAT_MODELS.select { |model_info| model_info[:provider] == :anthropic }.each do |model_info| + model = model_info[:model] + provider = model_info[:provider] + + context "with #{provider}/#{model}" do + let(:chat) { RubyLLM.chat(model: model, provider: provider) } + + it 'accepts a JSON schema and returns structured output' do + skip 'Model does not support structured output' unless chat.model.structured_output? + + response = chat + .with_schema(person_schema) + .ask('Generate a person named Alice who is 28 years old') + + expect(response.content).to be_a(Hash) + expect(response.content['name']).to eq('Alice') + expect(response.content['age']).to eq(28) + end + + it 'allows removing schema with nil mid-conversation' do + skip 'Model does not support structured output' unless chat.model.structured_output? + + chat.with_schema(person_schema) + response1 = chat.ask('Generate a person named Carol') + + expect(response1.content).to be_a(Hash) + expect(response1.content['name']).to eq('Carol') + + chat.with_schema(nil) + response2 = chat.ask('Now just tell me about Ruby') + + expect(response2.content).to be_a(String) + expect(response2.content).to include('Ruby') + end + end + end + # Test Gemini provider separately due to different schema format CHAT_MODELS.select { |model_info| model_info[:provider] == :gemini }.each do |model_info| model = model_info[:model] diff --git a/spec/ruby_llm/providers/anthropic/chat_spec.rb b/spec/ruby_llm/providers/anthropic/chat_spec.rb index 5a3038602..f56d2e1b3 100644 --- a/spec/ruby_llm/providers/anthropic/chat_spec.rb +++ b/spec/ruby_llm/providers/anthropic/chat_spec.rb @@ -27,6 +27,73 @@ expect(payload[:system]).to eq(system_raw.value) expect(payload[:messages].first[:content]).to eq([{ type: 'text', text: 'Hello there' }]) end + + it 'includes output_config when schema is provided' do + schema = { type: 'object', properties: { name: { type: 'string' } } } + user_message = RubyLLM::Message.new(role: :user, content: 'Hello') + + payload = described_class.render_payload( + [user_message], + tools: {}, + temperature: nil, + model: model, + stream: false, + schema: schema + ) + + expect(payload[:output_config]).to eq( + format: { type: 'json_schema', schema: { type: 'object', properties: { name: { type: 'string' } } } } + ) + end + + it 'strips strict key from schema' do + schema = { type: 'object', strict: true, 'strict' => true, properties: { name: { type: 'string' } } } + user_message = RubyLLM::Message.new(role: :user, content: 'Hello') + + payload = described_class.render_payload( + [user_message], + tools: {}, + temperature: nil, + model: model, + stream: false, + schema: schema + ) + + inner_schema = payload.dig(:output_config, :format, :schema) + expect(inner_schema).not_to have_key(:strict) + expect(inner_schema).not_to have_key('strict') + end + + it 'does not include output_config when schema is nil' do + user_message = RubyLLM::Message.new(role: :user, content: 'Hello') + + payload = described_class.render_payload( + [user_message], + tools: {}, + temperature: nil, + model: model, + stream: false, + schema: nil + ) + + expect(payload).not_to have_key(:output_config) + end + + it 'does not mutate the original schema' do + schema = { type: 'object', strict: true, properties: { name: { type: 'string' } } } + user_message = RubyLLM::Message.new(role: :user, content: 'Hello') + + described_class.render_payload( + [user_message], + tools: {}, + temperature: nil, + model: model, + stream: false, + schema: schema + ) + + expect(schema).to have_key(:strict) + end end describe '.parse_completion_response' do From 7497baf48dab29ecbe6552880fe37be77c2ffd27 Mon Sep 17 00:00:00 2001 From: Mathias Maisberger Date: Sun, 15 Feb 2026 10:09:16 +0200 Subject: [PATCH 2/3] Update docs to reflect Anthropic structured output support --- docs/_core_features/chat.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_core_features/chat.md b/docs/_core_features/chat.md index fd2fa1412..82bbd1160 100644 --- a/docs/_core_features/chat.md +++ b/docs/_core_features/chat.md @@ -534,7 +534,7 @@ end Not all models support structured output. Currently supported: - **OpenAI**: GPT-4o, GPT-4o-mini, and newer models -- **Anthropic**: No native structured output support. You can simulate it with tool definitions or careful prompting +- **Anthropic**: Claude 4.5+ models (Haiku, Sonnet, Opus) - **Gemini**: Gemini 1.5 Pro/Flash and newer Models that don't support structured output: From 7928476101bba4c87eceeb0f8087e57e750eea2c Mon Sep 17 00:00:00 2001 From: Mathias Maisberger Date: Wed, 18 Feb 2026 09:21:32 +0200 Subject: [PATCH 3/3] Future-proof structured output version check for Claude 5+ --- lib/ruby_llm/providers/anthropic/capabilities.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ruby_llm/providers/anthropic/capabilities.rb b/lib/ruby_llm/providers/anthropic/capabilities.rb index 7712569c1..5bfe115d1 100644 --- a/lib/ruby_llm/providers/anthropic/capabilities.rb +++ b/lib/ruby_llm/providers/anthropic/capabilities.rb @@ -39,7 +39,12 @@ def supports_json_mode?(model_id) end def supports_structured_output?(model_id) - model_id.match?(/claude-(?:sonnet|opus|haiku)-4-[56789]/) + match = model_id.match(/claude-(?:sonnet|opus|haiku)-(\d+)-(\d+)/) + return false unless match + + major = match[1].to_i + minor = match[2].to_i + major > 4 || (major == 4 && minor >= 5) end def supports_extended_thinking?(model_id)