diff --git a/app/controllers/cart_controller.rb b/app/controllers/cart_controller.rb index c8d246ee219..5eadc172d18 100644 --- a/app/controllers/cart_controller.rb +++ b/app/controllers/cart_controller.rb @@ -11,6 +11,8 @@ def populate order.cap_quantity_at_stock! order.recreate_all_fees! + StockSyncJob.sync_linked_catalogs(order) + render json: { error: false, stock_levels: stock_levels(order) }, status: :ok else render json: { error: cart_service.errors.full_messages.join(",") }, diff --git a/app/jobs/backorder_job.rb b/app/jobs/backorder_job.rb index 568e622305f..174fe125ff5 100644 --- a/app/jobs/backorder_job.rb +++ b/app/jobs/backorder_job.rb @@ -13,17 +13,9 @@ class BackorderJob < ApplicationJob sidekiq_options retry: 0 def self.check_stock(order) - variants_needing_stock = order.variants.select do |variant| - # TODO: scope variants to hub. - # We are only supporting producer stock at the moment. - variant.on_hand&.negative? - end + links = SemanticLink.where(variant_id: order.line_items.select(:variant_id)) - linked_variants = variants_needing_stock.select do |variant| - variant.semantic_links.present? - end - - perform_later(order, linked_variants) if linked_variants.present? + perform_later(order) if links.exists? rescue StandardError => e # Errors here shouldn't affect the checkout. So let's report them # separately: @@ -32,44 +24,60 @@ def self.check_stock(order) end end - def perform(order, linked_variants) + def perform(order) OrderLocker.lock_order_and_variants(order) do - place_backorder(order, linked_variants) + place_backorder(order) end rescue StandardError # If the backordering fails, we need to tell the shop owner because they # need to organgise more stock. - BackorderMailer.backorder_failed(order, linked_variants).deliver_later + BackorderMailer.backorder_failed(order).deliver_later raise end - def place_backorder(order, linked_variants) + def place_backorder(order) user = order.distributor.owner + items = backorderable_items(order) # We are assuming that all variants are linked to the same wholesale # shop and its catalog: - urls = FdcUrlBuilder.new(linked_variants[0].semantic_links[0].semantic_id) + reference_link = items[0].variant.semantic_links[0].semantic_id + urls = FdcUrlBuilder.new(reference_link) orderer = FdcBackorderer.new(user, urls) backorder = orderer.find_or_build_order(order) broker = load_broker(order.distributor.owner, urls) ordered_quantities = {} - linked_variants.each do |variant| - retail_quantity = add_item_to_backorder(variant, broker, backorder, orderer) - ordered_quantities[variant] = retail_quantity + items.each do |item| + retail_quantity = add_item_to_backorder(item, broker, backorder, orderer) + ordered_quantities[item] = retail_quantity end place_order(user, order, orderer, backorder) - linked_variants.each do |variant| - variant.on_hand += ordered_quantities[variant] + items.each do |item| + variant = item.variant + variant.on_hand += ordered_quantities[item] if variant.on_demand end end - def add_item_to_backorder(variant, broker, backorder, orderer) - needed_quantity = -1 * variant.on_hand + # We look at linked variants which are either stock controlled or + # are on demand with negative stock. + def backorderable_items(order) + order.line_items.select do |item| + # TODO: scope variants to hub. + # We are only supporting producer stock at the moment. + variant = item.variant + variant.semantic_links.present? && + (variant.on_demand == false || variant.on_hand&.negative?) + end + end + + def add_item_to_backorder(line_item, broker, backorder, orderer) + variant = line_item.variant + needed_quantity = needed_quantity(line_item) solution = broker.best_offer(variant.semantic_links[0].semantic_id) # The number of wholesale packs we need to order to fulfill the @@ -88,6 +96,26 @@ def add_item_to_backorder(variant, broker, backorder, orderer) retail_quantity end + # We have two different types of stock management: + # + # 1. on demand + # We don't restrict sales but account for the quantity sold in our local + # stock level. If it goes negative, we need more stock and trigger a + # backorder. + # 2. limited stock + # The local stock level is a copy from another catalog. We limit sales + # according to that stock level. Every order reduces the local stock level + # and needs to trigger a backorder of the same quantity to stay in sync. + def needed_quantity(line_item) + variant = line_item.variant + + if variant.on_demand + -1 * variant.on_hand # on_hand is negative and we need to replenish it. + else + line_item.quantity # We need to order exactly what's we sold. + end + end + def load_broker(user, urls) FdcOfferBroker.new(user, urls) end diff --git a/app/jobs/complete_backorder_job.rb b/app/jobs/complete_backorder_job.rb index 9e31cf3d2a8..985ea59e3de 100644 --- a/app/jobs/complete_backorder_job.rb +++ b/app/jobs/complete_backorder_job.rb @@ -22,7 +22,7 @@ def perform(user, distributor, order_cycle, order_id) urls = FdcUrlBuilder.new(order.lines[0].offer.offeredItem.semanticId) variants = order_cycle.variants_distributed_by(distributor) - adjust_quantities(user, order, urls, variants) + adjust_quantities(order_cycle, user, order, urls, variants) FdcBackorderer.new(user, urls).complete_order(order) rescue StandardError @@ -36,7 +36,7 @@ def perform(user, distributor, order_cycle, order_id) # Our local stock can increase when users cancel their orders. # But stock levels could also have been adjusted manually. So we review all # quantities before finalising the order. - def adjust_quantities(user, order, urls, variants) + def adjust_quantities(order_cycle, user, order, urls, variants) broker = FdcOfferBroker.new(user, urls) order.lines.each do |line| @@ -45,18 +45,35 @@ def adjust_quantities(user, order, urls, variants) transformation = broker.wholesale_to_retail(wholesale_product_id) linked_variant = variants.linked_to(transformation.retail_product_id) - # Note that a division of integers dismisses the remainder, like `floor`: - wholesale_items_contained_in_stock = linked_variant.on_hand / transformation.factor - - # But maybe we didn't actually order that much: - deductable_quantity = [line.quantity, wholesale_items_contained_in_stock].min - line.quantity -= deductable_quantity - - retail_stock_changes = deductable_quantity * transformation.factor - linked_variant.on_hand -= retail_stock_changes + # Find all line items for this order cycle + # Update quantity accordingly + if linked_variant.on_demand + release_superfluous_stock(line, linked_variant, transformation) + else + aggregate_final_quantities(order_cycle, line, linked_variant, transformation) + end end # Clean up empty lines: order.lines.reject! { |line| line.quantity.zero? } end + + def release_superfluous_stock(line, linked_variant, transformation) + # Note that a division of integers dismisses the remainder, like `floor`: + wholesale_items_contained_in_stock = linked_variant.on_hand / transformation.factor + + # But maybe we didn't actually order that much: + deductable_quantity = [line.quantity, wholesale_items_contained_in_stock].min + line.quantity -= deductable_quantity + + retail_stock_changes = deductable_quantity * transformation.factor + linked_variant.on_hand -= retail_stock_changes + end + + def aggregate_final_quantities(order_cycle, line, variant, transformation) + orders = order_cycle.orders.invoiceable + quantity = Spree::LineItem.where(order: orders, variant:).sum(:quantity) + wholesale_quantity = (quantity.to_f / transformation.factor).ceil + line.quantity = wholesale_quantity + end end diff --git a/app/jobs/stock_sync_job.rb b/app/jobs/stock_sync_job.rb new file mode 100644 index 00000000000..9359aeb81e0 --- /dev/null +++ b/app/jobs/stock_sync_job.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +class StockSyncJob < ApplicationJob + # No retry but stay as failed job: + sidekiq_options retry: 0 + + # We synchronise stock of stock-controlled variants linked to a remote + # product. These variants are rare though and we check first before we + # enqueue a new job. That should save some time loading the order with + # all the stock data to make this decision. + def self.sync_linked_catalogs(order) + stock_controlled_variants = order.variants.reject(&:on_demand) + links = SemanticLink.where(variant_id: stock_controlled_variants.map(&:id)) + semantic_ids = links.pluck(:semantic_id) + + return if semantic_ids.empty? + + user = order.distributor.owner + reference_id = semantic_ids.first # Assuming one catalog for now. + perform_later(user, reference_id) + rescue StandardError => e + # Errors here shouldn't affect the shopping. So let's report them + # separately: + Bugsnag.notify(e) do |payload| + payload.add_metadata(:order, order) + end + end + + def perform(user, semantic_id) + urls = FdcUrlBuilder.new(semantic_id) + json_catalog = DfcRequest.new(user).call(urls.catalog_url) + graph = DfcIo.import(json_catalog) + + products = graph.select do |subject| + subject.is_a? DataFoodConsortium::Connector::SuppliedProduct + end + products_by_id = products.index_by(&:semanticId) + product_ids = products_by_id.keys + variants = Spree::Variant.where(supplier: user.enterprises) + .includes(:semantic_links).references(:semantic_links) + .where(semantic_links: { semantic_id: product_ids }) + + variants.each do |variant| + next if variant.on_demand + + product = products_by_id[variant.semantic_links[0].semantic_id] + catalog_item = product&.catalogItems&.first + CatalogItemBuilder.apply_stock(catalog_item, variant) + variant.stock_items[0].save! + end + end +end diff --git a/app/mailers/backorder_mailer.rb b/app/mailers/backorder_mailer.rb index a3ecb34be74..eb5dcc7c3c2 100644 --- a/app/mailers/backorder_mailer.rb +++ b/app/mailers/backorder_mailer.rb @@ -3,9 +3,9 @@ class BackorderMailer < ApplicationMailer include I18nHelper - def backorder_failed(order, linked_variants) + def backorder_failed(order) @order = order - @linked_variants = linked_variants + @linked_variants = order.variants I18n.with_locale valid_locale(order.distributor.owner) do mail(to: order.distributor.owner.email) diff --git a/spec/fixtures/vcr_cassettes/BackorderJob/_best_offer/finds_a_linked_offer.yml b/spec/fixtures/vcr_cassettes/BackorderJob/_best_offer/finds_a_linked_offer.yml deleted file mode 100644 index f9099e34e37..00000000000 --- a/spec/fixtures/vcr_cassettes/BackorderJob/_best_offer/finds_a_linked_offer.yml +++ /dev/null @@ -1,198 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts - body: - encoding: US-ASCII - string: '' - headers: - Content-Type: - - application/json - Authorization: - - "" - User-Agent: - - Faraday v2.9.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 403 - message: Forbidden - headers: - Server: - - openresty - Date: - - Thu, 05 Sep 2024 03:40:21 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '78' - Connection: - - keep-alive - X-Powered-By: - - Express - Access-Control-Allow-Origin: - - "*" - Etag: - - W/"4e-vJeBLxgahmv23yP9gdPJW/woako" - Strict-Transport-Security: - - max-age=15811200 - body: - encoding: UTF-8 - string: '{"message":"User access denied - token missing","error":"User not authorized"}' - recorded_at: Thu, 05 Sep 2024 03:40:22 GMT -- request: - method: get - uri: https://login.lescommuns.org/auth/realms/data-food-consortium/.well-known/openid-configuration - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - SWD 2.0.3 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 200 - message: OK - headers: - Date: - - Thu, 05 Sep 2024 03:40:23 GMT - Content-Type: - - application/json;charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Vary: - - Accept-Encoding - Set-Cookie: - - AUTH_SESSION_ID=1725507624.013.17033.331444|78230f584c0d7db97d376e98de5321dc; - Path=/; Secure; HttpOnly - Cache-Control: - - no-cache, must-revalidate, no-transform, no-store - Referrer-Policy: - - no-referrer - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-Xss-Protection: - - 1; mode=block - body: - encoding: ASCII-8BIT - string: '{"issuer":"https://login.lescommuns.org/auth/realms/data-food-consortium","authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth","token_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token","introspection_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token/introspect","userinfo_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/userinfo","end_session_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/logout","frontchannel_logout_session_supported":true,"frontchannel_logout_supported":true,"jwks_uri":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/certs","check_session_iframe":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/login-status-iframe.html","grant_types_supported":["authorization_code","implicit","refresh_token","password","client_credentials","urn:openid:params:grant-type:ciba","urn:ietf:params:oauth:grant-type:device_code"],"acr_values_supported":["0","1"],"response_types_supported":["code","none","id_token","token","id_token - token","code id_token","code token","code id_token token"],"subject_types_supported":["public","pairwise"],"id_token_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"id_token_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"id_token_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"userinfo_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512","none"],"userinfo_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"userinfo_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"request_object_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512","none"],"request_object_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"request_object_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"response_modes_supported":["query","fragment","form_post","query.jwt","fragment.jwt","form_post.jwt","jwt"],"registration_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/clients-registrations/openid-connect","token_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"token_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"introspection_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"introspection_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"authorization_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"authorization_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"authorization_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"claims_supported":["aud","sub","iss","auth_time","name","given_name","family_name","preferred_username","email","acr"],"claim_types_supported":["normal"],"claims_parameter_supported":true,"scopes_supported":["openid","microprofile-jwt","phone","roles","profile","email","address","web-origins","acr","offline_access"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"code_challenge_methods_supported":["plain","S256"],"tls_client_certificate_bound_access_tokens":true,"revocation_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/revoke","revocation_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"revocation_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"device_authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth/device","backchannel_token_delivery_modes_supported":["poll","ping"],"backchannel_authentication_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/ciba/auth","backchannel_authentication_request_signing_alg_values_supported":["PS384","ES384","RS384","ES256","RS256","ES512","PS256","PS512","RS512"],"require_pushed_authorization_requests":false,"pushed_authorization_request_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/par/request","mtls_endpoint_aliases":{"token_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token","revocation_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/revoke","introspection_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token/introspect","device_authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth/device","registration_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/clients-registrations/openid-connect","userinfo_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/userinfo","pushed_authorization_request_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/par/request","backchannel_authentication_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/ciba/auth"},"authorization_response_iss_parameter_supported":true}' - recorded_at: Thu, 05 Sep 2024 03:40:23 GMT -- request: - method: post - uri: https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token - body: - encoding: UTF-8 - string: grant_type=refresh_token&refresh_token= - headers: - User-Agent: - - Rack::OAuth2 (2.2.1) - Authorization: - - "" - Content-Type: - - application/x-www-form-urlencoded - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 200 - message: OK - headers: - Date: - - Thu, 05 Sep 2024 03:40:24 GMT - Content-Type: - - application/json - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Vary: - - Accept-Encoding - Set-Cookie: - - AUTH_SESSION_ID=1725507625.168.60804.972050|78230f584c0d7db97d376e98de5321dc; - Path=/; Secure; HttpOnly - Cache-Control: - - no-store - Pragma: - - no-cache - Referrer-Policy: - - no-referrer - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-Xss-Protection: - - 1; mode=block - body: - encoding: ASCII-8BIT - string: '{"access_token":"","expires_in":1800,"refresh_expires_in":31535569,"refresh_token":"","token_type":"Bearer","id_token":"","not-before-policy":0,"session_state":"78c74723-7be8-4383-a612-ad9e0bd2ddf9","scope":"openid - profile email"}' - recorded_at: Thu, 05 Sep 2024 03:40:24 GMT -- request: - method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts - body: - encoding: US-ASCII - string: '' - headers: - Content-Type: - - application/json - Authorization: - - "" - User-Agent: - - Faraday v2.9.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 200 - message: OK - headers: - Server: - - openresty - Date: - - Thu, 05 Sep 2024 03:40:26 GMT - Content-Type: - - text/html; charset=utf-8 - Content-Length: - - '20909' - Connection: - - keep-alive - X-Powered-By: - - Express - Access-Control-Allow-Origin: - - "*" - Etag: - - W/"51ad-X+QUsvsji34/sgsywMCZIWJPP/E" - Set-Cookie: - - SRVGROUP=common; path=/; HttpOnly - X-Resolver-Ip: - - 185.172.100.59 - Strict-Transport-Security: - - max-age=15811200 - body: - encoding: ASCII-8BIT - string: !binary |- - eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjcwMjEiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiIwLjQifSx7IkBpZCI6Il86YjcwMjIiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMi4wOSJ9LHsiQGlkIjoiXzpiNzAyMyIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiNzAyNCIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpFdXJvIiwiZGZjLWI6dmFsdWUiOiIzLjk5In0seyJAaWQiOiJfOmI3MDI1IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiNC44In0seyJAaWQiOiJfOmI3MDI2IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmI3MDI3IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMi40In0seyJAaWQiOiJfOmI3MDI4IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjIzLjk1In0seyJAaWQiOiJfOmI3MDI5IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTIifSx7IkBpZCI6Il86YjcwMzAiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiIxIn0seyJAaWQiOiJfOmI3MDMxIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiOCJ9LHsiQGlkIjoiXzpiNzAzMiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MDIxIiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvUGFjay1DYW4tQmFrZWQtQmVhbnMtMTgwMHg2Xzk4M3g2NTZfNTEzNzU4ZTYtMjYxNi00Njg3LWE4YjItYmE2ZGRlODY0OTIzLmpwZz92PTE2Nzc3NjA3NzgiLCJkZmMtYjpuYW1lIjoiQmFrZWQgQnJpdGlzaCBCZWFucyAtIFJldGFpbCBjYW4sIDQwMGcgKGNhbikiLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MDI5In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MDMwIiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9UNCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiNzAyMiJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MDI1IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvUGFjay1DYW4tQmFrZWQtQmVhbnMtMTgwMHg2Xzk4M3g2NTZfNTEzNzU4ZTYtMjYxNi00Njg3LWE4YjItYmE2ZGRlODY0OTIzLmpwZz92PTE2Nzc3NjA3NzgiLCJkZmMtYjpuYW1lIjoiQmFrZWQgQnJpdGlzaCBCZWFucyAtIENhc2UsIDEyIHggNDAwZyAoY2FuKSIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9DRCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiNzAyNiJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MDIzIiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvT3JnYW5pYy1DaGlhLTI0MDB4MTgwMF8zZjliMjljNi1mMWZlLTQ4OTktOTU3Zi0wMzhiZTk3NmRhNjguanBnP3Y9MTY3Nzc2MDgxNiIsImRmYy1iOm5hbWUiOiJDaGlhIFNlZWQsIE9yZ2FuaWMgLSBSZXRhaWwgcGFjaywgMzAwZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6Y29uc3VtZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjcwMzEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjcwMzIiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmI3MDI0In19LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1IiwiQHR5cGUiOiJkZmMtYjpTdXBwbGllZFByb2R1Y3QiLCJkZmMtYjpkZXNjcmlwdGlvbiI6IjxwPjxzdHJvbmc+VGhlIGZpcnN0IGV2ZXIgQnJpdGlzaC1ncm93biBvcmdhbmljwqBjaGlhIHNlZWRzISA8L3N0cm9uZz48L3A+XG48cD48c3Ryb25nPlRoZXNlIHZlcnNhdGlsZSBhbmQgbnV0cml0aW91cyBzZWVkcyBhcmUgZGVsaWNpb3VzIHNwcmlua2xlZCBvbiBzYWxhZHMsIGFkZGVkIHRvIHNtb290aGllcyBvciBpbiBiYWtpbmcuIFRoZXkgbWFrZSBhIGdyZWF0IHZlZ2FuIGVnZyByZXBsYWNlbWVudCB0b28uPC9zdHJvbmc+PC9wPlxuPHA+T3JnYW5pY2FsbHkgZ3Jvd24gYnkgSm9obiBhbmQgQWxpY2UgUGF3c2V5IGluIFN1ZmZvbGssIHdpdGggZ3VpZGFuY2UgZnJvbSA8YSB0aXRsZT1cIlJlYXNvbnMgdG8gYmUgQ2hpYS1mdWxcIiBocmVmPVwiaHR0cHM6Ly9ob2RtZWRvZHMuY28udWsvYmxvZ3MvbmV3cy9maXJzdC1icml0aXNoLWNoaWFcIj5jaGlhIHBpb25lZXJzIFBldGVyIGFuZCBBbmRyZXcgRmFpcnM8L2E+LCB0aGVzZSBjaGlhIHNlZWRzIGFyZSB0aGUgcmVzdWx0IG9mIGZpdmUgeWVhcnMgb2YgY3JvcCB0cmlhbHMgYW5kIGRldmVsb3BtZW50cy7CoFRoZSB0aW55IG9pbC1yaWNoIHNlZWRzIGFyZSBoYXJ2ZXN0ZWQgZnJvbSB0aGUgPGVtPlNhbHZpYSBoaXNwYW5pY2E8L2VtPiBwbGFudCwgYSBtZW1iZXIgb2YgdGhlIG1pbnQgZmFtaWx5IG9yaWdpbmF0aW5nIGluIGNlbnRyYWwgQW1lcmljYSwgd2hlcmUgY2hpYSB3YXMgYSBzdGFwbGUgZm9vZCBpbiBBenRlYyBjdWx0dXJlcywgYWxvbmdzaWRlIGJlYW5zIGFuZCBjb3JuLjwvcD5cbjwhLS0gc3BsaXQgLS0+PGgzPkNvbXBsZXRlIFByb2R1Y3QgRGV0YWlsczwvaDM+XG48bGkgaWQ9XCJ0YWIxXCIgY2xhc3M9XCJhY3RpdmVcIj5cbjxwPlNwcmlua2xlIG9uIHNhbGFkcywgdXNlIGluIGJha2luZywgYWRkIHRvIHNtb290aGllcywgcG9ycmlkZ2Ugb3IgZ3Jhbm9sYS48L3A+XG48cD5BZHZpc2VkIG1heGltdW0gZGFpbHkgaW50YWtlOiAxNWc8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkNvb2tpbmcgaW5zdHJ1Y3Rpb25zPC9oNT5cbjxwPjxzdHJvbmc+QXMgYW4gZWdnIHN1YnN0aXR1dGU8L3N0cm9uZz48YnI+U29hayAxIHRhYmxlc3Bvb24gb2Ygc2VlZHMgaW4gMyB0YWJsZXNwb29ucyBvZiB3YXJtIHdhdGVyIGZvciAzMCBtaW51dGVzIHRvIHJlcGxhY2Ugb25lIGVnZyBpbiB2ZWdhbiBiYWtpbmcuPC9wPlxuPHA+PHN0cm9uZz5JbiBiYWtpbmc8L3N0cm9uZz48YnI+QWRkIHdob2xlIG9yIGdyb3VuZCBjaGlhIHNlZWRzIHRvIGJyZWFkIG1peGVzIGF0IHVwIHRvIDUlPGJyPkFkZCB3aG9sZSBjaGlhIHNlZWRzIHRvIG90aGVyIGJha2luZyBtaXhlcyBhdCB1cCB0byAxMCU8L3A+XG48cD48c3Ryb25nPk90aGVyIHVzZXM8L3N0cm9uZz48YnI+IEFkZCB3aG9sZSBjaGlhIHNlZWRzIHRvIGJyZWFrZmFzdCBjZXJlYWwgYXQgdXAgdG8gMTAlPGJyPkFkZCB3aG9sZSBjaGlhIHNlZWRzIHRvIGZydWl0LCBudXQsIGFuZCBzZWVkIG1peGVzIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUsIG1hc2hlZCBvciBncm91bmQgY2hpYSBzZWVkcyB0byBmcnVpdCBqdWljZXMgb3Igc21vb3RoaWVzIGF0IHVwIHRvIDE1Zy9kYXk8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkluZ3JlZGllbnRzPC9oNT5cbjxwPkNoaWHCoHNlZWRzICg8ZW0+U2FsdmlhIEhpc3BhbmljYTwvZW0+KTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgaGVpZ2h0PVwiMjQ3XCIgd2lkdGg9XCI0MTZcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjxzdHJvbmc+UGVyIDEwMGc8L3N0cm9uZz48L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+RW5lcmd5PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MSw2NzVrSiAvIDQwNGtjYWw8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+RmF0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MjMuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc2F0dXJhdGVzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+Mi4zZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xNi43ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4wLjhnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZpYnJlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MjcuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+UHJvdGVpbjwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjE4LjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlNhbHQ8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4wLjAxZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5DYWxjaXVtPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+NzAxbWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+SXJvbjwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcuMm1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk1hZ25lc2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzMG1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlBob3NwaG9yb3VzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+NTgzbWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+T21lZ2EgMyBBTEE8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xMS41ZzwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+Q2hpYcKgU2VlZHMgYXJlIGhpZ2ggaW4gZGlldGFyeSBmaWJyZSBhbmTCoE9tZWdhIDMgQUxBIG9pbHMsIGFuZCBhIHNvdXJjZSBvZiBwcm90ZWluLjwvcD5cbjxwPlN1aXRhYmxlIGZvciBWZWdhbnMgJmFtcDsgVmVnZXRhcmlhbnMuPC9wPlxuPHA+R3Jvd24gYnkgSm9obiBhbmQgQWxpY2UgUGF3c2V5IGluIFN1ZmZvbGsuPC9wPlxuPC9saT4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjcwMjciLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9PcmdhbmljLUNoaWEtMjQwMHgxODAwXzNmOWIyOWM2LWYxZmUtNDg5OS05NTdmLTAzOGJlOTc2ZGE2OC5qcGc/dj0xNjc3NzYwODE2IiwiZGZjLWI6bmFtZSI6IkNoaWEgU2VlZCwgT3JnYW5pYyAtIENhc2UsIDggeCAzMDBnIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL0M4IiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmI3MDI4In19XX0= - recorded_at: Thu, 05 Sep 2024 03:40:26 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/CompleteBackorderJob/_perform/completes_an_order.yml b/spec/fixtures/vcr_cassettes/CompleteBackorderJob/_perform/completes_an_order.yml index 5cf66e2d0e7..76968d3e5e9 100644 --- a/spec/fixtures/vcr_cassettes/CompleteBackorderJob/_perform/completes_an_order.yml +++ b/spec/fixtures/vcr_cassettes/CompleteBackorderJob/_perform/completes_an_order.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders body: encoding: US-ASCII string: '' @@ -25,7 +25,7 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:18 GMT + - Thu, 03 Oct 2024 05:55:35 GMT Content-Type: - application/json; charset=utf-8 Content-Length: @@ -43,7 +43,7 @@ http_interactions: body: encoding: UTF-8 string: '{"message":"User access denied - token missing","error":"User not authorized"}' - recorded_at: Thu, 12 Sep 2024 05:48:18 GMT + recorded_at: Thu, 03 Oct 2024 05:55:36 GMT - request: method: get uri: https://login.lescommuns.org/auth/realms/data-food-consortium/.well-known/openid-configuration @@ -63,7 +63,7 @@ http_interactions: message: OK headers: Date: - - Thu, 12 Sep 2024 05:48:23 GMT + - Thu, 03 Oct 2024 05:55:37 GMT Content-Type: - application/json;charset=UTF-8 Transfer-Encoding: @@ -73,7 +73,7 @@ http_interactions: Vary: - Accept-Encoding Set-Cookie: - - AUTH_SESSION_ID=1726120104.402.54116.376719|78230f584c0d7db97d376e98de5321dc; + - AUTH_SESSION_ID=1727934938.693.140947.784034|78230f584c0d7db97d376e98de5321dc; Path=/; Secure; HttpOnly Cache-Control: - no-cache, must-revalidate, no-transform, no-store @@ -91,7 +91,7 @@ http_interactions: encoding: ASCII-8BIT string: '{"issuer":"https://login.lescommuns.org/auth/realms/data-food-consortium","authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth","token_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token","introspection_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token/introspect","userinfo_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/userinfo","end_session_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/logout","frontchannel_logout_session_supported":true,"frontchannel_logout_supported":true,"jwks_uri":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/certs","check_session_iframe":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/login-status-iframe.html","grant_types_supported":["authorization_code","implicit","refresh_token","password","client_credentials","urn:openid:params:grant-type:ciba","urn:ietf:params:oauth:grant-type:device_code"],"acr_values_supported":["0","1"],"response_types_supported":["code","none","id_token","token","id_token token","code id_token","code token","code id_token token"],"subject_types_supported":["public","pairwise"],"id_token_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"id_token_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"id_token_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"userinfo_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512","none"],"userinfo_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"userinfo_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"request_object_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512","none"],"request_object_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"request_object_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"response_modes_supported":["query","fragment","form_post","query.jwt","fragment.jwt","form_post.jwt","jwt"],"registration_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/clients-registrations/openid-connect","token_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"token_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"introspection_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"introspection_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"authorization_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"authorization_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"authorization_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"claims_supported":["aud","sub","iss","auth_time","name","given_name","family_name","preferred_username","email","acr"],"claim_types_supported":["normal"],"claims_parameter_supported":true,"scopes_supported":["openid","microprofile-jwt","phone","roles","profile","email","address","web-origins","acr","offline_access"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"code_challenge_methods_supported":["plain","S256"],"tls_client_certificate_bound_access_tokens":true,"revocation_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/revoke","revocation_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"revocation_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"device_authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth/device","backchannel_token_delivery_modes_supported":["poll","ping"],"backchannel_authentication_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/ciba/auth","backchannel_authentication_request_signing_alg_values_supported":["PS384","ES384","RS384","ES256","RS256","ES512","PS256","PS512","RS512"],"require_pushed_authorization_requests":false,"pushed_authorization_request_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/par/request","mtls_endpoint_aliases":{"token_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token","revocation_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/revoke","introspection_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token/introspect","device_authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth/device","registration_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/clients-registrations/openid-connect","userinfo_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/userinfo","pushed_authorization_request_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/par/request","backchannel_authentication_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/ciba/auth"},"authorization_response_iss_parameter_supported":true}' - recorded_at: Thu, 12 Sep 2024 05:48:23 GMT + recorded_at: Thu, 03 Oct 2024 05:55:37 GMT - request: method: post uri: https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token @@ -115,7 +115,7 @@ http_interactions: message: OK headers: Date: - - Thu, 12 Sep 2024 05:48:24 GMT + - Thu, 03 Oct 2024 05:55:39 GMT Content-Type: - application/json Transfer-Encoding: @@ -125,7 +125,7 @@ http_interactions: Vary: - Accept-Encoding Set-Cookie: - - AUTH_SESSION_ID=1726120105.642.54404.608359|78230f584c0d7db97d376e98de5321dc; + - AUTH_SESSION_ID=1727934940.134.118309.578077|78230f584c0d7db97d376e98de5321dc; Path=/; Secure; HttpOnly Cache-Control: - no-store @@ -143,12 +143,12 @@ http_interactions: - 1; mode=block body: encoding: ASCII-8BIT - string: '{"access_token":"","expires_in":1800,"refresh_expires_in":31450089,"refresh_token":"","token_type":"Bearer","id_token":"","not-before-policy":0,"session_state":"08c7b22a-256b-482d-b0b9-e11ab7ce7366","scope":"openid + string: '{"access_token":"","expires_in":1800,"refresh_expires_in":31532159,"refresh_token":"","token_type":"Bearer","id_token":"","not-before-policy":0,"session_state":"0a7797f2-deab-42d3-8b8c-b8a266f3781f","scope":"openid profile email"}' - recorded_at: Thu, 12 Sep 2024 05:48:24 GMT + recorded_at: Thu, 03 Oct 2024 05:55:39 GMT - request: method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders body: encoding: US-ASCII string: '' @@ -171,33 +171,34 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:27 GMT + - Thu, 03 Oct 2024 05:55:43 GMT Content-Type: - - text/html; charset=utf-8 + - application/json; charset=utf-8 Content-Length: - - '20933' + - '10058' Connection: - keep-alive X-Powered-By: - Express Access-Control-Allow-Origin: - "*" + Pageinfo: + - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTc1MjAzNDE0MzIzLCJsYXN0X3ZhbHVlIjoxMTc1MjAzNDE0MzIzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTc3NDE0Njk3MjY3LCJsYXN0X3ZhbHVlIjoxMTc3NDE0Njk3MjY3fQ=="}' Etag: - - W/"51c5-Drm3N90E+LR6Ttt15ODbili1LSs" + - W/"274a-+v3Anxk3dgQSOlKhECBx2vj1TKE" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.59 + - 185.172.100.60 Strict-Transport-Security: - max-age=15811200 body: - encoding: ASCII-8BIT - string: !binary |- - eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjE3NDI2IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMC40In0seyJAaWQiOiJfOmIxNzQyNyIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpFdXJvIiwiZGZjLWI6dmFsdWUiOiIyLjA5In0seyJAaWQiOiJfOmIxNzQyOCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiMTc0MjkiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMy45OSJ9LHsiQGlkIjoiXzpiMTc0MzAiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiI0LjgifSx7IkBpZCI6Il86YjE3NDMxIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmIxNzQzMiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjIuNCJ9LHsiQGlkIjoiXzpiMTc0MzMiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMjMuOTUifSx7IkBpZCI6Il86YjE3NDM0IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTIifSx7IkBpZCI6Il86YjE3NDM1IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTc0MzYiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiI4In0seyJAaWQiOiJfOmIxNzQzNyIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQyNiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL1BhY2stQ2FuLUJha2VkLUJlYW5zLTE4MDB4Nl85ODN4NjU2XzUxMzc1OGU2LTI2MTYtNDY4Ny1hOGIyLWJhNmRkZTg2NDkyMy5qcGc/dj0xNjc3NzYwNzc4IiwiZGZjLWI6bmFtZSI6IkJha2VkIEJyaXRpc2ggQmVhbnMgLSBSZXRhaWwgY2FuLCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTc0MzQifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjE3NDM1IiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9UNCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMTc0MjcifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCI+XG48dGQgYmdjb2xvcj1cIiNkNmZiZWRcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIj48c3Ryb25nPlRoZXkncmUgYmFjayE8L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+PHN0cm9uZz5UaGluayBiYWtlZCBiZWFucyBhcmUgQnJpdGlzaD8gVGhleSBhcmUgbm93ISBXZSB1c2Ugb25seSBCcml0aXNoLWdyb3duIGZhdmEgYmVhbnMgLSBCcml0YWluJ3Mgb3JpZ2luYWwgYmVhbiwgZ3Jvd24gaGVyZSBzaW5jZSB0aGUgSXJvbiBBZ2UuIE91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBkZWxpY2lvdXNseSBkaWZmZXJlbnQsIHdpdGggbGFyZ2UgbWVhdHkgZmF2YSBiZWFucyBpbiBhIHRhc3R5IHRvbWF0byBzYXVjZS48L3N0cm9uZz48L3A+XG48cD48c3Ryb25nPjxhIHRpdGxlPVwiV2hhdCBhcmUgZmF2YSBiZWFucz8gQXJlbid0IHRoZXkganVzdCBicm9hZCBiZWFucz9cIiBocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCIgZGF0YS1tY2UtZnJhZ21lbnQ9XCIxXCIgZGF0YS1tY2UtaHJlZj1cIi9ibG9ncy9uZXdzL3doYXQtYXJlLWZhdmEtYmVhbnMtYXJlLXRoZXktanVzdC1icm9hZC1iZWFuc1wiPldoYXQgYXJlIGZhdmEgYmVhbnM/IEZpbmQgb3V0IGhlcmUuLi48L2E+PC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5PdXIgQmFrZWQgQnJpdGlzaCBCZWFucyBhcmUgY29va2VkIGFuZCByZWFkeSB0byBlYXQsIGhvdCBvciBjb2xkLiBUaGV5J3JlIGdvb2Qgc2VydmVkIG9uIHRvYXN0IGJ1dCBhbHNvIGRlbGljaW91cyBhZGRlZCB0byBzdGV3cywgY3VycmllcyBvciBjYXNzZXJvbGVzLiBPciBldmVuIGluIGEgcGllLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5Db29raW5nIG9uIHRoZSBIb2I8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBzYXVjZXBhbi4gSGVhdCBnZW50bHkgZm9yIDQtNSBtaW51dGVzIHdoaWxlIHN0aXJyaW5nLiBGb3IgYmVzdCBmbGF2b3VyIGRvIG5vdCBib2lsIG9yIG92ZXJjb29rLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxwPjxzdHJvbmc+TWljcm93YXZlIENvb2tpbmc8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBhIG5vbi1tZXRhbGxpYyBib3dsIGFuZCBjb3Zlci4gSGVhdCBmb3IgMiB0byAzIG1pbnV0ZXMsIHN0aXJyaW5nIGhhbGZ3YXkuIENoZWNrIHRoZSBmb29kIGlzIGhvdCwgc3RpciB3ZWxsIGFuZCBzZXJ2ZS4gRG8gbm90IHJlaGVhdC48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPlRvIFN0b3JlPC9oNT5cbjxwPlN0b3JlIGluIGEgY29vbCwgZHJ5IHBsYWNlLiBPbmNlIG9wZW5lZCwgdHJhbnNmZXIgY29udGVudHMgdG8gYSBub24tbWV0YWxsaWMgY29udGFpbmVyLCBjb3ZlciByZWZyaWdlcmF0ZSBhbmQgdXNlIHdpdGggMiBkYXlzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+RmF2YSBCZWFucyAoQnJvYWQgQmVhbnMpICg0MiUpLCBXYXRlciwgVG9tYXRvIFB1cmVlLCBTdWdhciwgTW9kaWZpZWQgTWFpemUgU3RhcmNoLCBTYWx0LCBIZXJicyAmYW1wOyBTcGljZXMsIENvbmNlbnRyYXRlZCBMZW1vbiBKdWljZTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+Mjkya0ogKDY5a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjEwLjFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD40LjZnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+NGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wLjZnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+RGVsaWNpb3VzLCBudXRyaXRpb3VzIGFuZCBnb29kIGZvciB0aGUgc29pbCwgZmF2YSBiZWFucyBhcmUgYSB2YXJpZXR5IG9mIGJyb2FkIGJlYW4sIFZpY2lhIGZhYmEsIGxlZnQgdG8gcmlwZW4gYW5kIGRyeSBiZWZvcmUgaGFydmVzdC4gVGhleeKAmXJlIGFsc28ga25vd24gYXMgZmllbGQgYmVhbnMsIGhvcnNlIGJlYW5zLCBXaW5kc29yIGJlYW5zIG9yIGZ1bC48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTc0MzAiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9QYWNrLUNhbi1CYWtlZC1CZWFucy0xODAweDZfOTgzeDY1Nl81MTM3NThlNi0yNjE2LTQ2ODctYThiMi1iYTZkZGU4NjQ5MjMuanBnP3Y9MTY3Nzc2MDc3OCIsImRmYy1iOm5hbWUiOiJCYWtlZCBCcml0aXNoIEJlYW5zIC0gQ2FzZSwgMTIgeCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvT2ZmZXIiLCJkZmMtYjpza3UiOiJOQ0JCL0NEIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxNzQzMSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQyOCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gUmV0YWlsIHBhY2ssIDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQzNiJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTc0MzciLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxNzQyOSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQzMiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gQ2FzZSwgOCB4IDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9PZmZlciIsImRmYy1iOnNrdSI6Ik9HQ0gvQzgiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjE3NDMzIn19XX0= - recorded_at: Thu, 12 Sep 2024 05:48:28 GMT + encoding: UTF-8 + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b73555","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b73556","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b73557","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b73558","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73559","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73560","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73561","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b73562","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73563","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b73555"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b73556"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b73557"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73558"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73559"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176168825139","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176169546035","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Fulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73560"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b73561"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73562"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73563"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 03 Oct 2024 05:55:43 GMT - request: method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts body: encoding: US-ASCII string: '' @@ -220,37 +221,36 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:30 GMT + - Thu, 03 Oct 2024 05:55:45 GMT Content-Type: - - application/json; charset=utf-8 + - text/html; charset=utf-8 Content-Length: - - '4587' + - '20933' Connection: - keep-alive X-Powered-By: - Express Access-Control-Allow-Origin: - "*" - Pageinfo: - - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTQ5MTQ0NDk4NDgzLCJsYXN0X3ZhbHVlIjoxMTQ5MTQ0NDk4NDgzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTc2MDU3MzQ4NDAzLCJsYXN0X3ZhbHVlIjoxMTc2MDU3MzQ4NDAzfQ=="}' Etag: - - W/"11eb-7I/uKRa5HGsGMzOXgbKEX6CUOlU" + - W/"51c5-R+j1Cy2kp3PhQRPZkmvlmvQhsq8" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.60 + - 185.172.100.59 Strict-Transport-Security: - max-age=15811200 body: - encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b17438","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b17439","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b17440","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b17441","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b17438"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b17439"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b17440"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b17441"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Thu, 12 Sep 2024 05:48:30 GMT + encoding: ASCII-8BIT + string: !binary |- + eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjczNTY0IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMC40In0seyJAaWQiOiJfOmI3MzU2NSIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpFdXJvIiwiZGZjLWI6dmFsdWUiOiIyLjA5In0seyJAaWQiOiJfOmI3MzU2NiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiNzM1NjciLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMy45OSJ9LHsiQGlkIjoiXzpiNzM1NjgiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiI0LjgifSx7IkBpZCI6Il86YjczNTY5IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmI3MzU3MCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjIuNCJ9LHsiQGlkIjoiXzpiNzM1NzEiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMjMuOTUifSx7IkBpZCI6Il86YjczNTcyIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTIifSx7IkBpZCI6Il86YjczNTczIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiNzM1NzQiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiI4In0seyJAaWQiOiJfOmI3MzU3NSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU2NCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL1BhY2stQ2FuLUJha2VkLUJlYW5zLTE4MDB4Nl85ODN4NjU2XzUxMzc1OGU2LTI2MTYtNDY4Ny1hOGIyLWJhNmRkZTg2NDkyMy5qcGc/dj0xNjc3NzYwNzc4IiwiZGZjLWI6bmFtZSI6IkJha2VkIEJyaXRpc2ggQmVhbnMgLSBSZXRhaWwgY2FuLCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiNzM1NzIifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjczNTczIiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9UNCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiNzM1NjUifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCI+XG48dGQgYmdjb2xvcj1cIiNkNmZiZWRcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIj48c3Ryb25nPlRoZXkncmUgYmFjayE8L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+PHN0cm9uZz5UaGluayBiYWtlZCBiZWFucyBhcmUgQnJpdGlzaD8gVGhleSBhcmUgbm93ISBXZSB1c2Ugb25seSBCcml0aXNoLWdyb3duIGZhdmEgYmVhbnMgLSBCcml0YWluJ3Mgb3JpZ2luYWwgYmVhbiwgZ3Jvd24gaGVyZSBzaW5jZSB0aGUgSXJvbiBBZ2UuIE91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBkZWxpY2lvdXNseSBkaWZmZXJlbnQsIHdpdGggbGFyZ2UgbWVhdHkgZmF2YSBiZWFucyBpbiBhIHRhc3R5IHRvbWF0byBzYXVjZS48L3N0cm9uZz48L3A+XG48cD48c3Ryb25nPjxhIHRpdGxlPVwiV2hhdCBhcmUgZmF2YSBiZWFucz8gQXJlbid0IHRoZXkganVzdCBicm9hZCBiZWFucz9cIiBocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCIgZGF0YS1tY2UtZnJhZ21lbnQ9XCIxXCIgZGF0YS1tY2UtaHJlZj1cIi9ibG9ncy9uZXdzL3doYXQtYXJlLWZhdmEtYmVhbnMtYXJlLXRoZXktanVzdC1icm9hZC1iZWFuc1wiPldoYXQgYXJlIGZhdmEgYmVhbnM/IEZpbmQgb3V0IGhlcmUuLi48L2E+PC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5PdXIgQmFrZWQgQnJpdGlzaCBCZWFucyBhcmUgY29va2VkIGFuZCByZWFkeSB0byBlYXQsIGhvdCBvciBjb2xkLiBUaGV5J3JlIGdvb2Qgc2VydmVkIG9uIHRvYXN0IGJ1dCBhbHNvIGRlbGljaW91cyBhZGRlZCB0byBzdGV3cywgY3VycmllcyBvciBjYXNzZXJvbGVzLiBPciBldmVuIGluIGEgcGllLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5Db29raW5nIG9uIHRoZSBIb2I8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBzYXVjZXBhbi4gSGVhdCBnZW50bHkgZm9yIDQtNSBtaW51dGVzIHdoaWxlIHN0aXJyaW5nLiBGb3IgYmVzdCBmbGF2b3VyIGRvIG5vdCBib2lsIG9yIG92ZXJjb29rLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxwPjxzdHJvbmc+TWljcm93YXZlIENvb2tpbmc8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBhIG5vbi1tZXRhbGxpYyBib3dsIGFuZCBjb3Zlci4gSGVhdCBmb3IgMiB0byAzIG1pbnV0ZXMsIHN0aXJyaW5nIGhhbGZ3YXkuIENoZWNrIHRoZSBmb29kIGlzIGhvdCwgc3RpciB3ZWxsIGFuZCBzZXJ2ZS4gRG8gbm90IHJlaGVhdC48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPlRvIFN0b3JlPC9oNT5cbjxwPlN0b3JlIGluIGEgY29vbCwgZHJ5IHBsYWNlLiBPbmNlIG9wZW5lZCwgdHJhbnNmZXIgY29udGVudHMgdG8gYSBub24tbWV0YWxsaWMgY29udGFpbmVyLCBjb3ZlciByZWZyaWdlcmF0ZSBhbmQgdXNlIHdpdGggMiBkYXlzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+RmF2YSBCZWFucyAoQnJvYWQgQmVhbnMpICg0MiUpLCBXYXRlciwgVG9tYXRvIFB1cmVlLCBTdWdhciwgTW9kaWZpZWQgTWFpemUgU3RhcmNoLCBTYWx0LCBIZXJicyAmYW1wOyBTcGljZXMsIENvbmNlbnRyYXRlZCBMZW1vbiBKdWljZTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+Mjkya0ogKDY5a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjEwLjFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD40LjZnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+NGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wLjZnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+RGVsaWNpb3VzLCBudXRyaXRpb3VzIGFuZCBnb29kIGZvciB0aGUgc29pbCwgZmF2YSBiZWFucyBhcmUgYSB2YXJpZXR5IG9mIGJyb2FkIGJlYW4sIFZpY2lhIGZhYmEsIGxlZnQgdG8gcmlwZW4gYW5kIGRyeSBiZWZvcmUgaGFydmVzdC4gVGhleeKAmXJlIGFsc28ga25vd24gYXMgZmllbGQgYmVhbnMsIGhvcnNlIGJlYW5zLCBXaW5kc29yIGJlYW5zIG9yIGZ1bC48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiNzM1NjgiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9QYWNrLUNhbi1CYWtlZC1CZWFucy0xODAweDZfOTgzeDY1Nl81MTM3NThlNi0yNjE2LTQ2ODctYThiMi1iYTZkZGU4NjQ5MjMuanBnP3Y9MTY3Nzc2MDc3OCIsImRmYy1iOm5hbWUiOiJCYWtlZCBCcml0aXNoIEJlYW5zIC0gQ2FzZSwgMTIgeCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvT2ZmZXIiLCJkZmMtYjpza3UiOiJOQ0JCL0NEIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmI3MzU2OSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU2NiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gUmV0YWlsIHBhY2ssIDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU3NCJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiNzM1NzUiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmI3MzU2NyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU3MCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gQ2FzZSwgOCB4IDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9PZmZlciIsImRmYy1iOnNrdSI6Ik9HQ0gvQzgiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjczNTcxIn19XX0= + recorded_at: Thu, 03 Oct 2024 05:55:45 GMT - request: method: post uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders","@type":"dfc-b:Order","dfc-b:orderNumber":"","dfc-b:date":"","dfc-b:belongsTo":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","dfc-b:hasPart":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","dfc-b:orderedBy":"http://test.host/api/dfc/enterprises/1945","dfc-b:hasOrderStatus":"dfc-v:Held"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":3,"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403/Offer"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403/Offer","@type":"dfc-b:Offer","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"18.85","dfc-b:VATrate":"0","dfc-b:hasUnit":"dfc-m:Euro"},"dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct","dfc-b:name":"Baked + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders","@type":"dfc-b:Order","dfc-b:orderNumber":"","dfc-b:date":"","dfc-b:belongsTo":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","dfc-b:hasPart":["https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/2"],"dfc-b:orderedBy":"http://test.host/api/dfc/enterprises/3886","dfc-b:hasOrderStatus":"dfc-v:Held"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":3,"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403/Offer"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/2","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":5,"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947/Offer"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403/Offer","@type":"dfc-b:Offer","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"18.85","dfc-b:VATrate":"0","dfc-b:hasUnit":"dfc-m:Euro"},"dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947/Offer","@type":"dfc-b:Offer","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"3.99","dfc-b:VATrate":"0","dfc-b:hasUnit":"dfc-m:Euro"},"dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct","dfc-b:name":"Baked British Beans - Case, 12 x 400g (can)","dfc-b:description":"\n\n\n\n\n\n
They''re back!
\n

Think @@ -282,8 +282,50 @@ http_interactions: class=\"product-detail-title\">More\n

Delicious, nutritious and good for the soil, fava beans are a variety of broad bean, Vicia faba, left to ripen and dry before harvest. They’re also known as field beans, horse beans, - Windsor beans or ful.

\n

Suitable for vegans and vegetarians

\n","dfc-b:hasQuantity":{"@type":"dfc-b:QuantitativeValue","dfc-b:hasUnit":"dfc-m:Kilogram","dfc-b:value":"4.8"},"dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:referencedBy":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403/CatalogItem","dfc-b:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Pack-Can-Baked-Beans-1800x6_983x656_513758e6-2616-4687-a8b2-ba6dde864923.jpg?v=1677760778","dfc-b:totalTheoreticalStock":0.0},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","@type":"dfc-b:SaleSession","dfc-b:beginDate":"Wed - Sep 11 2024 05:48:28 UTC","dfc-b:endDate":"Thu Sep 19 2024 05:48:28 UTC","dfc-b:quantity":0.0}]}' + Windsor beans or ful.

\n

Suitable for vegans and vegetarians

\n","dfc-b:hasQuantity":{"@type":"dfc-b:QuantitativeValue","dfc-b:hasUnit":"dfc-m:Kilogram","dfc-b:value":"4.8"},"dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:referencedBy":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403/CatalogItem","dfc-b:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Pack-Can-Baked-Beans-1800x6_983x656_513758e6-2616-4687-a8b2-ba6dde864923.jpg?v=1677760778","dfc-b:totalTheoreticalStock":0.0,"ofn:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Pack-Can-Baked-Beans-1800x6_983x656_513758e6-2616-4687-a8b2-ba6dde864923.jpg?v=1677760778"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct","dfc-b:name":"Chia + Seed, Organic - Retail pack, 300g","dfc-b:description":"

The first + ever British-grown organic chia seeds!

\n

These versatile + and nutritious seeds are delicious sprinkled on salads, added to smoothies + or in baking. They make a great vegan egg replacement too.

\n

Organically + grown by John and Alice Pawsey in Suffolk, with guidance from chia + pioneers Peter and Andrew Fairs, these chia seeds are the result of five + years of crop trials and developments. The tiny oil-rich seeds are harvested + from the Salvia hispanica plant, a member of the mint family originating + in central America, where chia was a staple food in Aztec cultures, alongside + beans and corn.

\n

Complete Product Details

\n
  • \n

    Sprinkle on salads, use in baking, add to + smoothies, porridge or granola.

    \n

    Advised maximum daily intake: 15g

    \n
    Cooking instructions
    \n

    As an + egg substitute
    Soak 1 tablespoon of seeds in 3 tablespoons of + warm water for 30 minutes to replace one egg in vegan baking.

    \n

    In + baking
    Add whole or ground chia seeds to bread mixes at up to + 5%
    Add whole chia seeds to other baking mixes at up to 10%

    \n

    Other + uses
    Add whole chia seeds to breakfast cereal at up to 10%
    Add + whole chia seeds to fruit, nut, and seed mixes at up to 10%
    Add whole, + mashed or ground chia seeds to fruit juices or smoothies at up to 15g/day

    \n
    Ingredients
    \n

    Chia seeds (Salvia + Hispanica)

    \n
    Allergy information
    \n

    No + Allergens

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    Typical valuesPer + 100g
    Energy1,675kJ / 404kcal
    Fat23.2g
    of which saturates2.3g
    Carbohydrate16.7g
    of which sugars0.8g
    Fibre27.7g
    Protein18.2g
    Salt0.01g
    Calcium701mg
    Iron7.2mg
    Magnesium230mg
    Phosphorous583mg
    Omega 3 ALA11.5g
    \n
    More
    \n

    Chia Seeds are high in dietary + fibre and Omega 3 ALA oils, and a source of protein.

    \n

    Suitable for + Vegans & Vegetarians.

    \n

    Grown by John and Alice Pawsey in Suffolk.

    \n
  • ","dfc-b:hasQuantity":{"@type":"dfc-b:QuantitativeValue","dfc-b:hasUnit":"dfc-m:Kilogram","dfc-b:value":"0.3"},"dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:referencedBy":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947/CatalogItem","dfc-b:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Organic-Chia-2400x1800_3f9b29c6-f1fe-4899-957f-038be976da68.jpg?v=1677760816","dfc-b:totalTheoreticalStock":0.0,"ofn:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Organic-Chia-2400x1800_3f9b29c6-f1fe-4899-957f-038be976da68.jpg?v=1677760816"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","@type":"dfc-b:SaleSession","dfc-b:beginDate":"Wed + Oct 02 2024 05:55:32 UTC","dfc-b:endDate":"Thu Oct 10 2024 04:55:32 UTC","dfc-b:quantity":0.0}]}' headers: Content-Type: - application/json @@ -303,11 +345,11 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:35 GMT + - Thu, 03 Oct 2024 05:55:50 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1269' + - '2283' Connection: - keep-alive X-Powered-By: @@ -315,20 +357,20 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"4f5-l5Z/ftrb3qm8wc8tLgN6dGaCrEI" + - W/"8eb-uRWFziivfVa0BoPVfN+EHibGFkc" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.59 + - 185.172.100.60 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b17442","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b17442"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Thu, 12 Sep 2024 05:48:36 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b73576","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73577","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73576"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b73577"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 03 Oct 2024 05:55:50 GMT - request: method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987 + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867 body: encoding: US-ASCII string: '' @@ -351,11 +393,11 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:37 GMT + - Thu, 03 Oct 2024 05:55:52 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1269' + - '2283' Connection: - keep-alive X-Powered-By: @@ -363,17 +405,17 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"4f5-9vt2XRKrz7V5hEx01Sg3p6FBuJI" + - W/"8eb-S42NTOyznRYWzzrVBEdacI311VU" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.60 + - 185.172.100.59 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b17443","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b17443"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Thu, 12 Sep 2024 05:48:37 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b73578","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73579","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73578"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b73579"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 03 Oct 2024 05:55:52 GMT - request: method: get uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts @@ -399,7 +441,7 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:39 GMT + - Thu, 03 Oct 2024 05:55:54 GMT Content-Type: - text/html; charset=utf-8 Content-Length: @@ -411,24 +453,24 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"51c5-rxc6ObnHIM/XyfN/bWaNe+5KsaE" + - W/"51c5-qDvDF70iCu4tUZVz6ldGjsxHldk" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.59 + - 185.172.100.60 Strict-Transport-Security: - max-age=15811200 body: encoding: ASCII-8BIT string: !binary |- - eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjE3NDQ0IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMC40In0seyJAaWQiOiJfOmIxNzQ0NSIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpFdXJvIiwiZGZjLWI6dmFsdWUiOiIyLjA5In0seyJAaWQiOiJfOmIxNzQ0NiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiMTc0NDciLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMy45OSJ9LHsiQGlkIjoiXzpiMTc0NDgiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiI0LjgifSx7IkBpZCI6Il86YjE3NDQ5IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmIxNzQ1MCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjIuNCJ9LHsiQGlkIjoiXzpiMTc0NTEiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMjMuOTUifSx7IkBpZCI6Il86YjE3NDUyIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTIifSx7IkBpZCI6Il86YjE3NDUzIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTc0NTQiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiI4In0seyJAaWQiOiJfOmIxNzQ1NSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQ0NCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL1BhY2stQ2FuLUJha2VkLUJlYW5zLTE4MDB4Nl85ODN4NjU2XzUxMzc1OGU2LTI2MTYtNDY4Ny1hOGIyLWJhNmRkZTg2NDkyMy5qcGc/dj0xNjc3NzYwNzc4IiwiZGZjLWI6bmFtZSI6IkJha2VkIEJyaXRpc2ggQmVhbnMgLSBSZXRhaWwgY2FuLCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTc0NTIifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjE3NDUzIiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9UNCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMTc0NDUifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCI+XG48dGQgYmdjb2xvcj1cIiNkNmZiZWRcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIj48c3Ryb25nPlRoZXkncmUgYmFjayE8L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+PHN0cm9uZz5UaGluayBiYWtlZCBiZWFucyBhcmUgQnJpdGlzaD8gVGhleSBhcmUgbm93ISBXZSB1c2Ugb25seSBCcml0aXNoLWdyb3duIGZhdmEgYmVhbnMgLSBCcml0YWluJ3Mgb3JpZ2luYWwgYmVhbiwgZ3Jvd24gaGVyZSBzaW5jZSB0aGUgSXJvbiBBZ2UuIE91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBkZWxpY2lvdXNseSBkaWZmZXJlbnQsIHdpdGggbGFyZ2UgbWVhdHkgZmF2YSBiZWFucyBpbiBhIHRhc3R5IHRvbWF0byBzYXVjZS48L3N0cm9uZz48L3A+XG48cD48c3Ryb25nPjxhIHRpdGxlPVwiV2hhdCBhcmUgZmF2YSBiZWFucz8gQXJlbid0IHRoZXkganVzdCBicm9hZCBiZWFucz9cIiBocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCIgZGF0YS1tY2UtZnJhZ21lbnQ9XCIxXCIgZGF0YS1tY2UtaHJlZj1cIi9ibG9ncy9uZXdzL3doYXQtYXJlLWZhdmEtYmVhbnMtYXJlLXRoZXktanVzdC1icm9hZC1iZWFuc1wiPldoYXQgYXJlIGZhdmEgYmVhbnM/IEZpbmQgb3V0IGhlcmUuLi48L2E+PC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5PdXIgQmFrZWQgQnJpdGlzaCBCZWFucyBhcmUgY29va2VkIGFuZCByZWFkeSB0byBlYXQsIGhvdCBvciBjb2xkLiBUaGV5J3JlIGdvb2Qgc2VydmVkIG9uIHRvYXN0IGJ1dCBhbHNvIGRlbGljaW91cyBhZGRlZCB0byBzdGV3cywgY3VycmllcyBvciBjYXNzZXJvbGVzLiBPciBldmVuIGluIGEgcGllLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5Db29raW5nIG9uIHRoZSBIb2I8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBzYXVjZXBhbi4gSGVhdCBnZW50bHkgZm9yIDQtNSBtaW51dGVzIHdoaWxlIHN0aXJyaW5nLiBGb3IgYmVzdCBmbGF2b3VyIGRvIG5vdCBib2lsIG9yIG92ZXJjb29rLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxwPjxzdHJvbmc+TWljcm93YXZlIENvb2tpbmc8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBhIG5vbi1tZXRhbGxpYyBib3dsIGFuZCBjb3Zlci4gSGVhdCBmb3IgMiB0byAzIG1pbnV0ZXMsIHN0aXJyaW5nIGhhbGZ3YXkuIENoZWNrIHRoZSBmb29kIGlzIGhvdCwgc3RpciB3ZWxsIGFuZCBzZXJ2ZS4gRG8gbm90IHJlaGVhdC48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPlRvIFN0b3JlPC9oNT5cbjxwPlN0b3JlIGluIGEgY29vbCwgZHJ5IHBsYWNlLiBPbmNlIG9wZW5lZCwgdHJhbnNmZXIgY29udGVudHMgdG8gYSBub24tbWV0YWxsaWMgY29udGFpbmVyLCBjb3ZlciByZWZyaWdlcmF0ZSBhbmQgdXNlIHdpdGggMiBkYXlzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+RmF2YSBCZWFucyAoQnJvYWQgQmVhbnMpICg0MiUpLCBXYXRlciwgVG9tYXRvIFB1cmVlLCBTdWdhciwgTW9kaWZpZWQgTWFpemUgU3RhcmNoLCBTYWx0LCBIZXJicyAmYW1wOyBTcGljZXMsIENvbmNlbnRyYXRlZCBMZW1vbiBKdWljZTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+Mjkya0ogKDY5a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjEwLjFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD40LjZnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+NGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wLjZnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+RGVsaWNpb3VzLCBudXRyaXRpb3VzIGFuZCBnb29kIGZvciB0aGUgc29pbCwgZmF2YSBiZWFucyBhcmUgYSB2YXJpZXR5IG9mIGJyb2FkIGJlYW4sIFZpY2lhIGZhYmEsIGxlZnQgdG8gcmlwZW4gYW5kIGRyeSBiZWZvcmUgaGFydmVzdC4gVGhleeKAmXJlIGFsc28ga25vd24gYXMgZmllbGQgYmVhbnMsIGhvcnNlIGJlYW5zLCBXaW5kc29yIGJlYW5zIG9yIGZ1bC48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTc0NDgiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9QYWNrLUNhbi1CYWtlZC1CZWFucy0xODAweDZfOTgzeDY1Nl81MTM3NThlNi0yNjE2LTQ2ODctYThiMi1iYTZkZGU4NjQ5MjMuanBnP3Y9MTY3Nzc2MDc3OCIsImRmYy1iOm5hbWUiOiJCYWtlZCBCcml0aXNoIEJlYW5zIC0gQ2FzZSwgMTIgeCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvT2ZmZXIiLCJkZmMtYjpza3UiOiJOQ0JCL0NEIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxNzQ0OSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQ0NiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gUmV0YWlsIHBhY2ssIDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQ1NCJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTc0NTUiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxNzQ0NyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxNzQ1MCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gQ2FzZSwgOCB4IDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9PZmZlciIsImRmYy1iOnNrdSI6Ik9HQ0gvQzgiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjE3NDUxIn19XX0= - recorded_at: Thu, 12 Sep 2024 05:48:40 GMT + eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjczNTgwIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMC40In0seyJAaWQiOiJfOmI3MzU4MSIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpFdXJvIiwiZGZjLWI6dmFsdWUiOiIyLjA5In0seyJAaWQiOiJfOmI3MzU4MiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiNzM1ODMiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMy45OSJ9LHsiQGlkIjoiXzpiNzM1ODQiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiI0LjgifSx7IkBpZCI6Il86YjczNTg1IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmI3MzU4NiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjIuNCJ9LHsiQGlkIjoiXzpiNzM1ODciLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06RXVybyIsImRmYy1iOnZhbHVlIjoiMjMuOTUifSx7IkBpZCI6Il86YjczNTg4IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTIifSx7IkBpZCI6Il86YjczNTg5IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiNzM1OTAiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiI4In0seyJAaWQiOiJfOmI3MzU5MSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU4MCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL1BhY2stQ2FuLUJha2VkLUJlYW5zLTE4MDB4Nl85ODN4NjU2XzUxMzc1OGU2LTI2MTYtNDY4Ny1hOGIyLWJhNmRkZTg2NDkyMy5qcGc/dj0xNjc3NzYwNzc4IiwiZGZjLWI6bmFtZSI6IkJha2VkIEJyaXRpc2ggQmVhbnMgLSBSZXRhaWwgY2FuLCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiNzM1ODgifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjczNTg5IiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9UNCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiNzM1ODEifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCI+XG48dGQgYmdjb2xvcj1cIiNkNmZiZWRcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIj48c3Ryb25nPlRoZXkncmUgYmFjayE8L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+PHN0cm9uZz5UaGluayBiYWtlZCBiZWFucyBhcmUgQnJpdGlzaD8gVGhleSBhcmUgbm93ISBXZSB1c2Ugb25seSBCcml0aXNoLWdyb3duIGZhdmEgYmVhbnMgLSBCcml0YWluJ3Mgb3JpZ2luYWwgYmVhbiwgZ3Jvd24gaGVyZSBzaW5jZSB0aGUgSXJvbiBBZ2UuIE91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBkZWxpY2lvdXNseSBkaWZmZXJlbnQsIHdpdGggbGFyZ2UgbWVhdHkgZmF2YSBiZWFucyBpbiBhIHRhc3R5IHRvbWF0byBzYXVjZS48L3N0cm9uZz48L3A+XG48cD48c3Ryb25nPjxhIHRpdGxlPVwiV2hhdCBhcmUgZmF2YSBiZWFucz8gQXJlbid0IHRoZXkganVzdCBicm9hZCBiZWFucz9cIiBocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCIgZGF0YS1tY2UtZnJhZ21lbnQ9XCIxXCIgZGF0YS1tY2UtaHJlZj1cIi9ibG9ncy9uZXdzL3doYXQtYXJlLWZhdmEtYmVhbnMtYXJlLXRoZXktanVzdC1icm9hZC1iZWFuc1wiPldoYXQgYXJlIGZhdmEgYmVhbnM/IEZpbmQgb3V0IGhlcmUuLi48L2E+PC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5PdXIgQmFrZWQgQnJpdGlzaCBCZWFucyBhcmUgY29va2VkIGFuZCByZWFkeSB0byBlYXQsIGhvdCBvciBjb2xkLiBUaGV5J3JlIGdvb2Qgc2VydmVkIG9uIHRvYXN0IGJ1dCBhbHNvIGRlbGljaW91cyBhZGRlZCB0byBzdGV3cywgY3VycmllcyBvciBjYXNzZXJvbGVzLiBPciBldmVuIGluIGEgcGllLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5Db29raW5nIG9uIHRoZSBIb2I8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBzYXVjZXBhbi4gSGVhdCBnZW50bHkgZm9yIDQtNSBtaW51dGVzIHdoaWxlIHN0aXJyaW5nLiBGb3IgYmVzdCBmbGF2b3VyIGRvIG5vdCBib2lsIG9yIG92ZXJjb29rLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxwPjxzdHJvbmc+TWljcm93YXZlIENvb2tpbmc8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBhIG5vbi1tZXRhbGxpYyBib3dsIGFuZCBjb3Zlci4gSGVhdCBmb3IgMiB0byAzIG1pbnV0ZXMsIHN0aXJyaW5nIGhhbGZ3YXkuIENoZWNrIHRoZSBmb29kIGlzIGhvdCwgc3RpciB3ZWxsIGFuZCBzZXJ2ZS4gRG8gbm90IHJlaGVhdC48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPlRvIFN0b3JlPC9oNT5cbjxwPlN0b3JlIGluIGEgY29vbCwgZHJ5IHBsYWNlLiBPbmNlIG9wZW5lZCwgdHJhbnNmZXIgY29udGVudHMgdG8gYSBub24tbWV0YWxsaWMgY29udGFpbmVyLCBjb3ZlciByZWZyaWdlcmF0ZSBhbmQgdXNlIHdpdGggMiBkYXlzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+RmF2YSBCZWFucyAoQnJvYWQgQmVhbnMpICg0MiUpLCBXYXRlciwgVG9tYXRvIFB1cmVlLCBTdWdhciwgTW9kaWZpZWQgTWFpemUgU3RhcmNoLCBTYWx0LCBIZXJicyAmYW1wOyBTcGljZXMsIENvbmNlbnRyYXRlZCBMZW1vbiBKdWljZTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+Mjkya0ogKDY5a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjEwLjFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD40LjZnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+NGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wLjZnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+RGVsaWNpb3VzLCBudXRyaXRpb3VzIGFuZCBnb29kIGZvciB0aGUgc29pbCwgZmF2YSBiZWFucyBhcmUgYSB2YXJpZXR5IG9mIGJyb2FkIGJlYW4sIFZpY2lhIGZhYmEsIGxlZnQgdG8gcmlwZW4gYW5kIGRyeSBiZWZvcmUgaGFydmVzdC4gVGhleeKAmXJlIGFsc28ga25vd24gYXMgZmllbGQgYmVhbnMsIGhvcnNlIGJlYW5zLCBXaW5kc29yIGJlYW5zIG9yIGZ1bC48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiNzM1ODQiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9QYWNrLUNhbi1CYWtlZC1CZWFucy0xODAweDZfOTgzeDY1Nl81MTM3NThlNi0yNjE2LTQ2ODctYThiMi1iYTZkZGU4NjQ5MjMuanBnP3Y9MTY3Nzc2MDc3OCIsImRmYy1iOm5hbWUiOiJCYWtlZCBCcml0aXNoIEJlYW5zIC0gQ2FzZSwgMTIgeCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvT2ZmZXIiLCJkZmMtYjpza3UiOiJOQ0JCL0NEIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmI3MzU4NSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU4MiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gUmV0YWlsIHBhY2ssIDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU5MCJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiNzM1OTEiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmI3MzU4MyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmI3MzU4NiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL09yZ2FuaWMtQ2hpYS0yNDAweDE4MDBfM2Y5YjI5YzYtZjFmZS00ODk5LTk1N2YtMDM4YmU5NzZkYTY4LmpwZz92PTE2Nzc3NjA4MTYiLCJkZmMtYjpuYW1lIjoiQ2hpYSBTZWVkLCBPcmdhbmljIC0gQ2FzZSwgOCB4IDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9PZmZlciIsImRmYy1iOnNrdSI6Ik9HQ0gvQzgiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjczNTg3In19XX0= + recorded_at: Thu, 03 Oct 2024 05:55:55 GMT - request: method: put - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987 + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987","@type":"dfc-b:Order","dfc-b:orderNumber":"","dfc-b:date":"","dfc-b:hasPart":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154","dfc-b:hasOrderStatus":"dfc-v:Complete"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":2,"dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"18.85","dfc-b:VATrate":0.0,"dfc-b:hasUnit":"dfc-m:PoundSterling"},"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct","dfc-b:name":"","dfc-b:description":"","dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:totalTheoreticalStock":0.0}]}' + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:orderNumber":"","dfc-b:date":"","dfc-b:hasPart":["https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"],"dfc-b:hasOrderStatus":"dfc-v:Complete"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":2,"dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"18.85","dfc-b:VATrate":0.0,"dfc-b:hasUnit":"dfc-m:PoundSterling"},"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":7,"dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"3.99","dfc-b:VATrate":0.0,"dfc-b:hasUnit":"dfc-m:PoundSterling"},"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct","dfc-b:name":"","dfc-b:description":"","dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:totalTheoreticalStock":0.0},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct","dfc-b:name":"","dfc-b:description":"","dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:totalTheoreticalStock":0.0}]}' headers: Content-Type: - application/json @@ -448,11 +490,11 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:47 GMT + - Thu, 03 Oct 2024 05:56:00 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1329' + - '2343' Connection: - keep-alive X-Powered-By: @@ -460,20 +502,20 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"531-zPFznDqVNdIvbSA+rvnqUOk1aAc" + - W/"927-lsBGIDg19RQ8/NADpk5XbjUClwM" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.60 + - 185.172.100.59 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b17456","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b17456"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Thu, 12 Sep 2024 05:48:47 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b73592","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73593","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73592"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b73593"},"dfc-b:quantity":"7"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 03 Oct 2024 05:56:01 GMT - request: method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987 + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867 body: encoding: US-ASCII string: '' @@ -496,11 +538,11 @@ http_interactions: Server: - openresty Date: - - Thu, 12 Sep 2024 05:48:49 GMT + - Thu, 03 Oct 2024 05:56:02 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1329' + - '2343' Connection: - keep-alive X-Powered-By: @@ -508,7 +550,7 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"531-6xzdQ5dprehvuOeBS69GWWCpTPg" + - W/"927-H0dQQmQmglZ5gVHxLvWNhYrHq6Y" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: @@ -517,6 +559,6 @@ http_interactions: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b17457","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176060231987/orderLines/154","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b17457"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Thu, 12 Sep 2024 05:48:49 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b73594","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b73595","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b73594"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b73595"},"dfc-b:quantity":"7"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 03 Oct 2024 05:56:03 GMT recorded_with: VCR 6.2.0 diff --git a/spec/jobs/backorder_job_spec.rb b/spec/jobs/backorder_job_spec.rb index 00ee602616d..301be0cd7f2 100644 --- a/spec/jobs/backorder_job_spec.rb +++ b/spec/jobs/backorder_job_spec.rb @@ -4,11 +4,16 @@ RSpec.describe BackorderJob do let(:order) { create(:completed_order_with_totals) } - let(:variant) { order.variants.first } + let(:beans) { order.line_items.first.variant } + let(:chia_seed) { chia_item.variant } + let(:chia_item) { order.line_items.second } let(:user) { order.distributor.owner } let(:product_link) { "https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635" } + let(:chia_seed_wholesale_link) { + "https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715" + } before do user.oidc_account = OidcAccount.new( @@ -25,16 +30,14 @@ }.not_to enqueue_job(BackorderJob) end - it "enqueues backorder", vcr: true do - variant.on_demand = true - variant.on_hand = -3 - variant.semantic_links << SemanticLink.new( + it "enqueues backorder" do + beans.semantic_links << SemanticLink.new( semantic_id: product_link ) expect { BackorderJob.check_stock(order) - }.to enqueue_job(BackorderJob).with(order, [variant]) + }.to enqueue_job(BackorderJob).with(order) end it "reports errors" do @@ -48,8 +51,9 @@ describe "#peform" do it "notifies owner of errors" do + incorrect_order = create(:order) expect { - subject.perform(order, []) + subject.perform(incorrect_order) }.to enqueue_mail(BackorderMailer, :backorder_failed) .and raise_error(NoMethodError) end @@ -60,21 +64,42 @@ order.order_cycle = create( :simple_order_cycle, distributors: [order.distributor], - variants: [variant], + variants: [beans], ) completion_time = order.order_cycle.orders_close_at + 1.minute - variant.on_demand = true - variant.on_hand = -3 - variant.semantic_links << SemanticLink.new( + beans.on_demand = true + beans.on_hand = -3 + beans.semantic_links << SemanticLink.new( semantic_id: product_link ) + chia_item.quantity = 5 + chia_seed.on_demand = false + chia_seed.on_hand = 7 + chia_seed.semantic_links << SemanticLink.new( + semantic_id: chia_seed_wholesale_link + ) + + # Record the placed backorder: + backorder = nil + allow_any_instance_of(FdcBackorderer).to receive(:send_order) + .and_wrap_original do |original_method, *args, &_block| + backorder = args[0] + original_method.call(*args) + end + expect { - subject.place_backorder(order, [variant]) + subject.place_backorder(order) }.to enqueue_job(CompleteBackorderJob).at(completion_time) # We ordered a case of 12 cans: -3 + 12 = 9 - expect(variant.on_hand).to eq 9 + expect(beans.on_hand).to eq 9 + + # Stock controlled items don't change stock in backorder: + expect(chia_seed.on_hand).to eq 7 + + expect(backorder.lines[0].quantity).to eq 1 # beans + expect(backorder.lines[1].quantity).to eq 5 # chia # Clean up after ourselves: perform_enqueued_jobs(only: CompleteBackorderJob) diff --git a/spec/jobs/complete_backorder_job_spec.rb b/spec/jobs/complete_backorder_job_spec.rb index b05d2d6e75d..4e03298947c 100644 --- a/spec/jobs/complete_backorder_job_spec.rb +++ b/spec/jobs/complete_backorder_job_spec.rb @@ -3,52 +3,62 @@ require 'spec_helper' RSpec.describe CompleteBackorderJob do - let(:user) { build(:testdfc_user) } - let(:catalog) { - VCR.use_cassette(:fdc_catalog) { FdcOfferBroker.load_catalog(user, urls) } - } + let(:user) { create(:testdfc_user) } let(:urls) { FdcUrlBuilder.new(product_link) } let(:product_link) { "https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635" } - let(:retail_product) { - catalog.find { |item| item.semanticType == "dfc-b:SuppliedProduct" } - } - let(:wholesale_product) { - flow = catalog.find { |item| item.semanticType == "dfc-b:AsPlannedProductionFlow" } - catalog.find { |item| item.semanticId == flow.product } + let(:chia_seed_retail_link) { + "https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947" } let(:orderer) { FdcBackorderer.new(user, urls) } let(:order) { backorder = orderer.find_or_build_order(ofn_order) broker = FdcOfferBroker.new(user, urls) - offer = broker.best_offer(retail_product.semanticId).offer - line = orderer.find_or_build_order_line(backorder, offer) - line.quantity = 3 + + bean_offer = broker.best_offer(product_link).offer + bean_line = orderer.find_or_build_order_line(backorder, bean_offer) + bean_line.quantity = 3 + + chia = broker.catalog_item(chia_seed_retail_link) + chia_offer = broker.offer_of(chia) + chia_line = orderer.find_or_build_order_line(backorder, chia_offer) + chia_line.quantity = 5 orderer.send_order(backorder) } let(:ofn_order) { create(:completed_order_with_totals) } let(:distributor) { ofn_order.distributor } let(:order_cycle) { ofn_order.order_cycle } - let(:variant) { ofn_order.variants[0] } + let(:beans) { ofn_order.line_items[0].variant } + let(:chia) { chia_item.variant } + let(:chia_item) { ofn_order.line_items[1] } describe "#perform" do before do - variant.semantic_links << SemanticLink.new( - semantic_id: retail_product.semanticId + beans.semantic_links << SemanticLink.new( + semantic_id: product_link + ) + chia.semantic_links << SemanticLink.new( + semantic_id: chia_seed_retail_link ) ofn_order.order_cycle = create( :simple_order_cycle, distributors: [distributor], - variants: [variant], + variants: ofn_order.variants, ) + ofn_order.save! end it "completes an order", vcr: true do # We are assuming 12 cans in a slab. # We got more stock than we need. - variant.on_hand = 13 + beans.on_demand = true + beans.on_hand = 13 + + chia.on_demand = false + chia.on_hand = 17 + chia_item.update!(quantity: 7) current_order = order @@ -62,8 +72,11 @@ current_order.lines[0].quantity.to_i }.from(3).to(2) .and change { - variant.on_hand + beans.on_hand }.from(13).to(1) + .and change { + current_order.lines[1].quantity.to_i + }.from(5).to(7) end it "removes line items", vcr: true do @@ -71,7 +84,8 @@ # We backordered 3 slabs, which is 36 cans. # And now we would have more than 4 slabs (4*12 + 1 = 49) # We got more stock than we need. - variant.on_hand = 49 + beans.on_demand = true + beans.on_hand = 49 current_order = order @@ -85,7 +99,7 @@ current_order.lines.count }.from(1).to(0) .and change { - variant.on_hand + beans.on_hand }.from(49).to(13) # minus 3 backordered slabs (3 * 12 = 36) end diff --git a/spec/jobs/stock_sync_job_spec.rb b/spec/jobs/stock_sync_job_spec.rb new file mode 100644 index 00000000000..2abc9eb85aa --- /dev/null +++ b/spec/jobs/stock_sync_job_spec.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe StockSyncJob do + let(:order) { create(:order_with_totals, distributor:) } + let(:distributor) { build(:enterprise, owner: user) } + let(:user) { build(:testdfc_user) } + let(:beans) { order.variants.first } + let(:beans_retail_link) { + "https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635" + } + + describe ".sync_linked_catalogs" do + subject { StockSyncJob.sync_linked_catalogs(order) } + it "ignores products without semantic link" do + expect { subject }.not_to enqueue_job(StockSyncJob) + end + + it "enqueues backorder" do + beans.semantic_links << SemanticLink.new( + semantic_id: beans_retail_link + ) + + expect { subject }.to enqueue_job(StockSyncJob) + .with(user, beans_retail_link) + end + + it "reports errors" do + expect(order).to receive(:variants).and_raise("test error") + expect(Bugsnag).to receive(:notify).and_call_original + + expect { subject }.not_to raise_error + end + end + + describe "#peform" do + subject { StockSyncJob.perform_now(user, beans_retail_link) } + + before do + distributor.save! + user.enterprises << distributor + beans.update!(supplier: distributor) + beans.semantic_links << SemanticLink.new(semantic_id: beans_retail_link) + end + + it "updates stock" do + expect { VCR.use_cassette(:fdc_catalog) { subject } }.to change { + beans.on_demand + }.from(false).to(true) + end + end +end diff --git a/spec/mailers/backorder_mailer_spec.rb b/spec/mailers/backorder_mailer_spec.rb index 17476322980..0073c423ec0 100644 --- a/spec/mailers/backorder_mailer_spec.rb +++ b/spec/mailers/backorder_mailer_spec.rb @@ -4,13 +4,12 @@ RSpec.describe BackorderMailer do let(:order) { create(:completed_order_with_totals) } - let(:variants) { order.line_items.map(&:variant) } describe "#backorder_failed" do it "notifies the owner" do order.distributor.owner.email = "jane@example.net" - BackorderMailer.backorder_failed(order, variants).deliver_now + BackorderMailer.backorder_failed(order).deliver_now mail = ActionMailer::Base.deliveries.first expect(mail.to).to eq ["jane@example.net"]