+
+
+<% end %>
diff --git a/bin/bundle b/bin/bundle
new file mode 100755
index 000000000..66e9889e8
--- /dev/null
+++ b/bin/bundle
@@ -0,0 +1,3 @@
+#!/usr/bin/env ruby
+ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
+load Gem.bin_path('bundler', 'bundle')
diff --git a/bin/rails b/bin/rails
new file mode 100755
index 000000000..5badb2fde
--- /dev/null
+++ b/bin/rails
@@ -0,0 +1,9 @@
+#!/usr/bin/env ruby
+begin
+ load File.expand_path('../spring', __FILE__)
+rescue LoadError => e
+ raise unless e.message.include?('spring')
+end
+APP_PATH = File.expand_path('../config/application', __dir__)
+require_relative '../config/boot'
+require 'rails/commands'
diff --git a/bin/rake b/bin/rake
new file mode 100755
index 000000000..d87d5f578
--- /dev/null
+++ b/bin/rake
@@ -0,0 +1,9 @@
+#!/usr/bin/env ruby
+begin
+ load File.expand_path('../spring', __FILE__)
+rescue LoadError => e
+ raise unless e.message.include?('spring')
+end
+require_relative '../config/boot'
+require 'rake'
+Rake.application.run
diff --git a/bin/setup b/bin/setup
new file mode 100755
index 000000000..78c4e861d
--- /dev/null
+++ b/bin/setup
@@ -0,0 +1,38 @@
+#!/usr/bin/env ruby
+require 'pathname'
+require 'fileutils'
+include FileUtils
+
+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
+
+def system!(*args)
+ system(*args) || abort("\n== Command #{args} failed ==")
+end
+
+chdir APP_ROOT do
+ # This script is a starting point to setup your application.
+ # Add necessary setup steps to this file.
+
+ puts '== Installing dependencies =='
+ system! 'gem install bundler --conservative'
+ system('bundle check') || system!('bundle install')
+
+ # Install JavaScript dependencies if using Yarn
+ # system('bin/yarn')
+
+
+ # puts "\n== Copying sample files =="
+ # unless File.exist?('config/database.yml')
+ # cp 'config/database.yml.sample', 'config/database.yml'
+ # end
+
+ puts "\n== Preparing database =="
+ system! 'bin/rails db:setup'
+
+ puts "\n== Removing old logs and tempfiles =="
+ system! 'bin/rails log:clear tmp:clear'
+
+ puts "\n== Restarting application server =="
+ system! 'bin/rails restart'
+end
diff --git a/bin/spring b/bin/spring
new file mode 100755
index 000000000..fb2ec2ebb
--- /dev/null
+++ b/bin/spring
@@ -0,0 +1,17 @@
+#!/usr/bin/env ruby
+
+# This file loads spring without using Bundler, in order to be fast.
+# It gets overwritten when you run the `spring binstub` command.
+
+unless defined?(Spring)
+ require 'rubygems'
+ require 'bundler'
+
+ lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
+ spring = lockfile.specs.detect { |spec| spec.name == "spring" }
+ if spring
+ Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
+ gem 'spring', spring.version
+ require 'spring/binstub'
+ end
+end
diff --git a/bin/update b/bin/update
new file mode 100755
index 000000000..a8e4462f2
--- /dev/null
+++ b/bin/update
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+require 'pathname'
+require 'fileutils'
+include FileUtils
+
+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
+
+def system!(*args)
+ system(*args) || abort("\n== Command #{args} failed ==")
+end
+
+chdir APP_ROOT do
+ # This script is a way to update your development environment automatically.
+ # Add necessary update steps to this file.
+
+ puts '== Installing dependencies =='
+ system! 'gem install bundler --conservative'
+ system('bundle check') || system!('bundle install')
+
+ puts "\n== Updating database =="
+ system! 'bin/rails db:migrate'
+
+ puts "\n== Removing old logs and tempfiles =="
+ system! 'bin/rails log:clear tmp:clear'
+
+ puts "\n== Restarting application server =="
+ system! 'bin/rails restart'
+end
diff --git a/bin/yarn b/bin/yarn
new file mode 100755
index 000000000..c2bacef83
--- /dev/null
+++ b/bin/yarn
@@ -0,0 +1,11 @@
+#!/usr/bin/env ruby
+VENDOR_PATH = File.expand_path('..', __dir__)
+Dir.chdir(VENDOR_PATH) do
+ begin
+ exec "yarnpkg #{ARGV.join(" ")}"
+ rescue Errno::ENOENT
+ $stderr.puts "Yarn executable was not detected in the system."
+ $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
+ exit 1
+ end
+end
diff --git a/config.ru b/config.ru
new file mode 100644
index 000000000..f7ba0b527
--- /dev/null
+++ b/config.ru
@@ -0,0 +1,5 @@
+# This file is used by Rack-based servers to start the application.
+
+require_relative 'config/environment'
+
+run Rails.application
diff --git a/config/application.rb b/config/application.rb
new file mode 100644
index 000000000..67910bf13
--- /dev/null
+++ b/config/application.rb
@@ -0,0 +1,20 @@
+require_relative 'boot'
+
+require 'rails/all'
+
+
+# Require the gems listed in Gemfile, including any gems
+# you've limited to :test, :development, or :production.
+Bundler.require(*Rails.groups)
+
+module ApiMuncher
+ class Application < Rails::Application
+ # Initialize configuration defaults for originally generated Rails version.
+ config.load_defaults 5.1
+ config.autoload_paths << Rails.root.join('lib')
+ config.eager_load_paths << Rails.root.join('lib')
+ # Settings in config/environments/* take precedence over those specified here.
+ # Application configuration should go into files in config/initializers
+ # -- all .rb files in that directory are automatically loaded.
+ end
+end
diff --git a/config/boot.rb b/config/boot.rb
new file mode 100644
index 000000000..30f5120df
--- /dev/null
+++ b/config/boot.rb
@@ -0,0 +1,3 @@
+ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
+
+require 'bundler/setup' # Set up gems listed in the Gemfile.
diff --git a/config/cable.yml b/config/cable.yml
new file mode 100644
index 000000000..ab338d3d1
--- /dev/null
+++ b/config/cable.yml
@@ -0,0 +1,10 @@
+development:
+ adapter: async
+
+test:
+ adapter: async
+
+production:
+ adapter: redis
+ url: redis://localhost:6379/1
+ channel_prefix: api-muncher_production
diff --git a/config/database.yml b/config/database.yml
new file mode 100644
index 000000000..852fd0488
--- /dev/null
+++ b/config/database.yml
@@ -0,0 +1,25 @@
+# SQLite version 3.x
+# gem install sqlite3
+#
+# Ensure the SQLite 3 gem is defined in your Gemfile
+# gem 'sqlite3'
+#
+default: &default
+ adapter: postgresql
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
+ timeout: 5000
+
+development:
+ <<: *default
+ database: db/dev
+
+# Warning: The database defined as "test" will be erased and
+# re-generated from your development database when you run "rake".
+# Do not set this db to the same as development or production.
+test:
+ <<: *default
+ database: db/test
+
+production:
+ <<: *default
+ database: db/prod
diff --git a/config/environment.rb b/config/environment.rb
new file mode 100644
index 000000000..426333bb4
--- /dev/null
+++ b/config/environment.rb
@@ -0,0 +1,5 @@
+# Load the Rails application.
+require_relative 'application'
+
+# Initialize the Rails application.
+Rails.application.initialize!
diff --git a/config/environments/development.rb b/config/environments/development.rb
new file mode 100644
index 000000000..5187e2218
--- /dev/null
+++ b/config/environments/development.rb
@@ -0,0 +1,54 @@
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # In the development environment your application's code is reloaded on
+ # every request. This slows down response time but is perfect for development
+ # since you don't have to restart the web server when you make code changes.
+ config.cache_classes = false
+
+ # Do not eager load code on boot.
+ config.eager_load = false
+
+ # Show full error reports.
+ config.consider_all_requests_local = true
+
+ # Enable/disable caching. By default caching is disabled.
+ if Rails.root.join('tmp/caching-dev.txt').exist?
+ config.action_controller.perform_caching = true
+
+ config.cache_store = :memory_store
+ config.public_file_server.headers = {
+ 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
+ }
+ else
+ config.action_controller.perform_caching = false
+
+ config.cache_store = :null_store
+ end
+
+ # Don't care if the mailer can't send.
+ config.action_mailer.raise_delivery_errors = false
+
+ config.action_mailer.perform_caching = false
+
+ # Print deprecation notices to the Rails logger.
+ config.active_support.deprecation = :log
+
+ # Raise an error on page load if there are pending migrations.
+ config.active_record.migration_error = :page_load
+
+ # Debug mode disables concatenation and preprocessing of assets.
+ # This option may cause significant delays in view rendering with a large
+ # number of complex assets.
+ config.assets.debug = true
+
+ # Suppress logger output for asset requests.
+ config.assets.quiet = true
+
+ # Raises error for missing translations
+ # config.action_view.raise_on_missing_translations = true
+
+ # Use an evented file watcher to asynchronously detect changes in source code,
+ # routes, locales, etc. This feature depends on the listen gem.
+ config.file_watcher = ActiveSupport::EventedFileUpdateChecker
+end
diff --git a/config/environments/production.rb b/config/environments/production.rb
new file mode 100644
index 000000000..e4e3024f7
--- /dev/null
+++ b/config/environments/production.rb
@@ -0,0 +1,92 @@
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # Code is not reloaded between requests.
+ config.cache_classes = true
+
+ # Eager load code on boot. This eager loads most of Rails and
+ # your application in memory, allowing both threaded web servers
+ # and those relying on copy on write to perform better.
+ # Rake tasks automatically ignore this option for performance.
+ config.eager_load = true
+ config.enable_dependency_loading = true
+
+ # Full error reports are disabled and caching is turned on.
+ config.consider_all_requests_local = false
+ config.action_controller.perform_caching = true
+
+ # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
+ # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
+ # `config/secrets.yml.key`.
+ config.read_encrypted_secrets = true
+
+ # Disable serving static files from the `/public` folder by default since
+ # Apache or NGINX already handles this.
+ config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
+
+ # Compress JavaScripts and CSS.
+ config.assets.js_compressor = :uglifier
+ # config.assets.css_compressor = :sass
+
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
+ config.assets.compile = false
+
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
+
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
+ # config.action_controller.asset_host = 'http://assets.example.com'
+
+ # Specifies the header that your server uses for sending files.
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
+
+ # Mount Action Cable outside main process or domain
+ # config.action_cable.mount_path = nil
+ # config.action_cable.url = 'wss://example.com/cable'
+ # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
+
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
+ # config.force_ssl = true
+
+ # Use the lowest log level to ensure availability of diagnostic information
+ # when problems arise.
+ config.log_level = :debug
+
+ # Prepend all log lines with the following tags.
+ config.log_tags = [ :request_id ]
+
+ # Use a different cache store in production.
+ # config.cache_store = :mem_cache_store
+
+ # Use a real queuing backend for Active Job (and separate queues per environment)
+ # config.active_job.queue_adapter = :resque
+ # config.active_job.queue_name_prefix = "api-muncher_#{Rails.env}"
+ config.action_mailer.perform_caching = false
+
+ # Ignore bad email addresses and do not raise email delivery errors.
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
+ # config.action_mailer.raise_delivery_errors = false
+
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
+ # the I18n.default_locale when a translation cannot be found).
+ config.i18n.fallbacks = true
+
+ # Send deprecation notices to registered listeners.
+ config.active_support.deprecation = :notify
+
+ # Use default logging formatter so that PID and timestamp are not suppressed.
+ config.log_formatter = ::Logger::Formatter.new
+
+ # Use a different logger for distributed setups.
+ # require 'syslog/logger'
+ # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
+
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
+ logger = ActiveSupport::Logger.new(STDOUT)
+ logger.formatter = config.log_formatter
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
+ end
+
+ # Do not dump schema after migrations.
+ config.active_record.dump_schema_after_migration = false
+end
diff --git a/config/environments/test.rb b/config/environments/test.rb
new file mode 100644
index 000000000..8e5cbde53
--- /dev/null
+++ b/config/environments/test.rb
@@ -0,0 +1,42 @@
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # The test environment is used exclusively to run your application's
+ # test suite. You never need to work with it otherwise. Remember that
+ # your test database is "scratch space" for the test suite and is wiped
+ # and recreated between test runs. Don't rely on the data there!
+ config.cache_classes = true
+
+ # Do not eager load code on boot. This avoids loading your whole application
+ # just for the purpose of running a single test. If you are using a tool that
+ # preloads Rails for running tests, you may have to set it to true.
+ config.eager_load = false
+
+ # Configure public file server for tests with Cache-Control for performance.
+ config.public_file_server.enabled = true
+ config.public_file_server.headers = {
+ 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}"
+ }
+
+ # Show full error reports and disable caching.
+ config.consider_all_requests_local = true
+ config.action_controller.perform_caching = false
+
+ # Raise exceptions instead of rendering exception templates.
+ config.action_dispatch.show_exceptions = false
+
+ # Disable request forgery protection in test environment.
+ config.action_controller.allow_forgery_protection = false
+ config.action_mailer.perform_caching = false
+
+ # Tell Action Mailer not to deliver emails to the real world.
+ # The :test delivery method accumulates sent emails in the
+ # ActionMailer::Base.deliveries array.
+ config.action_mailer.delivery_method = :test
+
+ # Print deprecation notices to the stderr.
+ config.active_support.deprecation = :stderr
+
+ # Raises error for missing translations
+ # config.action_view.raise_on_missing_translations = true
+end
diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb
new file mode 100644
index 000000000..89d2efab2
--- /dev/null
+++ b/config/initializers/application_controller_renderer.rb
@@ -0,0 +1,8 @@
+# Be sure to restart your server when you modify this file.
+
+# ActiveSupport::Reloader.to_prepare do
+# ApplicationController.renderer.defaults.merge!(
+# http_host: 'example.org',
+# https: false
+# )
+# end
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb
new file mode 100644
index 000000000..4b828e80c
--- /dev/null
+++ b/config/initializers/assets.rb
@@ -0,0 +1,14 @@
+# Be sure to restart your server when you modify this file.
+
+# Version of your assets, change this if you want to expire all your assets.
+Rails.application.config.assets.version = '1.0'
+
+# Add additional assets to the asset load path.
+# Rails.application.config.assets.paths << Emoji.images_path
+# Add Yarn node_modules folder to the asset load path.
+Rails.application.config.assets.paths << Rails.root.join('node_modules')
+
+# Precompile additional assets.
+# application.js, application.css, and all non-JS/CSS in the app/assets
+# folder are already added.
+# Rails.application.config.assets.precompile += %w( admin.js admin.css )
diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb
new file mode 100644
index 000000000..59385cdf3
--- /dev/null
+++ b/config/initializers/backtrace_silencers.rb
@@ -0,0 +1,7 @@
+# Be sure to restart your server when you modify this file.
+
+# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
+# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
+
+# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
+# Rails.backtrace_cleaner.remove_silencers!
diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb
new file mode 100644
index 000000000..5a6a32d37
--- /dev/null
+++ b/config/initializers/cookies_serializer.rb
@@ -0,0 +1,5 @@
+# Be sure to restart your server when you modify this file.
+
+# Specify a serializer for the signed and encrypted cookie jars.
+# Valid options are :json, :marshal, and :hybrid.
+Rails.application.config.action_dispatch.cookies_serializer = :json
diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb
new file mode 100644
index 000000000..4a994e1e7
--- /dev/null
+++ b/config/initializers/filter_parameter_logging.rb
@@ -0,0 +1,4 @@
+# Be sure to restart your server when you modify this file.
+
+# Configure sensitive parameters which will be filtered from the log file.
+Rails.application.config.filter_parameters += [:password]
diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb
new file mode 100644
index 000000000..ac033bf9d
--- /dev/null
+++ b/config/initializers/inflections.rb
@@ -0,0 +1,16 @@
+# Be sure to restart your server when you modify this file.
+
+# Add new inflection rules using the following format. Inflections
+# are locale specific, and you may define rules for as many different
+# locales as you wish. All of these examples are active by default:
+# ActiveSupport::Inflector.inflections(:en) do |inflect|
+# inflect.plural /^(ox)$/i, '\1en'
+# inflect.singular /^(ox)en/i, '\1'
+# inflect.irregular 'person', 'people'
+# inflect.uncountable %w( fish sheep )
+# end
+
+# These inflection rules are supported but not enabled by default:
+# ActiveSupport::Inflector.inflections(:en) do |inflect|
+# inflect.acronym 'RESTful'
+# end
diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb
new file mode 100644
index 000000000..dc1899682
--- /dev/null
+++ b/config/initializers/mime_types.rb
@@ -0,0 +1,4 @@
+# Be sure to restart your server when you modify this file.
+
+# Add new mime types for use in respond_to blocks:
+# Mime::Type.register "text/richtext", :rtf
diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb
new file mode 100644
index 000000000..bbfc3961b
--- /dev/null
+++ b/config/initializers/wrap_parameters.rb
@@ -0,0 +1,14 @@
+# Be sure to restart your server when you modify this file.
+
+# This file contains settings for ActionController::ParamsWrapper which
+# is enabled by default.
+
+# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
+ActiveSupport.on_load(:action_controller) do
+ wrap_parameters format: [:json]
+end
+
+# To enable root element in JSON for ActiveRecord objects.
+# ActiveSupport.on_load(:active_record) do
+# self.include_root_in_json = true
+# end
diff --git a/config/locales/en.yml b/config/locales/en.yml
new file mode 100644
index 000000000..decc5a857
--- /dev/null
+++ b/config/locales/en.yml
@@ -0,0 +1,33 @@
+# Files in the config/locales directory are used for internationalization
+# and are automatically loaded by Rails. If you want to use locales other
+# than English, add the necessary files in this directory.
+#
+# To use the locales, use `I18n.t`:
+#
+# I18n.t 'hello'
+#
+# In views, this is aliased to just `t`:
+#
+# <%= t('hello') %>
+#
+# To use a different locale, set it with `I18n.locale`:
+#
+# I18n.locale = :es
+#
+# This would use the information in config/locales/es.yml.
+#
+# The following keys must be escaped otherwise they will not be retrieved by
+# the default I18n backend:
+#
+# true, false, on, off, yes, no
+#
+# Instead, surround them with single quotes.
+#
+# en:
+# 'true': 'foo'
+#
+# To learn more, please read the Rails Internationalization guide
+# available at http://guides.rubyonrails.org/i18n.html.
+
+en:
+ hello: "Hello world"
diff --git a/config/puma.rb b/config/puma.rb
new file mode 100644
index 000000000..1e19380dc
--- /dev/null
+++ b/config/puma.rb
@@ -0,0 +1,56 @@
+# Puma can serve each request in a thread from an internal thread pool.
+# The `threads` method setting takes two numbers: a minimum and maximum.
+# Any libraries that use thread pools should be configured to match
+# the maximum value specified for Puma. Default is set to 5 threads for minimum
+# and maximum; this matches the default thread size of Active Record.
+#
+threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
+threads threads_count, threads_count
+
+# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
+#
+port ENV.fetch("PORT") { 3000 }
+
+# Specifies the `environment` that Puma will run in.
+#
+environment ENV.fetch("RAILS_ENV") { "development" }
+
+# Specifies the number of `workers` to boot in clustered mode.
+# Workers are forked webserver processes. If using threads and workers together
+# the concurrency of the application would be max `threads` * `workers`.
+# Workers do not work on JRuby or Windows (both of which do not support
+# processes).
+#
+# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
+
+# Use the `preload_app!` method when specifying a `workers` number.
+# This directive tells Puma to first boot the application and load code
+# before forking the application. This takes advantage of Copy On Write
+# process behavior so workers use less memory. If you use this option
+# you need to make sure to reconnect any threads in the `on_worker_boot`
+# block.
+#
+# preload_app!
+
+# If you are preloading your application and using Active Record, it's
+# recommended that you close any connections to the database before workers
+# are forked to prevent connection leakage.
+#
+# before_fork do
+# ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
+# end
+
+# The code in the `on_worker_boot` will be called if you are using
+# clustered mode by specifying a number of `workers`. After each worker
+# process is booted, this block will be run. If you are using the `preload_app!`
+# option, you will want to use this block to reconnect to any threads
+# or connections that may have been created at application boot, as Ruby
+# cannot share connections between processes.
+#
+# on_worker_boot do
+# ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
+# end
+#
+
+# Allow puma to be restarted by `rails restart` command.
+plugin :tmp_restart
diff --git a/config/routes.rb b/config/routes.rb
new file mode 100644
index 000000000..7f0a6fc42
--- /dev/null
+++ b/config/routes.rb
@@ -0,0 +1,6 @@
+Rails.application.routes.draw do
+ # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
+ root 'recipes#index'
+ get 'recipes/results', to: 'recipes#results', as: "get_recipes"
+ get 'recipes/show/:uri', to: 'recipes#show', as: 'show_recipe'
+end
diff --git a/config/secrets.yml b/config/secrets.yml
new file mode 100644
index 000000000..d46d994cb
--- /dev/null
+++ b/config/secrets.yml
@@ -0,0 +1,32 @@
+# Be sure to restart your server when you modify this file.
+
+# Your secret key is used for verifying the integrity of signed cookies.
+# If you change this key, all old signed cookies will become invalid!
+
+# Make sure the secret is at least 30 characters and all random,
+# no regular words or you'll be exposed to dictionary attacks.
+# You can use `rails secret` to generate a secure secret key.
+
+# Make sure the secrets in this file are kept private
+# if you're sharing your code publicly.
+
+# Shared secrets are available across all environments.
+
+# shared:
+# api_key: a1B2c3D4e5F6
+
+# Environmental secrets are only available for that specific environment.
+
+development:
+ secret_key_base: 7dadda7739f287cafcb453dccf9133b7b9b303e88ca691e147df2929ca1038a96018fa7c9d8d314ea8fec8e8bd4caa0c15d7d6aebb613fcda4960a4b92ed3309
+
+test:
+ secret_key_base: afeb6ba17f048fb66ed393ce3d37d8f3a22e042e2454f60598b589e4754076389d61abdd950aced87794f6f1f96e2125f0bbe06be21483381aaeb194c6627cd9
+
+# Do not keep production secrets in the unencrypted secrets file.
+# Instead, either read values from the environment.
+# Or, use `bin/rails secrets:setup` to configure encrypted secrets
+# and move the `production:` environment over there.
+
+production:
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
diff --git a/config/spring.rb b/config/spring.rb
new file mode 100644
index 000000000..c9119b40c
--- /dev/null
+++ b/config/spring.rb
@@ -0,0 +1,6 @@
+%w(
+ .ruby-version
+ .rbenv-vars
+ tmp/restart.txt
+ tmp/caching-dev.txt
+).each { |path| Spring.watch(path) }
diff --git a/coverage/.last_run.json b/coverage/.last_run.json
new file mode 100644
index 000000000..66ff2e645
--- /dev/null
+++ b/coverage/.last_run.json
@@ -0,0 +1,5 @@
+{
+ "result": {
+ "covered_percent": 68.89
+ }
+}
diff --git a/coverage/.resultset.json b/coverage/.resultset.json
new file mode 100644
index 000000000..71367299c
--- /dev/null
+++ b/coverage/.resultset.json
@@ -0,0 +1,205 @@
+{
+ "MiniTest": {
+ "coverage": {
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/helpers/application_helper.rb": [
+ 1,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/helpers/recipie_helper.rb": [
+ 1,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/controllers/recipes_controller.rb": [
+ null,
+ null,
+ 1,
+ 1,
+ null,
+ null,
+ 1,
+ 2,
+ null,
+ null,
+ 1,
+ 1,
+ null,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/controllers/application_controller.rb": [
+ 1,
+ 1,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/lib/recipe_api_wrapper.rb": [
+ 1,
+ null,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ null,
+ 1,
+ 2,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 2,
+ 2,
+ 2,
+ 2,
+ 10,
+ 10,
+ 10,
+ 10,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 2,
+ null,
+ 0,
+ null,
+ null,
+ null,
+ 1,
+ 1,
+ 1,
+ null,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/channels/application_cable/channel.rb": [
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/channels/application_cable/connection.rb": [
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/jobs/application_job.rb": [
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/mailers/application_mailer.rb": [
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/models/application_record.rb": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "timestamp": 1509646398
+ },
+ "Unit Tests": {
+ "coverage": {
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/helpers/application_helper.rb": [
+ 1,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/helpers/recipie_helper.rb": [
+ 1,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/controllers/recipes_controller.rb": [
+ null,
+ null,
+ 1,
+ 1,
+ null,
+ null,
+ 1,
+ 3,
+ null,
+ null,
+ 1,
+ 2,
+ null,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/controllers/application_controller.rb": [
+ 1,
+ 1,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/lib/recipe_api_wrapper.rb": [
+ 1,
+ null,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ null,
+ 1,
+ 3,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 3,
+ 3,
+ 3,
+ 3,
+ 10,
+ 10,
+ 10,
+ 10,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ 3,
+ null,
+ 0,
+ null,
+ null,
+ null,
+ 1,
+ 2,
+ 2,
+ 2,
+ null,
+ null
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/channels/application_cable/channel.rb": [
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/channels/application_cable/connection.rb": [
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/jobs/application_job.rb": [
+ 0,
+ 0
+ ],
+ "/Users/lindsey/Desktop/Ada/api-muncher/app/models/application_record.rb": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "timestamp": 1510120903
+ }
+}
diff --git a/coverage/.resultset.json.lock b/coverage/.resultset.json.lock
new file mode 100644
index 000000000..e69de29bb
diff --git a/coverage/assets/0.10.2/application.css b/coverage/assets/0.10.2/application.css
new file mode 100644
index 000000000..d86560434
--- /dev/null
+++ b/coverage/assets/0.10.2/application.css
@@ -0,0 +1,799 @@
+/* -----------------------------------------------------------------------
+
+
+ Blueprint CSS Framework 0.9
+ http://blueprintcss.org
+
+ * Copyright (c) 2007-Present. See LICENSE for more info.
+ * See README for instructions on how to use Blueprint.
+ * For credits and origins, see AUTHORS.
+ * This is a compressed file. See the sources in the 'src' directory.
+
+----------------------------------------------------------------------- */
+
+/* reset.css */
+
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
+article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
+body {line-height:1.5;}
+table {border-collapse:separate;border-spacing:0;}
+caption, th, td {text-align:left;font-weight:normal;}
+table, td, th {vertical-align:middle;}
+blockquote:before, blockquote:after, q:before, q:after {content:"";}
+blockquote, q {quotes:"" "";}
+a img {border:none;}
+
+/* typography.css */
+html {font-size:100.01%;}
+body {font-size:82%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
+h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
+h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
+h2 {font-size:2em;margin-bottom:0.75em;}
+h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
+h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
+h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
+h6 {font-size:1em;font-weight:bold;}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
+p {margin:0 0 1.5em;}
+p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
+p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
+a:focus, a:hover {color:#000;}
+a {color:#009;text-decoration:underline;}
+blockquote {margin:1.5em;color:#666;font-style:italic;}
+strong {font-weight:bold;}
+em, dfn {font-style:italic;}
+dfn {font-weight:bold;}
+sup, sub {line-height:0;}
+abbr, acronym {border-bottom:1px dotted #666;}
+address {margin:0 0 1.5em;font-style:italic;}
+del {color:#666;}
+pre {margin:1.5em 0;white-space:pre;}
+pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
+li ul, li ol {margin:0;}
+ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
+ul {list-style-type:disc;}
+ol {list-style-type:decimal;}
+dl {margin:0 0 1.5em 0;}
+dl dt {font-weight:bold;}
+dd {margin-left:1.5em;}
+table {margin-bottom:1.4em;width:100%;}
+th {font-weight:bold;}
+thead th {background:#c3d9ff;}
+th, td, caption {padding:4px 10px 4px 5px;}
+tr.even td {background:#efefef;}
+tfoot {font-style:italic;}
+caption {background:#eee;}
+.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
+.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
+.hide {display:none;}
+.quiet {color:#666;}
+.loud {color:#000;}
+.highlight {background:#ff0;}
+.added {background:#060;color:#fff;}
+.removed {background:#900;color:#fff;}
+.first {margin-left:0;padding-left:0;}
+.last {margin-right:0;padding-right:0;}
+.top {margin-top:0;padding-top:0;}
+.bottom {margin-bottom:0;padding-bottom:0;}
+
+/* forms.css */
+label {font-weight:bold;}
+fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
+legend {font-weight:bold;font-size:1.2em;}
+input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
+input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
+input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
+input.text, input.title {width:300px;padding:5px;}
+input.title {font-size:1.5em;}
+textarea {width:390px;height:250px;padding:5px;}
+input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
+form.inline {line-height:3;}
+form.inline p {margin-bottom:0;}
+.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
+.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
+.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
+.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
+.error a {color:#8a1f11;}
+.notice a {color:#514721;}
+.success a {color:#264409;}
+.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
+hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
+hr.space {background:#fff;color:#fff;visibility:hidden;}
+.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
+.clearfix, .container {display:block;}
+.clear {clear:both;}
+/*
+github.com style (c) Vasily Polovnyov
+*/
+
+
+pre code {
+}
+
+pre .comment,
+pre .template_comment,
+pre .diff .header,
+pre .javadoc {
+ color: #998;
+ font-style: italic
+}
+
+pre .keyword,
+pre .css .rule .keyword,
+pre .winutils,
+pre .javascript .title,
+pre .lisp .title {
+ color: #000;
+ font-weight: bold
+}
+
+pre .number,
+pre .hexcolor {
+ color: #458
+}
+
+
+pre .string,
+pre .tag .value,
+pre .phpdoc,
+pre .tex .formula {
+ color: #d14
+}
+
+pre .subst {
+ color: #712;
+}
+
+pre .constant,
+pre .title,
+pre .id {
+ color: #900;
+ font-weight: bold
+}
+
+pre .javascript .title,
+pre .lisp .title,
+pre .subst {
+ font-weight: normal
+}
+
+pre .class .title,
+pre .haskell .label,
+pre .tex .command {
+ color: #458;
+ font-weight: bold
+}
+
+pre .tag,
+pre .tag .title,
+pre .rules .property,
+pre .django .tag .keyword {
+ color: #000080;
+ font-weight: normal
+}
+
+pre .attribute,
+pre .variable,
+pre .instancevar,
+pre .lisp .body {
+ color: #008080
+}
+
+pre .regexp {
+ color: #009926
+}
+
+pre .class {
+ color: #458;
+ font-weight: bold
+}
+
+pre .symbol,
+pre .ruby .symbol .string,
+pre .ruby .symbol .keyword,
+pre .ruby .symbol .keymethods,
+pre .lisp .keyword,
+pre .tex .special,
+pre .input_number {
+ color: #990073
+}
+
+pre .builtin,
+pre .built_in,
+pre .lisp .title {
+ color: #0086b3
+}
+
+pre .preprocessor,
+pre .pi,
+pre .doctype,
+pre .shebang,
+pre .cdata {
+ color: #999;
+ font-weight: bold
+}
+
+pre .deletion {
+ background: #fdd
+}
+
+pre .addition {
+ background: #dfd
+}
+
+pre .diff .change {
+ background: #0086b3
+}
+
+pre .chunk {
+ color: #aaa
+}
+
+pre .tex .formula {
+ opacity: 0.5;
+}
+/*
+ * jQuery UI CSS Framework @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:#000;}
+#colorbox{}
+ #cboxTopLeft{width:14px; height:14px; background:url(colorbox/controls.png) no-repeat 0 0;}
+ #cboxTopCenter{height:14px; background:url(colorbox/border.png) repeat-x top left;}
+ #cboxTopRight{width:14px; height:14px; background:url(colorbox/controls.png) no-repeat -36px 0;}
+ #cboxBottomLeft{width:14px; height:43px; background:url(colorbox/controls.png) no-repeat 0 -32px;}
+ #cboxBottomCenter{height:43px; background:url(colorbox/border.png) repeat-x bottom left;}
+ #cboxBottomRight{width:14px; height:43px; background:url(colorbox/controls.png) no-repeat -36px -32px;}
+ #cboxMiddleLeft{width:14px; background:url(colorbox/controls.png) repeat-y -175px 0;}
+ #cboxMiddleRight{width:14px; background:url(colorbox/controls.png) repeat-y -211px 0;}
+ #cboxContent{background:#fff; overflow:visible;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{margin-bottom:5px;}
+ #cboxLoadingOverlay{background:url(colorbox/loading_background.png) no-repeat center center;}
+ #cboxLoadingGraphic{background:url(colorbox/loading.gif) no-repeat center center;}
+ #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
+ #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
+
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(colorbox/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
+ #cboxPrevious{left:0px; background-position: -51px -25px;}
+ #cboxPrevious:hover{background-position:-51px 0px;}
+ #cboxNext{left:27px; background-position:-75px -25px;}
+ #cboxNext:hover{background-position:-75px 0px;}
+ #cboxClose{right:0; background-position:-100px -25px;}
+ #cboxClose:hover{background-position:-100px 0px;}
+
+ .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
+ .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
+ .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
+ .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
+#loading {
+ position: fixed;
+ left: 40%;
+ top: 50%; }
+
+a {
+ color: #333333;
+ text-decoration: none; }
+ a:hover {
+ color: black;
+ text-decoration: underline; }
+
+body {
+ font-family: "Lucida Grande", Helvetica, "Helvetica Neue", Arial, sans-serif;
+ padding: 12px;
+ background-color: #333333; }
+
+h1, h2, h3, h4 {
+ color: #1c2324;
+ margin: 0;
+ padding: 0;
+ margin-bottom: 12px; }
+
+table {
+ width: 100%; }
+
+#content {
+ clear: left;
+ background-color: white;
+ border: 2px solid #dddddd;
+ border-top: 8px solid #dddddd;
+ padding: 18px;
+ -webkit-border-bottom-left-radius: 5px;
+ -webkit-border-bottom-right-radius: 5px;
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ -moz-border-radius-bottomright: 5px;
+ -moz-border-radius-topright: 5px;
+ border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 5px;
+ border-top-right-radius: 5px; }
+
+.dataTables_filter, .dataTables_info {
+ padding: 2px 6px; }
+
+abbr.timeago {
+ text-decoration: none;
+ border: none;
+ font-weight: bold; }
+
+.timestamp {
+ float: right;
+ color: #dddddd; }
+
+.group_tabs {
+ list-style: none;
+ float: left;
+ margin: 0;
+ padding: 0; }
+ .group_tabs li {
+ display: inline;
+ float: left; }
+ .group_tabs li a {
+ font-family: Helvetica, Arial, sans-serif;
+ display: block;
+ float: left;
+ text-decoration: none;
+ padding: 4px 8px;
+ background-color: #aaaaaa;
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(#dddddd), to(#aaaaaa));
+ background: -moz-linear-gradient(#dddddd, #aaaaaa);
+ background: linear-gradient(#dddddd, #aaaaaa);
+ text-shadow: #e5e5e5 1px 1px 0px;
+ border-bottom: none;
+ color: #333333;
+ font-weight: bold;
+ margin-right: 8px;
+ border-top: 1px solid #efefef;
+ -webkit-border-top-left-radius: 2px;
+ -webkit-border-top-right-radius: 2px;
+ -moz-border-radius-topleft: 2px;
+ -moz-border-radius-topright: 2px;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+ .group_tabs li a:hover {
+ background-color: #cccccc;
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(#eeeeee), to(#aaaaaa));
+ background: -moz-linear-gradient(#eeeeee, #aaaaaa);
+ background: linear-gradient(#eeeeee, #aaaaaa); }
+ .group_tabs li a:active {
+ padding-top: 5px;
+ padding-bottom: 3px; }
+ .group_tabs li.active a {
+ color: black;
+ text-shadow: white 1px 1px 0px;
+ background-color: #dddddd;
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(white), to(#dddddd));
+ background: -moz-linear-gradient(white, #dddddd);
+ background: linear-gradient(white, #dddddd); }
+
+.file_list {
+ margin-bottom: 18px; }
+
+a.src_link {
+ background: url("./magnify.png") no-repeat left 50%;
+ padding-left: 18px; }
+
+tr, td {
+ margin: 0;
+ padding: 0; }
+
+th {
+ white-space: nowrap; }
+ th.ui-state-default {
+ cursor: pointer; }
+ th span.ui-icon {
+ float: left; }
+
+td {
+ padding: 4px 8px; }
+ td.strong {
+ font-weight: bold; }
+
+.source_table h3, .source_table h4 {
+ padding: 0;
+ margin: 0;
+ margin-bottom: 4px; }
+.source_table .header {
+ padding: 10px; }
+.source_table pre {
+ margin: 0;
+ padding: 0;
+ white-space: normal;
+ color: black;
+ font-family: "Monaco", "Inconsolata", "Consolas", monospace; }
+.source_table code {
+ color: black;
+ font-family: "Monaco", "Inconsolata", "Consolas", monospace; }
+.source_table pre {
+ background-color: #333333; }
+ .source_table pre ol {
+ margin: 0px;
+ padding: 0px;
+ margin-left: 45px;
+ font-size: 12px;
+ color: white; }
+ .source_table pre li {
+ margin: 0px;
+ padding: 2px 6px;
+ border-left: 5px solid white; }
+ .source_table pre li code {
+ white-space: pre;
+ white-space: pre-wrap; }
+ .source_table pre .hits {
+ float: right;
+ margin-left: 10px;
+ padding: 2px 4px;
+ background-color: #444444;
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(#222222), to(#666666));
+ background: -moz-linear-gradient(#222222, #666666);
+ background: linear-gradient(#222222, #666666);
+ color: white;
+ font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
+ font-size: 10px;
+ font-weight: bold;
+ text-align: center;
+ border-radius: 6px; }
+
+#footer {
+ color: #dddddd;
+ font-size: 12px;
+ font-weight: bold;
+ margin-top: 12px;
+ text-align: right; }
+ #footer a {
+ color: #eeeeee;
+ text-decoration: underline; }
+ #footer a:hover {
+ color: white;
+ text-decoration: none; }
+
+.green {
+ color: #009900; }
+
+.red {
+ color: #990000; }
+
+.yellow {
+ color: #ddaa00; }
+
+.source_table .covered {
+ border-color: #009900; }
+.source_table .missed {
+ border-color: #990000; }
+.source_table .never {
+ border-color: black; }
+.source_table .skipped {
+ border-color: #ffcc00; }
+.source_table .covered:nth-child(odd) {
+ background-color: #cdf2cd; }
+.source_table .covered:nth-child(even) {
+ background-color: #dbf2db; }
+.source_table .missed:nth-child(odd) {
+ background-color: #f7c0c0; }
+.source_table .missed:nth-child(even) {
+ background-color: #f7cfcf; }
+.source_table .never:nth-child(odd) {
+ background-color: #efefef; }
+.source_table .never:nth-child(even) {
+ background-color: #f4f4f4; }
+.source_table .skipped:nth-child(odd) {
+ background-color: #fbf0c0; }
+.source_table .skipped:nth-child(even) {
+ background-color: #fbffcf; }
+
+
+
diff --git a/coverage/assets/0.10.2/application.js b/coverage/assets/0.10.2/application.js
new file mode 100644
index 000000000..fe65d8821
--- /dev/null
+++ b/coverage/assets/0.10.2/application.js
@@ -0,0 +1,1707 @@
+/*!
+ * jQuery JavaScript Library v1.6.2
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Jun 30 14:16:56 2011 -0400
+ */
+
+(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
+
+
diff --git a/db/migrate/20171101005900_create_recipes.rb b/db/migrate/20171101005900_create_recipes.rb
new file mode 100644
index 000000000..a477258d4
--- /dev/null
+++ b/db/migrate/20171101005900_create_recipes.rb
@@ -0,0 +1,11 @@
+class CreateRecipes < ActiveRecord::Migration[5.1]
+ def change
+ create_table :recipes do |t|
+ t.string :name
+ t.string :image_url
+ t.string :creator
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20171101010614_create_labels.rb b/db/migrate/20171101010614_create_labels.rb
new file mode 100644
index 000000000..d599ff0da
--- /dev/null
+++ b/db/migrate/20171101010614_create_labels.rb
@@ -0,0 +1,9 @@
+class CreateLabels < ActiveRecord::Migration[5.1]
+ def change
+ create_table :labels do |t|
+ t.integer :recipe_id
+ t.string :label
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20171101010715_create_ingredients.rb b/db/migrate/20171101010715_create_ingredients.rb
new file mode 100644
index 000000000..ee0232ce2
--- /dev/null
+++ b/db/migrate/20171101010715_create_ingredients.rb
@@ -0,0 +1,9 @@
+class CreateIngredients < ActiveRecord::Migration[5.1]
+ def change
+ create_table :ingredients do |t|
+ t.integer :recipe_id
+ t.string :ingredient
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20171102172147_droptable.rb b/db/migrate/20171102172147_droptable.rb
new file mode 100644
index 000000000..5981b8f3a
--- /dev/null
+++ b/db/migrate/20171102172147_droptable.rb
@@ -0,0 +1,7 @@
+class Droptable < ActiveRecord::Migration[5.1]
+ def change
+ drop_table :recipes
+ drop_table :labels
+ drop_table :ingredients
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
new file mode 100644
index 000000000..7d5dda55e
--- /dev/null
+++ b/db/schema.rb
@@ -0,0 +1,18 @@
+# This file is auto-generated from the current state of the database. Instead
+# of editing this file, please use the migrations feature of Active Record to
+# incrementally modify your database, and then regenerate this schema definition.
+#
+# Note that this schema.rb definition is the authoritative source for your
+# database schema. If you need to create the application database on another
+# system, you should be using db:schema:load, not running all the migrations
+# from scratch. The latter is a flawed and unsustainable approach (the more migrations
+# you'll amass, the slower it'll run and the greater likelihood for issues).
+#
+# It's strongly recommended that you check this file into your version control system.
+
+ActiveRecord::Schema.define(version: 20171102172147) do
+
+ # These are extensions that must be enabled in order to support this database
+ enable_extension "plpgsql"
+
+end
diff --git a/db/seeds.rb b/db/seeds.rb
new file mode 100644
index 000000000..1beea2acc
--- /dev/null
+++ b/db/seeds.rb
@@ -0,0 +1,7 @@
+# This file should contain all the record creation needed to seed the database with its default values.
+# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
+#
+# Examples:
+#
+# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
+# Character.create(name: 'Luke', movie: movies.first)
diff --git a/lib/assets/.keep b/lib/assets/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/lib/recipe_api_wrapper.rb b/lib/recipe_api_wrapper.rb
new file mode 100644
index 000000000..9bb55991e
--- /dev/null
+++ b/lib/recipe_api_wrapper.rb
@@ -0,0 +1,42 @@
+require 'httparty'
+
+class RecipeApiWrapper
+ attr_reader :servings, :uri, :label, :link, :ingredients, :image, :servings, :health_labels, :bookmarked
+ BASE_URL = "https://api.edamam.com/search"
+ APP_ID = ENV["APP_ID"]
+ APP_KEY = ENV["APP_KEY"]
+
+ def self.recipe_query(query, from)
+ url = BASE_URL +
+ "?app_id=#{APP_ID}"+
+ "&app_key=#{APP_KEY}" +
+ "&q=#{query}"+
+ "&from=#{from}"
+
+ data = HTTParty.get(url)
+ if data["hits"]
+ result = []
+ data["hits"].each do |item|
+ label = item["recipe"]["label"]
+ uri = item["recipe"]["uri"].split("#")[1]
+ image = item["recipe"]["image"]
+ result.push(
+ {
+ label: label,
+ uri: uri,
+ image: image
+ }
+ )
+ end
+ return result
+ else
+ return []
+ end
+ end
+
+ def self.recipe_details(uri)
+ url = BASE_URL + "?app_id=#{APP_ID}"+ "&app_key=#{APP_KEY}" + "&r=http://www.edamam.com/ontologies/edamam.owl%23#{uri}"
+ response = HTTParty.get(url)
+ return response
+ end
+end
diff --git a/lib/tasks/.keep b/lib/tasks/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/log/.keep b/log/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..5da55eadc
--- /dev/null
+++ b/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "api-muncher",
+ "private": true,
+ "dependencies": {}
+}
diff --git a/public/404.html b/public/404.html
new file mode 100644
index 000000000..2be3af26f
--- /dev/null
+++ b/public/404.html
@@ -0,0 +1,67 @@
+
+
+
+ The page you were looking for doesn't exist (404)
+
+
+
+
+
+
+
+
+
The page you were looking for doesn't exist.
+
You may have mistyped the address or the page may have moved.
+
+
If you are the application owner check the logs for more information.
+
+
+
diff --git a/public/422.html b/public/422.html
new file mode 100644
index 000000000..c08eac0d1
--- /dev/null
+++ b/public/422.html
@@ -0,0 +1,67 @@
+
+
+
+ The change you wanted was rejected (422)
+
+
+
+
+
+
+
+
+
The change you wanted was rejected.
+
Maybe you tried to change something you didn't have access to.
+
+
If you are the application owner check the logs for more information.
+
+
+
diff --git a/public/500.html b/public/500.html
new file mode 100644
index 000000000..78a030af2
--- /dev/null
+++ b/public/500.html
@@ -0,0 +1,66 @@
+
+
+
+ We're sorry, but something went wrong (500)
+
+
+
+
+
+
+
+
+
We're sorry, but something went wrong.
+
+
If you are the application owner check the logs for more information.
+
+
+
diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png
new file mode 100644
index 000000000..e69de29bb
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 000000000..e69de29bb
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 000000000..e69de29bb
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 000000000..37b576a4a
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1 @@
+# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb
new file mode 100644
index 000000000..d19212abd
--- /dev/null
+++ b/test/application_system_test_case.rb
@@ -0,0 +1,5 @@
+require "test_helper"
+
+class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
+ driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
+end
diff --git a/test/cassettes/bad_action.yml b/test/cassettes/bad_action.yml
new file mode 100644
index 000000000..e64f68c2b
--- /dev/null
+++ b/test/cassettes/bad_action.yml
@@ -0,0 +1,42 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://api.edamam.com/search?r=http://www.edamam.com/ontologies/edamam.owl
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Thu, 02 Nov 2017 16:51:40 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Content-Length:
+ - '2'
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ body:
+ encoding: UTF-8
+ string: "[]"
+ http_version:
+ recorded_at: Thu, 02 Nov 2017 16:51:36 GMT
+recorded_with: VCR 3.0.3
diff --git a/test/cassettes/get_recipe.yml b/test/cassettes/get_recipe.yml
new file mode 100644
index 000000000..770d4fde0
--- /dev/null
+++ b/test/cassettes/get_recipe.yml
@@ -0,0 +1,84 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://api.edamam.com/search?r=http://www.edamam.com/ontologies/edamam.owl
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Thu, 02 Nov 2017 00:16:34 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Content-Length:
+ - '2'
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ body:
+ encoding: UTF-8
+ string: "[]"
+ http_version:
+ recorded_at: Thu, 02 Nov 2017 00:16:35 GMT
+- request:
+ method: get
+ uri: https://api.edamam.com/search?app_id=&app_key=&r=http://www.edamam.com/ontologies/edamam.owl%23recipe_7bf4a371c6884d809682a72808da7dc2
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Thu, 02 Nov 2017 00:17:45 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ Vary:
+ - Accept-Encoding
+ body:
+ encoding: ASCII-8BIT
+ string: !binary |-
+ W3sKICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV83YmY0YTM3MWM2ODg0ZDgwOTY4MmE3MjgwOGRhN2RjMiIsCiAgImxhYmVsIiA6ICJUZXJpeWFraSBDaGlja2VuIiwKICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy8yNjIvMjYyYjQzNTNjYTI1MDc0MTc4ZWFkMmEwN2NkZjdkYzEuanBnIiwKICAic291cmNlIiA6ICJEYXZpZCBMZWJvdml0eiIsCiAgInVybCIgOiAiaHR0cDovL3d3dy5kYXZpZGxlYm92aXR6LmNvbS8yMDEyLzEyL2NoaWNrZW4tdGVyaXlha2ktcmVjaXBlLWphcGFuZXNlLWZhcm0tZm9vZC8iLAogICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL3Rlcml5YWtpLWNoaWNrZW4tN2JmNGEzNzFjNjg4NGQ4MDk2ODJhNzI4MDhkYTdkYzIvLSIsCiAgInlpZWxkIiA6IDYuMCwKICAiZGlldExhYmVscyIgOiBbICJMb3ctQ2FyYiIgXSwKICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAiY2F1dGlvbnMiIDogWyBdLAogICJpbmdyZWRpZW50TGluZXMiIDogWyAiMS8yIGN1cCAoMTI1bWwpIG1pcmluIiwgIjEvMiBjdXAgKDEyNW1sKSBzb3kgc2F1Y2UiLCAiT25lIDItaW5jaCAoNWNtKSBwaWVjZSBvZiBmcmVzaCBnaW5nZXIsIHBlZWxlZCBhbmQgZ3JhdGVkIiwgIjItcG91bmRzICg5MDBnKSBib25lbGVzcyBjaGlja2VuIHRoaWdocyAoNC04IHRoaWdocywgZGVwZW5kaW5nIG9uIHNpemUpIiBdLAogICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICJ0ZXh0IiA6ICIxLzIgY3VwICgxMjVtbCkgbWlyaW4iLAogICAgIndlaWdodCIgOiAxMjIuOTk4NTA0NjM4NjcxODgKICB9LCB7CiAgICAidGV4dCIgOiAiMS8yIGN1cCAoMTI1bWwpIHNveSBzYXVjZSIsCiAgICAid2VpZ2h0IiA6IDEzNC43Mjc3NTI2ODU1NDY4OAogIH0sIHsKICAgICJ0ZXh0IiA6ICJPbmUgMi1pbmNoICg1Y20pIHBpZWNlIG9mIGZyZXNoIGdpbmdlciwgcGVlbGVkIGFuZCBncmF0ZWQiLAogICAgIndlaWdodCIgOiAxNS4wCiAgfSwgewogICAgInRleHQiIDogIjItcG91bmRzICg5MDBnKSBib25lbGVzcyBjaGlja2VuIHRoaWdocyAoNC04IHRoaWdocywgZGVwZW5kaW5nIG9uIHNpemUpIiwKICAgICJ3ZWlnaHQiIDogOTA3LjE4NDc1MzQxNzk2ODgKICB9IF0sCiAgImNhbG9yaWVzIiA6IDIyNTMuMTAyMDEwMTkyODcxLAogICJ0b3RhbFdlaWdodCIgOiAxMTc5LjkxMTAxMDc0MjE4NzUsCiAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAicXVhbnRpdHkiIDogMjI1My4xMDIwMTAxOTI4NzEsCiAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgfSwKICAgICJGQVQiIDogewogICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICJxdWFudGl0eSIgOiAxNTEuNTYzODM1NzMzMDMyMjIsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJGQVNBVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgInF1YW50aXR5IiA6IDQxLjE2OTgzOTUwNDA4OTM2LAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sCiAgICAiRkFUUk4iIDogewogICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgInF1YW50aXR5IiA6IDAuNzcxMTA3MDQwNDA1MjczNCwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkZBTVMiIDogewogICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICJxdWFudGl0eSIgOiA2My4xMDAyODIzMDk1NzAzMSwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkZBUFUiIDogewogICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICJxdWFudGl0eSIgOiAzMS44Mjk1MjkzOTA1NjM5NjIsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJDSE9DREYiIDogewogICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgInF1YW50aXR5IiA6IDE3LjcyNTQ2NTMyMjg3NTk3NiwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkZJQlRHIiA6IHsKICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICJxdWFudGl0eSIgOiAxLjM3NzgyMjAyMTQ4NDM3NSwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIlNVR0FSIiA6IHsKICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAicXVhbnRpdHkiIDogMC43OTM5MTEwMTA3NDIxODc1LAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sCiAgICAiUFJPQ05UIiA6IHsKICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgInF1YW50aXR5IiA6IDE2MS43MjE3NTI4NTY0NDUzLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sCiAgICAiQ0hPTEUiIDogewogICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgInF1YW50aXR5IiA6IDg4OS4wNDEwNTgzNDk2MDkzLAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIk5BIiA6IHsKICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAicXVhbnRpdHkiIDogODEzOS44MjUwNzUzNzg0MTgsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiQ0EiIDogewogICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAicXVhbnRpdHkiIDogMTE2LjUxMzAxNjM1NzQyMTg2LAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIk1HIiA6IHsKICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAicXVhbnRpdHkiIDogMjc2LjgyMTcwMjg4MDg1OTMzLAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIksiIDogewogICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiAyNTI5LjcyMjI0NzMxNDQ1MywKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJGRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICJxdWFudGl0eSIgOiA4LjMzNTQwNzI0MTgyMTI4OCwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJaTiIgOiB7CiAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICJxdWFudGl0eSIgOiAxMi45NTA0MTQ0NjgzODM3ODksCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiUCIgOiB7CiAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICJxdWFudGl0eSIgOiAxNjYwLjQwODA0MjYwMjUzOTEsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiVklUQV9SQUUiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICJxdWFudGl0eSIgOiAyMDguNjUyNDkzMjg2MTMyOCwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0sCiAgICAiVklUQyIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgInF1YW50aXR5IiA6IDAuNzUsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiVEhJQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgInF1YW50aXR5IiA6IDAuNzEwNDU1MDI4MzgxMzQ3NiwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJSSUJGIiA6IHsKICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAicXVhbnRpdHkiIDogMS41NDI4MTg2ODQzODcyMDY3LAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIk5JQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAicXVhbnRpdHkiIDogNDUuMDI4NDE2Mjk0NTU1NjYsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiVklUQjZBIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgInF1YW50aXR5IiA6IDMuMzcxMzI4MTY4MzM0OTYwNywKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJGT0xERkUiIDogewogICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAicXVhbnRpdHkiIDogNDcuNzI3NDI3OTc4NTE1NjIsCiAgICAgICJ1bml0IiA6ICLCtWciCiAgICB9LAogICAgIkZPTEZEIiA6IHsKICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgInF1YW50aXR5IiA6IDQ3LjcyNzQyNzk3ODUxNTYyLAogICAgICAidW5pdCIgOiAiwrVnIgogICAgfSwKICAgICJWSVRCMTIiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgInF1YW50aXR5IiA6IDUuNjI0NTQ1NDcxMTkxNDA2LAogICAgICAidW5pdCIgOiAiwrVnIgogICAgfSwKICAgICJWSVREIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAicXVhbnRpdHkiIDogMjcuMjE1NTQyNjAyNTM5MDYsCiAgICAgICJ1bml0IiA6ICJJVSIKICAgIH0sCiAgICAiVE9DUEhBIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAicXVhbnRpdHkiIDogMS45NDQwODc5ODIxNzc3MzQyLAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIlZJVEsxIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAicXVhbnRpdHkiIDogMTkuMDY1ODc5ODIxNzc3MzQ0LAogICAgICAidW5pdCIgOiAiwrVnIgogICAgfQogIH0sCiAgInRvdGFsRGFpbHkiIDogewogICAgIkVORVJDX0tDQUwiIDogewogICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICJxdWFudGl0eSIgOiAxMTIuNjU1MTAwNTA5NjQzNTYsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGQVQiIDogewogICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICJxdWFudGl0eSIgOiAyMzMuMTc1MTMxODk2OTcyNjYsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGQVNBVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgInF1YW50aXR5IiA6IDIwNS44NDkxOTc1MjA0NDY4LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiQ0hPQ0RGIiA6IHsKICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICJxdWFudGl0eSIgOiA1LjkwODQ4ODQ0MDk1ODY1OCwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIkZJQlRHIiA6IHsKICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICJxdWFudGl0eSIgOiA1LjUxMTI4ODA4NTkzNzUsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJQUk9DTlQiIDogewogICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAicXVhbnRpdHkiIDogMzIzLjQ0MzUwNTcxMjg5MDYsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJDSE9MRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAicXVhbnRpdHkiIDogMjk2LjM0NzAxOTQ0OTg2OTgsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJOQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDMzOS4xNTkzNzgxNDA3Njc0LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiQ0EiIDogewogICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAicXVhbnRpdHkiIDogMTEuNjUxMzAxNjM1NzQyMTg2LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiTUciIDogewogICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiA2OS4yMDU0MjU3MjAyMTQ4MywKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIksiIDogewogICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiA3Mi4yNzc3Nzg0OTQ2OTg2NSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIkZFIiA6IHsKICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgInF1YW50aXR5IiA6IDQ2LjMwNzgxODAxMDExODI3LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiWk4iIDogewogICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAicXVhbnRpdHkiIDogODYuMzM2MDk2NDU1ODkxOTMsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJQIiA6IHsKICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgInF1YW50aXR5IiA6IDIzNy4yMDExNDg5NDMyMTk4NiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEFfUkFFIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAicXVhbnRpdHkiIDogMjMuMTgzNjEwMzY1MTI1ODcsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVRDIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAicXVhbnRpdHkiIDogMS4yNSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlRISUEiIDogewogICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICJxdWFudGl0eSIgOiA0Ny4zNjM2Njg1NTg3NTY1LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiUklCRiIgOiB7CiAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgInF1YW50aXR5IiA6IDkwLjc1NDA0MDI1ODA3MDk5LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiTklBIiA6IHsKICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICJxdWFudGl0eSIgOiAyMjUuMTQyMDgxNDcyNzc4MzMsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVRCNkEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAicXVhbnRpdHkiIDogMTY4LjU2NjQwODQxNjc0ODAzLAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiRk9MREZFIiA6IHsKICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgInF1YW50aXR5IiA6IDExLjkzMTg1Njk5NDYyODkwNywKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEIxMiIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAicXVhbnRpdHkiIDogOTMuNzQyNDI0NTE5ODU2NzgsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVREIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAicXVhbnRpdHkiIDogNi44MDM4ODU2NTA2MzQ3NjUsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJUT0NQSEEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICJxdWFudGl0eSIgOiA5LjcyMDQzOTkxMDg4ODY3LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiVklUSzEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICJxdWFudGl0eSIgOiAyMy44MzIzNDk3NzcyMjE2OCwKICAgICAgInVuaXQiIDogIiUiCiAgICB9CiAgfSwKICAiZGlnZXN0IiA6IFsgewogICAgImxhYmVsIiA6ICJGYXQiLAogICAgInRhZyIgOiAiRkFUIiwKICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgInRvdGFsIiA6IDE1MS41NjM4MzU3MzMwMzIyMiwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAyMzMuMTc1MTMxODk2OTcyNjYsCiAgICAidW5pdCIgOiAiZyIsCiAgICAic3ViIiA6IFsgewogICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICJ0YWciIDogIkZBU0FUIiwKICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICJ0b3RhbCIgOiA0MS4xNjk4Mzk1MDQwODkzNiwKICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAiZGFpbHkiIDogMjA1Ljg0OTE5NzUyMDQ0NjgsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAidG90YWwiIDogMC43NzExMDcwNDA0MDUyNzM0LAogICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAiZGFpbHkiIDogMC4wLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sIHsKICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAidG90YWwiIDogNjMuMTAwMjgyMzA5NTcwMzEsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiAzMS44Mjk1MjkzOTA1NjM5NjIsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSBdCiAgfSwgewogICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAidGFnIiA6ICJDSE9DREYiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAidG90YWwiIDogMTcuNzI1NDY1MzIyODc1OTc2LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDUuOTA4NDg4NDQwOTU4NjU4LAogICAgInVuaXQiIDogImciLAogICAgInN1YiIgOiBbIHsKICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiAxNi4zNDc2NDMzMDEzOTE2MDMsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAidG90YWwiIDogMS4zNzc4MjIwMjE0ODQzNzUsCiAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgImRhaWx5IiA6IDUuNTExMjg4MDg1OTM3NSwKICAgICAgInVuaXQiIDogImciCiAgICB9LCB7CiAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAidG90YWwiIDogMC43OTM5MTEwMTA3NDIxODc1LAogICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAiZGFpbHkiIDogMC4wLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sIHsKICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSBdCiAgfSwgewogICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAidG90YWwiIDogMTYxLjcyMTc1Mjg1NjQ0NTMsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMzIzLjQ0MzUwNTcxMjg5MDYsCiAgICAidW5pdCIgOiAiZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICJ0YWciIDogIkNIT0xFIiwKICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAidG90YWwiIDogODg5LjA0MTA1ODM0OTYwOTMsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMjk2LjM0NzAxOTQ0OTg2OTgsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgInRhZyIgOiAiTkEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAidG90YWwiIDogODEzOS44MjUwNzUzNzg0MTgsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMzM5LjE1OTM3ODE0MDc2NzQsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICJ0YWciIDogIkNBIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAxMTYuNTEzMDE2MzU3NDIxODYsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTEuNjUxMzAxNjM1NzQyMTg2LAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICJ0YWciIDogIk1HIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAyNzYuODIxNzAyODgwODU5MzMsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogNjkuMjA1NDI1NzIwMjE0ODMsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgInRhZyIgOiAiSyIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMjUyOS43MjIyNDczMTQ0NTMsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogNzIuMjc3Nzc4NDk0Njk4NjUsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICJ0YWciIDogIkZFIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiA4LjMzNTQwNzI0MTgyMTI4OCwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA0Ni4zMDc4MTgwMTAxMTgyNywKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlppbmMiLAogICAgInRhZyIgOiAiWk4iLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDEyLjk1MDQxNDQ2ODM4Mzc4OSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA4Ni4zMzYwOTY0NTU4OTE5MywKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgInRhZyIgOiAiUCIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMTY2MC40MDgwNDI2MDI1MzkxLAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDIzNy4yMDExNDg5NDMyMTk4NiwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMjA4LjY1MjQ5MzI4NjEzMjgsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMjMuMTgzNjEwMzY1MTI1ODcsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICJ0YWciIDogIlZJVEMiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDAuNzUsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMS4yNSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAidGFnIiA6ICJUSElBIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAwLjcxMDQ1NTAyODM4MTM0NzYsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogNDcuMzYzNjY4NTU4NzU2NSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAidGFnIiA6ICJSSUJGIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAxLjU0MjgxODY4NDM4NzIwNjcsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogOTAuNzU0MDQwMjU4MDcwOTksCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAidGFnIiA6ICJOSUEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDQ1LjAyODQxNjI5NDU1NTY2LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDIyNS4xNDIwODE0NzI3NzgzMywKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgInRhZyIgOiAiVklUQjZBIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAzLjM3MTMyODE2ODMzNDk2MDcsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTY4LjU2NjQwODQxNjc0ODAzLAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAidGFnIiA6ICJGT0xERkUiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDQ3LjcyNzQyNzk3ODUxNTYyLAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDExLjkzMTg1Njk5NDYyODkwNywKICAgICJ1bml0IiA6ICLCtWciCiAgfSwgewogICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICJ0YWciIDogIkZPTEZEIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiA0Ny43Mjc0Mjc5Nzg1MTU2MiwKICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAiZGFpbHkiIDogMC4wLAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgInRhZyIgOiAiRk9MQUMiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDAuMCwKICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAiZGFpbHkiIDogMC4wLAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogNS42MjQ1NDU0NzExOTE0MDYsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogOTMuNzQyNDI0NTE5ODU2NzgsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICJ0YWciIDogIlZJVEQiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDI3LjIxNTU0MjYwMjUzOTA2LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDYuODAzODg1NjUwNjM0NzY1LAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDEuOTQ0MDg3OTgyMTc3NzM0MiwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA5LjcyMDQzOTkxMDg4ODY3LAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICJ0YWciIDogIlZJVEsxIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAxOS4wNjU4Nzk4MjE3NzczNDQsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMjMuODMyMzQ5Nzc3MjIxNjgsCiAgICAidW5pdCIgOiAiwrVnIgogIH0gXQp9XQ==
+ http_version:
+ recorded_at: Thu, 02 Nov 2017 00:17:45 GMT
+recorded_with: VCR 3.0.3
diff --git a/test/cassettes/results_action.yml b/test/cassettes/results_action.yml
new file mode 100644
index 000000000..51d1e780d
--- /dev/null
+++ b/test/cassettes/results_action.yml
@@ -0,0 +1,157 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://api.edamam.com/search?app_id=&app_key=&from=0&q=lasjdlkfasjdf
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Wed, 08 Nov 2017 06:00:50 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ Vary:
+ - Accept-Encoding
+ body:
+ encoding: ASCII-8BIT
+ string: |-
+ {
+ "q" : "lasjdlkfasjdf",
+ "from" : 0,
+ "to" : 10,
+ "params" : {
+ "sane" : [ ],
+ "q" : [ "lasjdlkfasjdf" ],
+ "from" : [ "0" ],
+ "app_key" : [ "" ],
+ "app_id" : [ "" ]
+ },
+ "more" : false,
+ "count" : 0,
+ "hits" : [ ]
+ }
+ http_version:
+ recorded_at: Wed, 08 Nov 2017 06:00:50 GMT
+- request:
+ method: get
+ uri: https://api.edamam.com/search?app_id=&app_key=&from=0&q=
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Wed, 08 Nov 2017 06:00:50 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ Vary:
+ - Accept-Encoding
+ body:
+ encoding: ASCII-8BIT
+ string: |-
+ {
+ "q" : "",
+ "from" : 0,
+ "to" : 10,
+ "params" : {
+ "sane" : [ ],
+ "q" : [ "" ],
+ "from" : [ "0" ],
+ "app_key" : [ "" ],
+ "app_id" : [ "" ]
+ },
+ "more" : false,
+ "count" : 0,
+ "hits" : [ ]
+ }
+ http_version:
+ recorded_at: Wed, 08 Nov 2017 06:00:51 GMT
+- request:
+ method: get
+ uri: https://api.edamam.com/search?app_id=&app_key=&from=0&q=chicken
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Wed, 08 Nov 2017 06:00:52 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ Vary:
+ - Accept-Encoding
+ body:
+ encoding: ASCII-8BIT
+ string: !binary |-
+ ewogICJxIiA6ICJjaGlja2VuIiwKICAiZnJvbSIgOiAwLAogICJ0byIgOiAxMCwKICAicGFyYW1zIiA6IHsKICAgICJzYW5lIiA6IFsgXSwKICAgICJxIiA6IFsgImNoaWNrZW4iIF0sCiAgICAiZnJvbSIgOiBbICIwIiBdLAogICAgImFwcF9rZXkiIDogWyAiPEFQUF9LRVk+IiBdLAogICAgImFwcF9pZCIgOiBbICI8QVBQX0lEPiIgXQogIH0sCiAgIm1vcmUiIDogdHJ1ZSwKICAiY291bnQiIDogODgzOTMsCiAgImhpdHMiIDogWyB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfN2JmNGEzNzFjNjg4NGQ4MDk2ODJhNzI4MDhkYTdkYzIiLAogICAgICAibGFiZWwiIDogIlRlcml5YWtpIENoaWNrZW4iLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy8yNjIvMjYyYjQzNTNjYTI1MDc0MTc4ZWFkMmEwN2NkZjdkYzEuanBnIiwKICAgICAgInNvdXJjZSIgOiAiRGF2aWQgTGVib3ZpdHoiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LmRhdmlkbGVib3ZpdHouY29tLzIwMTIvMTIvY2hpY2tlbi10ZXJpeWFraS1yZWNpcGUtamFwYW5lc2UtZmFybS1mb29kLyIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL3Rlcml5YWtpLWNoaWNrZW4tN2JmNGEzNzFjNjg4NGQ4MDk2ODJhNzI4MDhkYTdkYzIvY2hpY2tlbiIsCiAgICAgICJ5aWVsZCIgOiA2LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxLzIgY3VwICgxMjVtbCkgbWlyaW4iLCAiMS8yIGN1cCAoMTI1bWwpIHNveSBzYXVjZSIsICJPbmUgMi1pbmNoICg1Y20pIHBpZWNlIG9mIGZyZXNoIGdpbmdlciwgcGVlbGVkIGFuZCBncmF0ZWQiLCAiMi1wb3VuZHMgKDkwMGcpIGJvbmVsZXNzIGNoaWNrZW4gdGhpZ2hzICg0LTggdGhpZ2hzLCBkZXBlbmRpbmcgb24gc2l6ZSkiIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGN1cCAoMTI1bWwpIG1pcmluIiwKICAgICAgICAid2VpZ2h0IiA6IDEyMi45OTg1MDQ2Mzg2NzE4OAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgKDEyNW1sKSBzb3kgc2F1Y2UiLAogICAgICAgICJ3ZWlnaHQiIDogMTM0LjcyNzc1MjY4NTU0Njg4CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiT25lIDItaW5jaCAoNWNtKSBwaWVjZSBvZiBmcmVzaCBnaW5nZXIsIHBlZWxlZCBhbmQgZ3JhdGVkIiwKICAgICAgICAid2VpZ2h0IiA6IDE1LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyLXBvdW5kcyAoOTAwZykgYm9uZWxlc3MgY2hpY2tlbiB0aGlnaHMgKDQtOCB0aGlnaHMsIGRlcGVuZGluZyBvbiBzaXplKSIsCiAgICAgICAgIndlaWdodCIgOiA5MDcuMTg0NzUzNDE3OTY4OAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAyMjUzLjEwMjAxMDE5Mjg3MSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDExNzkuOTExMDEwNzQyMTg3NSwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjI1My4xMDIwMTAxOTI4NzEsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1MS41NjM4MzU3MzMwMzIyMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MS4xNjk4Mzk1MDQwODkzNiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBVFJOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNzcxMTA3MDQwNDA1MjczNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBTVMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYzLjEwMDI4MjMwOTU3MDMxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEuODI5NTI5MzkwNTYzOTYyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3LjcyNTQ2NTMyMjg3NTk3NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuMzc3ODIyMDIxNDg0Mzc1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNzkzOTExMDEwNzQyMTg3NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2MS43MjE3NTI4NTY0NDUzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODg5LjA0MTA1ODM0OTYwOTMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDgxMzkuODI1MDc1Mzc4NDE4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE2LjUxMzAxNjM1NzQyMTg2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNzYuODIxNzAyODgwODU5MzMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjUyOS43MjIyNDczMTQ0NTMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4LjMzNTQwNzI0MTgyMTI4OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyLjk1MDQxNDQ2ODM4Mzc4OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY2MC40MDgwNDI2MDI1MzkxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDguNjUyNDkzMjg2MTMyOCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC43NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjcxMDQ1NTAyODM4MTM0NzYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS41NDI4MTg2ODQzODcyMDY3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS4wMjg0MTYyOTQ1NTU2NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjM3MTMyODE2ODMzNDk2MDcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuNzI3NDI3OTc4NTE1NjIsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIkZPTEZEIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuNzI3NDI3OTc4NTE1NjIsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1LjYyNDU0NTQ3MTE5MTQwNiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjcuMjE1NTQyNjAyNTM5MDYsCiAgICAgICAgICAidW5pdCIgOiAiSVUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjk0NDA4Nzk4MjE3NzczNDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5LjA2NTg3OTgyMTc3NzM0NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExMi42NTUxMDA1MDk2NDM1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMzLjE3NTEzMTg5Njk3MjY2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNS44NDkxOTc1MjA0NDY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuOTA4NDg4NDQwOTU4NjU4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNS41MTEyODgwODU5Mzc1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIzLjQ0MzUwNTcxMjg5MDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOTYuMzQ3MDE5NDQ5ODY5OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMzkuMTU5Mzc4MTQwNzY3NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEuNjUxMzAxNjM1NzQyMTg2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY5LjIwNTQyNTcyMDIxNDgzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzIuMjc3Nzc4NDk0Njk4NjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2LjMwNzgxODAxMDExODI3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4Ni4zMzYwOTY0NTU4OTE5MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzcuMjAxMTQ4OTQzMjE5ODYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMuMTgzNjEwMzY1MTI1ODcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuMzYzNjY4NTU4NzU2NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkwLjc1NDA0MDI1ODA3MDk5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyNS4xNDIwODE0NzI3NzgzMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2OC41NjY0MDg0MTY3NDgwMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExLjkzMTg1Njk5NDYyODkwNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5My43NDI0MjQ1MTk4NTY3OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYuODAzODg1NjUwNjM0NzY1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5LjcyMDQzOTkxMDg4ODY3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIzLjgzMjM0OTc3NzIyMTY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNTEuNTYzODM1NzMzMDMyMjIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMzMuMTc1MTMxODk2OTcyNjYsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0MS4xNjk4Mzk1MDQwODkzNiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAyMDUuODQ5MTk3NTIwNDQ2OCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjc3MTEwNzA0MDQwNTI3MzQsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDYzLjEwMDI4MjMwOTU3MDMxLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAzMS44Mjk1MjkzOTA1NjM5NjIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTcuNzI1NDY1MzIyODc1OTc2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNS45MDg0ODg0NDA5NTg2NTgsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDE2LjM0NzY0MzMwMTM5MTYwMywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDEuMzc3ODIyMDIxNDg0Mzc1LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDUuNTExMjg4MDg1OTM3NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC43OTM5MTEwMTA3NDIxODc1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNjEuNzIxNzUyODU2NDQ1MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMyMy40NDM1MDU3MTI4OTA2LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDg4OS4wNDEwNTgzNDk2MDkzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjk2LjM0NzAxOTQ0OTg2OTgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogODEzOS44MjUwNzUzNzg0MTgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMzkuMTU5Mzc4MTQwNzY3NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExNi41MTMwMTYzNTc0MjE4NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDExLjY1MTMwMTYzNTc0MjE4NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjc2LjgyMTcwMjg4MDg1OTMzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjkuMjA1NDI1NzIwMjE0ODMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjUyOS43MjIyNDczMTQ0NTMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3Mi4yNzc3Nzg0OTQ2OTg2NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguMzM1NDA3MjQxODIxMjg4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDYuMzA3ODE4MDEwMTE4MjcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMi45NTA0MTQ0NjgzODM3ODksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4Ni4zMzYwOTY0NTU4OTE5MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTY2MC40MDgwNDI2MDI1MzkxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjM3LjIwMTE0ODk0MzIxOTg2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMDguNjUyNDkzMjg2MTMyOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIzLjE4MzYxMDM2NTEyNTg3LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMS4yNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjcxMDQ1NTAyODM4MTM0NzYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0Ny4zNjM2Njg1NTg3NTY1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuNTQyODE4Njg0Mzg3MjA2NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkwLjc1NDA0MDI1ODA3MDk5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0NS4wMjg0MTYyOTQ1NTU2NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIyNS4xNDIwODE0NzI3NzgzMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzLjM3MTMyODE2ODMzNDk2MDcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNjguNTY2NDA4NDE2NzQ4MDMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDcuNzI3NDI3OTc4NTE1NjIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMS45MzE4NTY5OTQ2Mjg5MDcsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDcuNzI3NDI3OTc4NTE1NjIsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1LjYyNDU0NTQ3MTE5MTQwNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkzLjc0MjQyNDUxOTg1Njc4LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNy4yMTU1NDI2MDI1MzkwNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDYuODAzODg1NjUwNjM0NzY1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuOTQ0MDg3OTgyMTc3NzM0MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkuNzIwNDM5OTEwODg4NjcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE5LjA2NTg3OTgyMTc3NzM0NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIzLjgzMjM0OTc3NzIyMTY4LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV83MDQ1ZjIxNzQzNzk0OWIyMDY3NDEzYWY1NWE5NTM3ZiIsCiAgICAgICJsYWJlbCIgOiAiQ3JhbmJlcnJ5LVdhbG51dCBDaGlja2VuIFNhbGFkIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvNGUzLzRlMzI4MTk4NTM1MGEyYTg4ODE0NjA4MjA3YjBiMTkyLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIlNtaXR0ZW4gS2l0Y2hlbiIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly9zbWl0dGVua2l0Y2hlbi5jb20vMjAwOC8xMC9jcmFuYmVycnktd2FsbnV0LWNoaWNrZW4tc2FsYWQvIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvY3JhbmJlcnJ5LXdhbG51dC1jaGlja2VuLXNhbGFkLTcwNDVmMjE3NDM3OTQ5YjIwNjc0MTNhZjU1YTk1MzdmL2NoaWNrZW4iLAogICAgICAieWllbGQiIDogOC4wLAogICAgICAiZGlldExhYmVscyIgOiBbICJIaWdoLVByb3RlaW4iLCAiTG93LUNhcmIiIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiU3VnYXItQ29uc2Npb3VzIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjQgY3VwcyBjdWJlZCAoMS8yIGluY2gpIGNvb2tlZCBjaGlja2VuIChhYm91dCAxIDMvNCBsYikgKEkgbGlrZSB0byBicmluZSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICI0IGN1cHMgY3ViZWQgKDEvMiBpbmNoKSBjb29rZWQgY2hpY2tlbiAoYWJvdXQgMSAzLzQgbGIpIChJIGxpa2UgdG8gYnJpbmUiLAogICAgICAgICJ3ZWlnaHQiIDogNzkzLjc4NjYyMTA5Mzc1CiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDEzMjUuNjIzNjU3MjI2NTYyNSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDc5My43ODY2MjEwOTM3NSwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMyNS42MjM2NTcyMjY1NjI1LAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1Mi42MjgwNTI5Nzg1MTU2MjYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuMzY3NTM3ODQxNzk2ODc2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuODQ0NjY1NTI3MzQzNzUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMS45ODYxNzc5Nzg1MTU2MjUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTguNTI2MDMzOTM1NTQ2ODgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1OTUuMzM5OTY1ODIwMzEyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTk1LjMzOTk2NTgyMDMxMjUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5NS4yNTQzOTQ1MzEyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY2LjY5NTE5MDQyOTY4NzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTgxNy43NzEzNjIzMDQ2ODc1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS42MDQ4MTgxMTUyMzQzNzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi4wNjU1NTY2NDA2MjUwMDEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1MjQuMDcwMzEyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTUuMjU0Mzk0NTMxMjUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNDkyMTQ3NzA1MDc4MTI1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuMTY2ODY2MzMzMDA3ODEyNCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjIuNTU4MzIzNjA4Mzk4NDQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4yNTQ1MjUxNDY0ODQzNzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzkuNjg5MzMxMDU0Njg3NSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOS42ODkzMzEwNTQ2ODc1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4zMDE5ODEyMDExNzE4NzQ4LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjYuMjgxMTgyODYxMzI4MTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDgwLjk2NjIzNTM1MTU2MjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzEuODM3Njg5MjA4OTg0MzksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOTcuMDUyMDY3ODcxMDkzNzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTguNDQ2NjU1MjczNDM3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNC44MDU4MzE5MDkxNzk2ODgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDkuNTI1NDM5NDUzMTI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxLjY3Mzc5NzYwNzQyMTg3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDUxLjkzNjMyNDYzNzI3Njc4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1My4zNjAxMDA2NDAxOTA5NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODAuNDM3MDQ0MjcwODMzMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjE3LjcyNDMzMDM1NzE0Mjg2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwLjU4MzgyMTYxNDU4MzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyLjgwOTg0NzAwNTIwODMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjguNjM5MTk2MDU5MjgzMDgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEyLjc5MTYxODA0MTk5MjIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjIuNzI2MjU3MzI0MjE4NzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5LjkyMjMzMjc2MzY3MTg3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOC4zNjYzNTMzNTI4NjQ1OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNTIuNjI4MDUyOTc4NTE1NjI2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODAuOTY2MjM1MzUxNTYyNSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBU0FUIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDE0LjM2NzUzNzg0MTc5Njg3NiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA3MS44Mzc2ODkyMDg5ODQzOSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDE5Ljg0NDY2NTUyNzM0Mzc1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMS45ODYxNzc5Nzg1MTU2MjUsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTk4LjUyNjAzMzkzNTU0Njg4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzk3LjA1MjA2Nzg3MTA5Mzc1LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDU5NS4zMzk5NjU4MjAzMTI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTk4LjQ0NjY1NTI3MzQzNzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNTk1LjMzOTk2NTgyMDMxMjUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNC44MDU4MzE5MDkxNzk2ODgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5NS4yNTQzOTQ1MzEyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkuNTI1NDM5NDUzMTI1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNjYuNjk1MTkwNDI5Njg3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQxLjY3Mzc5NzYwNzQyMTg3NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxODE3Ljc3MTM2MjMwNDY4NzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1MS45MzYzMjQ2MzcyNzY3OCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkuNjA0ODE4MTE1MjM0Mzc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTMuMzYwMTAwNjQwMTkwOTcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMi4wNjU1NTY2NDA2MjUwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4MC40MzcwNDQyNzA4MzMzNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTUyNC4wNzAzMTI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjE3LjcyNDMzMDM1NzE0Mjg2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5NS4yNTQzOTQ1MzEyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwLjU4MzgyMTYxNDU4MzMzNCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjQ5MjE0NzcwNTA3ODEyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMyLjgwOTg0NzAwNTIwODMzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuMTY2ODY2MzMzMDA3ODEyNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY4LjYzOTE5NjA1OTI4MzA4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2Mi41NTgzMjM2MDgzOTg0NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMxMi43OTE2MTgwNDE5OTIyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMuMjU0NTI1MTQ2NDg0Mzc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTYyLjcyNjI1NzMyNDIxODc1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM5LjY4OTMzMTA1NDY4NzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5LjkyMjMzMjc2MzY3MTg3NSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzOS42ODkzMzEwNTQ2ODc1LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4zMDE5ODEyMDExNzE4NzQ4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzguMzY2MzUzMzUyODY0NTgsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfYjc5MzI3ZDA1YjhlNWI4MzhhZDZjZmQ5NTc2YjMwYjYiLAogICAgICAibGFiZWwiIDogIkNoaWNrZW4gVmVzdXZpbyIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nL2U0Mi9lNDJmOTExOTgxM2U4OTBhZjM0YzI1OTc4NWFlMWNmYi5qcGciLAogICAgICAic291cmNlIiA6ICJTZXJpb3VzIEVhdHMiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LnNlcmlvdXNlYXRzLmNvbS9yZWNpcGVzLzIwMTEvMTIvY2hpY2tlbi12ZXN1dmlvLXJlY2lwZS5odG1sIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvY2hpY2tlbi12ZXN1dmlvLWI3OTMyN2QwNWI4ZTViODM4YWQ2Y2ZkOTU3NmIzMGI2L2NoaWNrZW4iLAogICAgICAieWllbGQiIDogNC4wLAogICAgICAiZGlldExhYmVscyIgOiBbICJMb3ctQ2FyYiIgXSwKICAgICAgImhlYWx0aExhYmVscyIgOiBbICJTdWdhci1Db25zY2lvdXMiLCAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxLzIgY3VwIG9saXZlIG9pbCIsICI1IGNsb3ZlcyBnYXJsaWMsIHBlZWxlZCIsICIyIGxhcmdlIHJ1c3NldCBwb3RhdG9lcywgcGVlbGVkIGFuZCBjdXQgaW50byBjaHVua3MiLCAiMSAzLTQgcG91bmQgY2hpY2tlbiwgY3V0IGludG8gOCBwaWVjZXMgKG9yIDMgcG91bmQgY2hpY2tlbiBsZWdzKSIsICIzLzQgY3VwIHdoaXRlIHdpbmUiLCAiMy80IGN1cCBjaGlja2VuIHN0b2NrIiwgIjMgdGFibGVzcG9vbnMgY2hvcHBlZCBwYXJzbGV5IiwgIjEgdGFibGVzcG9vbiBkcmllZCBvcmVnYW5vIiwgIlNhbHQgYW5kIHBlcHBlciIsICIxIGN1cCBmcm96ZW4gcGVhcywgdGhhd2VkIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgb2xpdmUgb2lsIiwKICAgICAgICAid2VpZ2h0IiA6IDEwOC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNSBjbG92ZXMgZ2FybGljLCBwZWVsZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMTUuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgbGFyZ2UgcnVzc2V0IHBvdGF0b2VzLCBwZWVsZWQgYW5kIGN1dCBpbnRvIGNodW5rcyIsCiAgICAgICAgIndlaWdodCIgOiA3MzguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgMy00IHBvdW5kIGNoaWNrZW4sIGN1dCBpbnRvIDggcGllY2VzIChvciAzIHBvdW5kIGNoaWNrZW4gbGVncykiLAogICAgICAgICJ3ZWlnaHQiIDogMTU4Ny41NzMyNDIxODc1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMy80IGN1cCB3aGl0ZSB3aW5lIiwKICAgICAgICAid2VpZ2h0IiA6IDExMC4yNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjMvNCBjdXAgY2hpY2tlbiBzdG9jayIsCiAgICAgICAgIndlaWdodCIgOiAxODAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjMgdGFibGVzcG9vbnMgY2hvcHBlZCBwYXJzbGV5IiwKICAgICAgICAid2VpZ2h0IiA6IDExLjM5OTk5OTYxODUzMDI3MwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdGFibGVzcG9vbiBkcmllZCBvcmVnYW5vIiwKICAgICAgICAid2VpZ2h0IiA6IDYuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciIsCiAgICAgICAgIndlaWdodCIgOiAxNy4zNDEzMzk0NTA4MzYxOAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciIsCiAgICAgICAgIndlaWdodCIgOiA4LjY3MDY2OTcyNTQxODA5CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBjdXAgZnJvemVuIHBlYXMsIHRoYXdlZCIsCiAgICAgICAgIndlaWdodCIgOiAxMzQuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiA1MjczLjUyNDg1MTU3NjU5NSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDI5MTIuMjM2MDgwNjU4MTQ2LAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MjczLjUyNDg1MTU3NjU5NSwKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzUxLjA3OTQ1NDEwMzQ3MjUzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0LjQzNzMyMDQ2MDM1NTUyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS41Mzk5NDYwNDQ5MjE4NzUxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTc5LjExMTM0NjU2MDY0NTUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2My43OTg4NTUwMDYwNDI5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3Ni4xODg2MTMyNjUyNTc4NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxLjA1ODg3OTQyNzk0MjI3NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNS43MjU3OTIyODMwMDAxODIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMjUuNDIzMjYwNjIwMDE2NCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExOTYuMDc5OTMxNjQwNjI1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MjkxLjMxODI0NzYxNzc5NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ5Ny43MzA1NDQ0NjU5OTk1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1ODAuOTY5OTA2ODcxNzM4NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2ODY2Ljg3NzQzMzQyNzkwOCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI4LjAzNDU4MjYwNjU2MjIzMiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0Ljk5ODQxMTc3Nzc1NzgzOCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjk3MC4wOTkzMjM5NjA1MzMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0Ni4xNjAxMDg1MTY3NTAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTEuOTI3MTcxMzY3NjQ1MjcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4wMzMwNjQ3NjgyODc4ODgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi41MjcxMjQ1OTU3NTY5MTI0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjEuNTIwNDMzOTUxMTI0NzIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC42NjIxMzI5OTYyMTM4OTIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEzLjE2ODkwNzgwNDczNzA1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMxMy4xNjg5MDc4MDQ3MzcwNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQuOTIxNDc3MDUwNzgxMjUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1OC43NTczMjQyMTg3NSwKICAgICAgICAgICJ1bml0IiA6ICJJVSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxLjY5ODU5NDY4ODg0NTgzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNzkuMDExNDc4NzE3MjE4NSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2My42NzYyNDI1Nzg4Mjk4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1NDAuMTIyMjM3MDgyMjY1NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MjIuMTg2NjAyMzAxNzc3NTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTguNzI5NTM3NzU1MDg1OTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4NC4yMzU1MTc3MTE3NjkwOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY1MC44NDY1MjEyNDAwMzI4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzk4LjY5MzMxMDU0Njg3NTA3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM0NS40NzE1OTM2NTA3NDE1NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDkuNzczMDU0NDQ2NTk5OTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQ1LjI0MjQ3NjcxNzkzNDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTYuMTk2NDk4MDk3OTQwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTU1Ljc0NzY4MTE0NzU2Nzk2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjYuNjU2MDc4NTE4Mzg1NTgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDI0LjI5OTkwMzQyMjkzMzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTQuMDE3Nzg5ODM1MTk0NDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODYuNTQ1Mjg1NjEyNzQyMTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzUuNTM3NjUxMjE5MTkyNTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDguNjU0Mzg3OTg1NzAwNzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjA3LjYwMjE2OTc1NTYyMzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MzMuMTA2NjQ5ODEwNjk0NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc4LjI5MjIyNjk1MTE4NDI2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDgyLjAyNDYxNzUxMzAyMDgzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzkuNjg5MzMxMDU0Njg3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA4LjQ5Mjk3MzQ0NDIyOTE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ3My43NjQzNDgzOTY1MjMxMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMzUxLjA3OTQ1NDEwMzQ3MjUzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTQwLjEyMjIzNzA4MjI2NTQsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA4NC40MzczMjA0NjAzNTU1MiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA0MjIuMTg2NjAyMzAxNzc3NTUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMS41Mzk5NDYwNDQ5MjE4NzUxLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxNzkuMTExMzQ2NTYwNjQ1NSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNjMuNzk4ODU1MDA2MDQyOSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNzYuMTg4NjEzMjY1MjU3ODYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1OC43Mjk1Mzc3NTUwODU5NSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTU1LjEyOTczMzgzNzMxNTU3LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMjEuMDU4ODc5NDI3OTQyMjc2LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDg0LjIzNTUxNzcxMTc2OTA5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxNS43MjU3OTIyODMwMDAxODIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDMyNS40MjMyNjA2MjAwMTY0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjUwLjg0NjUyMTI0MDAzMjgsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTE5Ni4wNzk5MzE2NDA2MjUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzOTguNjkzMzEwNTQ2ODc1MDcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogODI5MS4zMTgyNDc2MTc3OTcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNDUuNDcxNTkzNjUwNzQxNTcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0OTcuNzMwNTQ0NDY1OTk5NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ5Ljc3MzA1NDQ0NjU5OTk1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1ODAuOTY5OTA2ODcxNzM4NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0NS4yNDI0NzY3MTc5MzQ2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY4NjYuODc3NDMzNDI3OTA4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTk2LjE5NjQ5ODA5Nzk0MDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyOC4wMzQ1ODI2MDY1NjIyMzIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNTUuNzQ3NjgxMTQ3NTY3OTYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNC45OTg0MTE3Nzc3NTc4MzgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNjYuNjU2MDc4NTE4Mzg1NTgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI5NzAuMDk5MzIzOTYwNTMzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDI0LjI5OTkwMzQyMjkzMzMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDg0Ni4xNjAxMDg1MTY3NTAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTQuMDE3Nzg5ODM1MTk0NDYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExMS45MjcxNzEzNjc2NDUyNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE4Ni41NDUyODU2MTI3NDIxMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjAzMzA2NDc2ODI4Nzg4OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzNS41Mzc2NTEyMTkxOTI1MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjUyNzEyNDU5NTc1NjkxMjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNDguNjU0Mzg3OTg1NzAwNzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEyMS41MjA0MzM5NTExMjQ3MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDYwNy42MDIxNjk3NTU2MjM3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguNjYyMTMyOTk2MjEzODkyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDMzLjEwNjY0OTgxMDY5NDYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzEzLjE2ODkwNzgwNDczNzA1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzguMjkyMjI2OTUxMTg0MjYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzEzLjE2ODkwNzgwNDczNzA1LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNC45MjE0NzcwNTA3ODEyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgyLjAyNDYxNzUxMzAyMDgzLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNTguNzU3MzI0MjE4NzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzOS42ODkzMzEwNTQ2ODc1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIxLjY5ODU5NDY4ODg0NTgzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTA4LjQ5Mjk3MzQ0NDIyOTE0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzNzkuMDExNDc4NzE3MjE4NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ3My43NjQzNDgzOTY1MjMxMywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfODI3NWJiMjg2NDdhYmNlZGVmMGJhYWYyZGNmMzRmOGIiLAogICAgICAibGFiZWwiIDogIkNoaWNrZW4gUGFwcmlrYXNoIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvZTEyL2UxMmI4YzU1ODEyMjZkNzYzOTE2OGY0MWQxMjZmMmZmLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIk5vIFJlY2lwZXMiLAogICAgICAidXJsIiA6ICJodHRwOi8vbm9yZWNpcGVzLmNvbS9yZWNpcGUvY2hpY2tlbi1wYXByaWthc2gvIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvY2hpY2tlbi1wYXByaWthc2gtODI3NWJiMjg2NDdhYmNlZGVmMGJhYWYyZGNmMzRmOGIvY2hpY2tlbiIsCiAgICAgICJ5aWVsZCIgOiA0LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjY0MCBncmFtcyBjaGlja2VuIC0gZHJ1bXN0aWNrcyBhbmQgdGhpZ2hzICggMyB3aG9sZSBjaGlja2VuIGxlZ3MgY3V0IGFwYXJ0KSIsICIxLzIgdGVhc3Bvb24gc2FsdCIsICIxLzQgdGVhc3Bvb24gYmxhY2sgcGVwcGVyIiwgIjEgdGFibGVzcG9vbiBidXR0ZXIg4oCTIGN1bHR1cmVkIHVuc2FsdGVkIChvciBvbGl2ZSBvaWwpIiwgIjI0MCBncmFtcyBvbmlvbiBzbGljZWQgdGhpbiAoMSBsYXJnZSBvbmlvbikiLCAiNzAgZ3JhbXMgQW5haGVpbSBwZXBwZXIgY2hvcHBlZCAoMSBsYXJnZSBwZXBwZXIpIiwgIjI1IGdyYW1zIHBhcHJpa2EgKGFib3V0IDEvNCBjdXApIiwgIjEgY3VwIGNoaWNrZW4gc3RvY2siLCAiMS8yIHRlYXNwb29uIHNhbHQiLCAiMS8yIGN1cCBzb3VyIGNyZWFtIiwgIjEgdGFibGVzcG9vbiBmbG91ciDigJMgYWxsLXB1cnBvc2UiIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiNjQwIGdyYW1zIGNoaWNrZW4gLSBkcnVtc3RpY2tzIGFuZCB0aGlnaHMgKCAzIHdob2xlIGNoaWNrZW4gbGVncyBjdXQgYXBhcnQpIiwKICAgICAgICAid2VpZ2h0IiA6IDY0MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNjQwIGdyYW1zIGNoaWNrZW4gLSBkcnVtc3RpY2tzIGFuZCB0aGlnaHMgKCAzIHdob2xlIGNoaWNrZW4gbGVncyBjdXQgYXBhcnQpIiwKICAgICAgICAid2VpZ2h0IiA6IDY0MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHRlYXNwb29uIHNhbHQiLAogICAgICAgICJ3ZWlnaHQiIDogMy4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS80IHRlYXNwb29uIGJsYWNrIHBlcHBlciIsCiAgICAgICAgIndlaWdodCIgOiAwLjcyNTAwMDAyMzg0MTg1NzkKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIHRhYmxlc3Bvb24gYnV0dGVyIOKAkyBjdWx0dXJlZCB1bnNhbHRlZCAob3Igb2xpdmUgb2lsKSIsCiAgICAgICAgIndlaWdodCIgOiAxMy41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMjQwIGdyYW1zIG9uaW9uIHNsaWNlZCB0aGluICgxIGxhcmdlIG9uaW9uKSIsCiAgICAgICAgIndlaWdodCIgOiAyNDAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjcwIGdyYW1zIEFuYWhlaW0gcGVwcGVyIGNob3BwZWQgKDEgbGFyZ2UgcGVwcGVyKSIsCiAgICAgICAgIndlaWdodCIgOiA3MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMjUgZ3JhbXMgcGFwcmlrYSAoYWJvdXQgMS80IGN1cCkiLAogICAgICAgICJ3ZWlnaHQiIDogMjYuODEzMzMzNTExMzUyNTQKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGN1cCBjaGlja2VuIHN0b2NrIiwKICAgICAgICAid2VpZ2h0IiA6IDI0MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHRlYXNwb29uIHNhbHQiLAogICAgICAgICJ3ZWlnaHQiIDogMy4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGN1cCBzb3VyIGNyZWFtIiwKICAgICAgICAid2VpZ2h0IiA6IDExNS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0YWJsZXNwb29uIGZsb3VyIOKAkyBhbGwtcHVycG9zZSIsCiAgICAgICAgIndlaWdodCIgOiA3LjkyNTE2MTM2MTY5NDMzNgogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAzMTAyLjc3MDkzNzkxODQyNTMsCiAgICAgICJ0b3RhbFdlaWdodCIgOiAxOTk5Ljk2MzQ5NDg5Njg4ODcsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMxMDIuNzcwOTM3OTE4NDI1MywKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjA4LjE5MTA0MDI3MTczNTE4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYxLjI3MDQxMTMzNzU4NTQ1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC44NDQ4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODUuNzk3OTczNjQzNTc4MjcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOS45MDE5OTQ4OTcxNTMzOCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2NC4xMTM4NDY5MTMxMzUwNSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Ljg4NTI1Nzc1ODI1OTc3MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMy42NDg1MzY2MjA5MDMwMTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzguNTkzOTAyMDI5NjQ1NDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjgzLjAsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5NTIuODM2NTcwMDE5NzIxNCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM2NC44NzgwNTgwNTA4NzA5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNDMuNzcxMDE5MTkwNTQ5OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Mjg4LjYyNDE3NzAzMjcwOSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2Ljg2NjM2MDU5NDU0Njc5NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyLjc4MjEyMDk3MDg1NzE1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNDQwLjc0ODU0MTUzMzk0NjUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExNDMuNTA4MTU0MzkxMDUwMywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTg5LjI2NjMyMDAwMTYwMjE0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuMzk1OTc3MTk0MjQ3MjQ1OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjAzOTg3OTA2Njc3NzIzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2OC4yNTc1MjI2MTg1MzU3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1LjcwMzAyMDI5MTU0NjU4NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzUuNDcyMzI1Mzc4NjU2NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzUuNDcyMzI1Mzc4NjU2NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDcuNjgyLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0OC4wOTk5OTk5OTk5OTk5OTQsCiAgICAgICAgICAidW5pdCIgOiAiSVUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMy40MjEyMjUxNDg4Njg1NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzMuODI4NzA3MzMyNzMwMjksCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTUuMTM4NTQ2ODk1OTIxMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyMC4yOTM5MDgxMTAzNjE4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMwNi4zNTIwNTY2ODc5MjcyNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMS4zNzEyODIzMDQzNzgzNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5LjU0MTAzMTAzMzAzOTA5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDc3LjE4NzgwNDA1OTI5MDg0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDI3LjY2NjY2NjY2NjY2NjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY0LjcwMTUyMzc1MDgyMTc0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNi40ODc4MDU4MDUwODcwOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4NS45NDI3NTQ3OTc2Mzc0OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyMi41MzIxMTkzNDM3OTE2OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTMuNzAyMDAzMzAzMDM3NzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1MS44ODA4MDY0NzIzODEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzQ4LjY3ODM2MzA3NjI3ODA2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNy4wNTY0NjE1OTkwMDU1OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMxNS40NDM4NjY2NjkzMzY5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTMuMDY1MTQ2MjgzMTQ5NzIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzguODE2NDE1NjkyNzc4MjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzQxLjI4NzYxMzA5MjY3ODcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODUuMTUxMDE0NTc3MzI5MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzLjg2ODA4MTM0NDY2NDEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTI4LjAzMzMzMzMzMzMzMzMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIuMDI0OTk5OTk5OTk5OTk5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Ny4xMDYxMjU3NDQzNDI3OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5Mi4yODU4ODQxNjU5MTI4NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjA4LjE5MTA0MDI3MTczNTE4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzIwLjI5MzkwODExMDM2MTgsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA2MS4yNzA0MTEzMzc1ODU0NSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAzMDYuMzUyMDU2Njg3OTI3MjUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC44NDQ4LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA4NS43OTc5NzM2NDM1NzgyNywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMzkuOTAxOTk0ODk3MTUzMzgsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNjQuMTEzODQ2OTEzMTM1MDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMS4zNzEyODIzMDQzNzgzNSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNDkuMjI4NTg5MTU0ODc1MjgsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxNC44ODUyNTc3NTgyNTk3NzIsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNTkuNTQxMDMxMDMzMDM5MDksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDIzLjY0ODUzNjYyMDkwMzAxMywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMjM4LjU5MzkwMjAyOTY0NTQ1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDc3LjE4NzgwNDA1OTI5MDg0LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDEyODMuMCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQyNy42NjY2NjY2NjY2NjY3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDM5NTIuODM2NTcwMDE5NzIxNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2NC43MDE1MjM3NTA4MjE3NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM2NC44NzgwNTgwNTA4NzA5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzYuNDg3ODA1ODA1MDg3MDksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM0My43NzEwMTkxOTA1NDk5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODUuOTQyNzU0Nzk3NjM3NDgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDI4OC42MjQxNzcwMzI3MDksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjIuNTMyMTE5MzQzNzkxNjgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNi44NjYzNjA1OTQ1NDY3OTQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5My43MDIwMDMzMDMwMzc3NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIyLjc4MjEyMDk3MDg1NzE1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTUxLjg4MDgwNjQ3MjM4MSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjQ0MC43NDg1NDE1MzM5NDY1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzQ4LjY3ODM2MzA3NjI3ODA2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMTQzLjUwODE1NDM5MTA1MDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjcuMDU2NDYxNTk5MDA1NTksCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE4OS4yNjYzMjAwMDE2MDIxNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMxNS40NDM4NjY2NjkzMzY5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuMzk1OTc3MTk0MjQ3MjQ1OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkzLjA2NTE0NjI4MzE0OTcyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMuMDM5ODc5MDY2Nzc3MjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNzguODE2NDE1NjkyNzc4MjQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY4LjI1NzUyMjYxODUzNTc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzQxLjI4NzYxMzA5MjY3ODcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNS43MDMwMjAyOTE1NDY1ODQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyODUuMTUxMDE0NTc3MzI5MiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMzUuNDcyMzI1Mzc4NjU2NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMzLjg2ODA4MTM0NDY2NDEsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTM1LjQ3MjMyNTM3ODY1NjQsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA3LjY4MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyOC4wMzMzMzMzMzMzMzMzMywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDguMDk5OTk5OTk5OTk5OTk0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTIuMDI0OTk5OTk5OTk5OTk5LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEzLjQyMTIyNTE0ODg2ODU2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjcuMTA2MTI1NzQ0MzQyNzksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDczLjgyODcwNzMzMjczMDI5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTIuMjg1ODg0MTY1OTEyODYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzE0ZWJkN2Q2ZDY1Zjc2MTg0M2RiYTM1MjAyZGU0YjM3IiwKICAgICAgImxhYmVsIiA6ICJDaGlja2VuIFNhdGF5IiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvYmE2L2JhNmY2NmQ4ODVlNGQ2MmE5ODA1NWIwODhhNWE4NWEzLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIkJCQyBHb29kIEZvb2QiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LmJiY2dvb2Rmb29kLmNvbS9yZWNpcGVzLzM2NDUvIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvY2hpY2tlbi1zYXRheS0xNGViZDdkNmQ2NWY3NjE4NDNkYmEzNTIwMmRlNGIzNy9jaGlja2VuIiwKICAgICAgInlpZWxkIiA6IDQuMCwKICAgICAgImRpZXRMYWJlbHMiIDogWyAiSGlnaC1Qcm90ZWluIiwgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxMDAuMG1sIHNveSBzYXVjZSAoS2lra29tYW4gaXMgZ29vZCkiLCAiNC4wIHRic3Agc21vb3RoIHBlYW51dCBidXR0ZXIiLCAiNCBza2lubGVzcyBjaGlja2VuIGJyZWFzdHMgZmlsbGV0cyIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxMDAuMG1sIHNveSBzYXVjZSAoS2lra29tYW4gaXMgZ29vZCkiLAogICAgICAgICJ3ZWlnaHQiIDogMTA3Ljc4MjE5NjA0NDkyMTg4CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNC4wIHRic3Agc21vb3RoIHBlYW51dCBidXR0ZXIiLAogICAgICAgICJ3ZWlnaHQiIDogNjQuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjQgc2tpbmxlc3MgY2hpY2tlbiBicmVhc3RzIGZpbGxldHMiLAogICAgICAgICJ3ZWlnaHQiIDogMTA4OC4wCiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDE3NDUuNDQ0NTYzOTAzODA4OCwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDEyNTkuNzgyMTk2MDQ0OTIxOSwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTc0NS40NDQ1NjM5MDM4MDg4LAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2MS45OTAzNTg1MTc0NTYwNiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi44MTIxMjEwMDMxMTI3OTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjEyNDE2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQuMTkzNDA4MzMyNTE5NTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi45MTg5ODcxNzU1OTgxNDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuNTkyMDYyMjY1MDE0NjQ3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNC4wNjIyNTc1NjgzNTkzNzUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNy4xNDQ3Mjg3ODQxNzk2ODgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjcuNzg3ODcwNzU4MDU2NjcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OTQuMjQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY0MjAuOTU2MDI4NzQ3NTU5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIxLjMyODEyNDY5NDgyNDIzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0OTEuOTE4ODI1MDczMjQyMjYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDQ1OS44OTI1NTI3OTU0MTEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2LjcwMjA0MTg0MjY1MTM2NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkuOTQyNTA1MTA1NTkwODIyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNzEwLjc1ODQ0NTQzNDU3MDYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc2LjE2MDAwMDAwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjE1NDI4ODEyNDY5NDgyNDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4yMjY0ODA2MjM0NzQxMjEyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTUuMjA2NTc3MDI1MTQ2NDksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS4yNjU0Mzc2NTAxNDY0ODYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY4LjY4OTUwNzQ0NjI4OTA0LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2OC42ODk1MDc0NDYyODkwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuMjg0OCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAuODgsCiAgICAgICAgICAidW5pdCIgOiAiSVUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMS45MTY4MDAwMDAwMDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuMzY4MDAwMDAwMDAwMDAwMywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg3LjI3MjIyODE5NTE5MDQ1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5NS4zNjk3ODIzMzQ1NDc3OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2NC4wNjA2MDUwMTU1NjM5NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2LjUzMDY4NzQyMTY3MTU0OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2LjI0OTAzMDI3MzQzNzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MzUuNTc1NzQxNTE2MTEzMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2NC43NDY2NjY2NjY2NjY2NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjcuNTM5ODM0NTMxMTQ4MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIuMTMyODEyNDY5NDgyNDIyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyMi45Nzk3MDYyNjgzMTA1NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNy40MjU1MDE1MDg0NDAzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNy4yMzM1NjU3OTI1MDc1OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjYuMjgzMzY3MzcwNjA1NDgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzg3LjI1MTIwNjQ5MDY1MjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC40NjIyMjIyMjIyMjIyMjMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ni45NTI1NDE2NDYzMjE2MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzMC45Njk0NDg0Mzk2NTQyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU3Ni4wMzI4ODUxMjU3MzI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDYzLjI3MTg4MjUwNzMyNDM0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDIuMTcyMzc2ODYxNTcyMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzguMDgwMDAwMDAwMDAwMDA1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi43MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTkuNTg0MDAwMDAwMDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi45NjAwMDAwMDAwMDAwMDA0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA2MS45OTAzNTg1MTc0NTYwNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDk1LjM2OTc4MjMzNDU0Nzc5LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTIuODEyMTIxMDAzMTEyNzkzLAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDY0LjA2MDYwNTAxNTU2Mzk3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDAuMTI0MTYsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDI0LjE5MzQwODMzMjUxOTUzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMi45MTg5ODcxNzU1OTgxNDUsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTkuNTkyMDYyMjY1MDE0NjQ3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNi41MzA2ODc0MjE2NzE1NDksCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDE1LjUyOTgwNDY5NjY1NTI3MywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDQuMDYyMjU3NTY4MzU5Mzc1LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDE2LjI0OTAzMDI3MzQzNzUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDcuMTQ0NzI4Nzg0MTc5Njg4LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyNjcuNzg3ODcwNzU4MDU2NjcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1MzUuNTc1NzQxNTE2MTEzMywKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA3OTQuMjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNjQuNzQ2NjY2NjY2NjY2NjcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNjQyMC45NTYwMjg3NDc1NTksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNjcuNTM5ODM0NTMxMTQ4MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEyMS4zMjgxMjQ2OTQ4MjQyMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyLjEzMjgxMjQ2OTQ4MjQyMiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDkxLjkxODgyNTA3MzI0MjI2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTIyLjk3OTcwNjI2ODMxMDU3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ0NTkuODkyNTUyNzk1NDExLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTI3LjQyNTUwMTUwODQ0MDMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2LjcwMjA0MTg0MjY1MTM2NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM3LjIzMzU2NTc5MjUwNzU5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOS45NDI1MDUxMDU1OTA4MjIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2Ni4yODMzNjczNzA2MDU0OCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjcxMC43NTg0NDU0MzQ1NzA2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzg3LjI1MTIwNjQ5MDY1MjksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDc2LjE2MDAwMDAwMDAwMDAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOC40NjIyMjIyMjIyMjIyMjMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4xNTQyODgxMjQ2OTQ4MjQyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzYuOTUyNTQxNjQ2MzIxNjIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4yMjY0ODA2MjM0NzQxMjEyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTMwLjk2OTQ0ODQzOTY1NDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExNS4yMDY1NzcwMjUxNDY0OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDU3Ni4wMzI4ODUxMjU3MzI1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkuMjY1NDM3NjUwMTQ2NDg2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDYzLjI3MTg4MjUwNzMyNDM0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE2OC42ODk1MDc0NDYyODkwNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQyLjE3MjM3Njg2MTU3MjI1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE2OC42ODk1MDc0NDYyODkwNCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuMjg0OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM4LjA4MDAwMDAwMDAwMDAwNSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTAuODgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyLjcyLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExLjkxNjgwMDAwMDAwMDAwMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDU5LjU4NDAwMDAwMDAwMDAyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjM2ODAwMDAwMDAwMDAwMDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyLjk2MDAwMDAwMDAwMDAwMDQsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzg4OGU5ZmM0YTgwOGU5ZTRjY2RiMmFjMjRhNmEyZjQ2IiwKICAgICAgImxhYmVsIiA6ICJDaGlja2VuIFRlcml5YWtpIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvNTUxLzU1MWI5MDZiYWZkNGM0NWQ1MDAzMzc0MmVhZjAwYzAyLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIlNhdmV1ciIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly93d3cuc2F2ZXVyLmNvbS9hcnRpY2xlL1JlY2lwZXMvQ2hpY2tlbi1UZXJpeWFraSIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2NoaWNrZW4tdGVyaXlha2ktODg4ZTlmYzRhODA4ZTllNGNjZGIyYWMyNGE2YTJmNDYvY2hpY2tlbiIsCiAgICAgICJ5aWVsZCIgOiAyLjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjEgdGJzcC4gdmVnZXRhYmxlIG9pbCIsICI0IHBpZWNlcyBjaGlja2VuLCB0cmltbWVkLCBza2luIHBpZXJjZWQgd2l0aCBhIGZvcmsiLCAiwr0gY3VwIFRlcml5YWtpIFNhdWNlIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjEgdGJzcC4gdmVnZXRhYmxlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiAxNC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNCBwaWVjZXMgY2hpY2tlbiwgdHJpbW1lZCwgc2tpbiBwaWVyY2VkIHdpdGggYSBmb3JrIiwKICAgICAgICAid2VpZ2h0IiA6IDM1Ny42MDAwMDYxMDM1MTU2CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiwr0gY3VwIFRlcml5YWtpIFNhdWNlIiwKICAgICAgICAid2VpZ2h0IiA6IDE0NC4wCiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDEwMjAuNzYwMDEzMTIyNTU4NiwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDUxNS42MDAwMDYxMDM1MTU2LAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDIwLjc2MDAxMzEyMjU1ODYsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY3Ljg4MzM2MDkxOTE4OTQ2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2LjMyNDEwMDI2MzA2MTUyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC40NTQyNTIwMDU5MjA0MTAyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIuMzkyOTgwMzgwODU5MzgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMy45NDQyMDAxOTcxNDM1NTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjIuNDA2NCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuMTQ0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwLjMwNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDc1LjA1MjgwMTEzNTI1MzksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjguMjAwMDA0NTc3NjM2NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTc2OS44NDAwMDQyNzI0NjEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3NS4zMzYwMDA2NzEzODY3MSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTU5LjM2MDAwMTIyMDcwMzEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTk5Ljg2NDAxMTUzNTY0NDUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1LjY2NjQwMDA1NDkzMTY0MSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQuODI4NTYwMDc5OTU2MDU1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3NDcuNDMyMDA4OTcyMTY4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDYuNjE2MDAyNTAyNDQxNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNS43MjE2MDAwOTc2NTYyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjI1Nzc2MDAwMzY2MjEwOTQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC41Mjk5MjAwMDczMjQyMTg3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNi4xNDkxNzY0MTUxMDAwOTcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4zOTU2MDAwMjEzNjIzMDQ1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyLjk3NjAwMDM2NjIxMDk0LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyLjk3NjAwMDM2NjIxMDk0LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4xMDg1NjAwMTg5MjA4OTg0LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNS43NjAwMDA2MTAzNTE1NiwKICAgICAgICAgICJ1bml0IiA6ICJJVSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQuMTI0ODAwMDE4MzEwNTQ3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1LjM2NDAwMDA5MTU1MjczNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUxLjAzODAwMDY1NjEyNzkzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDQuNDM1OTM5ODc1Njc2MDgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODEuNjIwNTAxMzE1MzA3NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3LjQ2ODgwMDAwMDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNTc2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUwLjEwNTYwMjI3MDUwNzgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4OS40MDAwMDE1MjU4Nzg5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0MC40MTAwMDAxNzgwMTkyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3LjUzMzYwMDA2NzEzODY3MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOS44NDAwMDAzMDUxNzU3OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI4LjU2NzU0MzE4NjczMjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDMxLjQ4MDAwMDMwNTE3NTc4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMi4xOTA0MDA1MzMwNDAzNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDYuNzc2MDAxMjgxNzM4MjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYuMjkwNjY2OTQ0NzE1NzE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS41MzYwMDAxNjI3NjA0MTYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNy4xODQwMDAyNDQxNDA2MjMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMS4xNzE3NjUxMzY3MTg3NDcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMwLjc0NTg4MjA3NTUwMDQ4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjkuNzgwMDAxMDY4MTE1MjMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4LjI0NDAwMDA5MTU1MjczNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOC40NzYwMDAzMTUzNDgzMDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4Ljk0MDAwMDE1MjU4Nzg5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMC42MjQwMDAwOTE1NTI3MzgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNi43MDUwMDAxMTQ0NDA5MTgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkaWdlc3QiIDogWyB7CiAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICJ0YWciIDogIkZBVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDY3Ljg4MzM2MDkxOTE4OTQ2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTA0LjQzNTkzOTg3NTY3NjA4LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTYuMzI0MTAwMjYzMDYxNTIsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogODEuNjIwNTAxMzE1MzA3NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjQ1NDI1MjAwNTkyMDQxMDIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDMyLjM5Mjk4MDM4MDg1OTM4LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMy45NDQyMDAxOTcxNDM1NTMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjIuNDA2NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcuNDY4ODAwMDAwMDAwMDAxLAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICAgICAidGFnIiA6ICJDSE9DREYubmV0IiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyMi4yNjI0MDAwMDAwMDAwMDMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjE0NCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAwLjU3NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMjAuMzA0LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA3NS4wNTI4MDExMzUyNTM5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTUwLjEwNTYwMjI3MDUwNzgsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjY4LjIwMDAwNDU3NzYzNjcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4OS40MDAwMDE1MjU4Nzg5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDU3NjkuODQwMDA0MjcyNDYxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjQwLjQxMDAwMDE3ODAxOTIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA3NS4zMzYwMDA2NzEzODY3MSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcuNTMzNjAwMDY3MTM4NjcxLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNTkuMzYwMDAxMjIwNzAzMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM5Ljg0MDAwMDMwNTE3NTc4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDk5OS44NjQwMTE1MzU2NDQ1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjguNTY3NTQzMTg2NzMyNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuNjY2NDAwMDU0OTMxNjQxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzEuNDgwMDAwMzA1MTc1NzgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0LjgyODU2MDA3OTk1NjA1NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMyLjE5MDQwMDUzMzA0MDM3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA3NDcuNDMyMDA4OTcyMTY4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTA2Ljc3NjAwMTI4MTczODI3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNDYuNjE2MDAyNTAyNDQxNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2LjI5MDY2Njk0NDcxNTcxNCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNS43MjE2MDAwOTc2NTYyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkuNTM2MDAwMTYyNzYwNDE2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMjU3NzYwMDAzNjYyMTA5NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE3LjE4NDAwMDI0NDE0MDYyMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjUyOTkyMDAwNzMyNDIxODcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMS4xNzE3NjUxMzY3MTg3NDcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI2LjE0OTE3NjQxNTEwMDA5NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMC43NDU4ODIwNzU1MDA0OCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjM5NTYwMDAyMTM2MjMwNDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2OS43ODAwMDEwNjgxMTUyMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMi45NzYwMDAzNjYyMTA5NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDguMjQ0MDAwMDkxNTUyNzM1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMyLjk3NjAwMDM2NjIxMDk0LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4xMDg1NjAwMTg5MjA4OTg0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTguNDc2MDAwMzE1MzQ4MzA1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzNS43NjAwMDA2MTAzNTE1NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDguOTQwMDAwMTUyNTg3ODksCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNC4xMjQ4MDAwMTgzMTA1NDcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMC42MjQwMDAwOTE1NTI3MzgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuMzY0MDAwMDkxNTUyNzM0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNi43MDUwMDAxMTQ0NDA5MTgsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlX2JlM2JhMDg3ZTIxMmYxMzY3MmI1NTNlY2ZhODc2MzMzIiwKICAgICAgImxhYmVsIiA6ICJCYWtlZCBDaGlja2VuIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvMDFjLzAxY2FjYjcwODkwMjc0ZmI3YjdjZWJiOTc1YTkzMjMxLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIk1hcnRoYSBTdGV3YXJ0IiwKICAgICAgInVybCIgOiAiaHR0cDovL3d3dy5tYXJ0aGFzdGV3YXJ0LmNvbS8zMTg5ODEvYmFrZWQtY2hpY2tlbiIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2Jha2VkLWNoaWNrZW4tYmUzYmEwODdlMjEyZjEzNjcyYjU1M2VjZmE4NzYzMzMvY2hpY2tlbiIsCiAgICAgICJ5aWVsZCIgOiA0LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICI2IGJvbmUtaW4gY2hpY2tlbiBicmVhc3QgaGFsdmVzLCBvciA2IGNoaWNrZW4gdGhpZ2hzIGFuZCB3aW5ncywgc2tpbi1vbiIsICIxLzIgdGVhc3Bvb24gY29hcnNlIHNhbHQiLCAiMS8yIHRlYXNwb29uIE1ycy4gRGFzaCBzZWFzb25pbmciLCAiMS80IHRlYXNwb29uIGZyZXNobHkgZ3JvdW5kIGJsYWNrIHBlcHBlciIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICI2IGJvbmUtaW4gY2hpY2tlbiBicmVhc3QgaGFsdmVzLCBvciA2IGNoaWNrZW4gdGhpZ2hzIGFuZCB3aW5ncywgc2tpbi1vbiIsCiAgICAgICAgIndlaWdodCIgOiA1MjIuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiB0ZWFzcG9vbiBjb2Fyc2Ugc2FsdCIsCiAgICAgICAgIndlaWdodCIgOiAyLjQ2MjA4MzU3ODEwOTc0MQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiB0ZWFzcG9vbiBNcnMuIERhc2ggc2Vhc29uaW5nIiwKICAgICAgICAid2VpZ2h0IiA6IDAuNzUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgdGVhc3Bvb24gZnJlc2hseSBncm91bmQgYmxhY2sgcGVwcGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDAuNTc0OTk5OTg4MDc5MDcxCiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDkwMS41ODU3NDk5NzAwNzg0LAogICAgICAidG90YWxXZWlnaHQiIDogNTI1LjYxNTYzNTAwNzg4MDUsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkwMS41ODU3NDk5NzAwNzg0LAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0OC4zNjAyMTk5OTk2MTEzNzQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMuOTE3ODc4OTk5ODM0MDYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjU0ODA5OTk5OTk5OTk5OTksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOS45NTM2OTQyNDk5MTE5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAuMjUxNDU4NDk5ODgxMDI5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuODU5NjM3NDkyMzc2NTY2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC4yMzAyMjQ5OTY5ODQwMDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC4wMTcxNzk5OTk5MjM3MDYwNTQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDguOTY4NjY3NDk4NzYxNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzNC4wOCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTI4My40MzE4NTMyMDEzODk1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjguMDI4MTUwMDA1OTM2NjEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzMy4xODc4NzA4MTUzOTYzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDExNjEuMzY4NzE2NTI3ODE5NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQuMTkxNTA3Mzc0NjUwMjQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0LjIwODg1NDU4MzQzNjI1MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTEwLjQ3MDk5OTk4MTE2NDksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNi40MjUyNDk5OTY3ODEzNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC4wOSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjMzMTQ2MDk5OTk4NzEyNTM2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNDQ2MTY3NDk5OTc4NTQyMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTEuNzQ4NjA3MjQ5ODYzNzQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi43NzgxNzMyNDk5NjUzMSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMi4wMTI3NDk5OTc5NzM0NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMi4wMTI3NDk5OTc5NzM0NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuNzc0OCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODMuNTIsCiAgICAgICAgICAidW5pdCIgOiAiSVUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjQyNTI3OTk5OTg3NjAyMjQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYuOTgxNzc0OTgwNDg1NDM5LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDUuMDc5Mjg3NDk4NTAzOTE2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3NC40MDAzMzg0NjA5NDA1NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2OS41ODkzOTQ5OTkxNzAzMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjI4NjU0NTgzMDc5MjE4ODY1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC45MjA4OTk5ODc5MzYwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxNy45MzczMzQ5OTc1MjI4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTExLjM2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDUzLjQ3NjMyNzIxNjcyNDU2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2LjgwMjgxNTAwMDU5MzY2MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMy4yOTY5Njc3MDM4NDkwOCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzLjE4MTk2MzMyOTM2NjI3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMy4yODYxNTIwODEzOTAyMjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI4LjA1OTAzMDU1NjI0MTY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzMC4wNjcyODU3MTE1OTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuMDQ3MjQ5OTk5NjQyMzcxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC4xNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyLjA5NzM5OTk5OTE0MTY5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjYuMjQ1MTQ3MDU3NTYxMzE1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1OC43NDMwMzYyNDkzMTg2NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzOC45MDg2NjI0OTgyNjU1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNS41MDMxODc0OTk0OTMzNjEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjkuNTgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMC44OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNy4xMjYzOTk5OTkzODAxMTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC43MjcyMTg3MjU2MDY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA0OC4zNjAyMTk5OTk2MTEzNzQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3NC40MDAzMzg0NjA5NDA1NywKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBU0FUIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDEzLjkxNzg3ODk5OTgzNDA2LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDY5LjU4OTM5NDk5OTE3MDMxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDAuNTQ4MDk5OTk5OTk5OTk5OSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTkuOTUzNjk0MjQ5OTExOSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTAuMjUxNDU4NDk5ODgxMDI5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICJ0YWciIDogIkNIT0NERiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDAuODU5NjM3NDkyMzc2NTY2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMC4yODY1NDU4MzA3OTIxODg2NSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC42Mjk0MTI0OTUzOTI1NjA5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4yMzAyMjQ5OTY5ODQwMDUsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMC45MjA4OTk5ODc5MzYwMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4wMTcxNzk5OTk5MjM3MDYwNTQsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDEwOC45Njg2Njc0OTg3NjE0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjE3LjkzNzMzNDk5NzUyMjgsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMzM0LjA4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTExLjM2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDEyODMuNDMxODUzMjAxMzg5NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUzLjQ3NjMyNzIxNjcyNDU2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjguMDI4MTUwMDA1OTM2NjEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2LjgwMjgxNTAwMDU5MzY2MSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTMzLjE4Nzg3MDgxNTM5NjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMy4yOTY5Njc3MDM4NDkwOCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMTYxLjM2ODcxNjUyNzgxOTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMy4xODE5NjMzMjkzNjYyNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQuMTkxNTA3Mzc0NjUwMjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMy4yODYxNTIwODEzOTAyMjQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0LjIwODg1NDU4MzQzNjI1MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI4LjA1OTAzMDU1NjI0MTY4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5MTAuNDcwOTk5OTgxMTY0OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMC4wNjcyODU3MTE1OTUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEyNi40MjUyNDk5OTY3ODEzNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0LjA0NzI0OTk5OTY0MjM3MSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wOSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDAuMTUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4zMzE0NjA5OTk5ODcxMjUzNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIyLjA5NzM5OTk5OTE0MTY5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNDQ2MTY3NDk5OTc4NTQyMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI2LjI0NTE0NzA1NzU2MTMxNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNTEuNzQ4NjA3MjQ5ODYzNzQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNTguNzQzMDM2MjQ5MzE4NjYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi43NzgxNzMyNDk5NjUzMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzOC45MDg2NjI0OTgyNjU1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIyLjAxMjc0OTk5Nzk3MzQ0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNS41MDMxODc0OTk0OTMzNjEsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjIuMDEyNzQ5OTk3OTczNDQsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjc3NDgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyOS41OCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogODMuNTIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMC44OCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjQyNTI3OTk5OTg3NjAyMjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3LjEyNjM5OTk5OTM4MDExMiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNi45ODE3NzQ5ODA0ODU0MzksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4LjcyNzIxODcyNTYwNjgsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlX2UyOWZlZWIyNTBjM2NjMGY2ZWI0ODdiN2NhZTVkOGIxIiwKICAgICAgImxhYmVsIiA6ICJDaGlja2VuIFBpY2NhdGEiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy85M2UvOTNlNWUyMmM4NzkyYmZiYzlmYTM2NTQyMDczNDdjOWMuanBnIiwKICAgICAgInNvdXJjZSIgOiAiTGVpdGUncyBDdWxpbmFyaWEiLAogICAgICAidXJsIiA6ICJodHRwOi8vbGVpdGVzY3VsaW5hcmlhLmNvbS81MzU0L3JlY2lwZXMtY2hpY2tlbi1waWNjYXRhLmh0bWwiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9jaGlja2VuLXBpY2NhdGEtZTI5ZmVlYjI1MGMzY2MwZjZlYjQ4N2I3Y2FlNWQ4YjEvY2hpY2tlbiIsCiAgICAgICJ5aWVsZCIgOiA0LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICI0IGJvbmVsZXNzLCBza2lubGVzcyBjaGlja2VuIGJyZWFzdCBoYWx2ZXMsIHBhdHRlZCBkcnkgKDIgMS8yIHRvIDMgcG91bmRzIHRvdGFsKSIsICJLb3NoZXIgc2FsdCBhbmQgZnJlc2hseSBncm91bmQgYmxhY2sgcGVwcGVyIiwgIjEvMiBjdXAgYWxsLXB1cnBvc2UgZmxvdXIiLCAiMiB0YWJsZXNwb29ucyBvbGl2ZSBvaWwiLCAiNCB0YWJsZXNwb29ucyB1bnNhbHRlZCBidXR0ZXIiLCAiMiB0YWJsZXNwb29ucyBmcmVzaCBsZW1vbiBqdWljZSIsICIxIHRhYmxlc3Bvb24gY2FwZXJzLCBkcmFpbmVkIiwgIjIgdGFibGVzcG9vbnMgY2hvcHBlZCBmcmVzaCBmbGF0LWxlYWYgcGFyc2xleSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICI0IGJvbmVsZXNzLCBza2lubGVzcyBjaGlja2VuIGJyZWFzdCBoYWx2ZXMsIHBhdHRlZCBkcnkgKDIgMS8yIHRvIDMgcG91bmRzIHRvdGFsKSIsCiAgICAgICAgIndlaWdodCIgOiAxMTMzLjk4MDk1NzAzMTI1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiS29zaGVyIHNhbHQgYW5kIGZyZXNobHkgZ3JvdW5kIGJsYWNrIHBlcHBlciIsCiAgICAgICAgIndlaWdodCIgOiAwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJLb3NoZXIgc2FsdCBhbmQgZnJlc2hseSBncm91bmQgYmxhY2sgcGVwcGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDMuOTczNDQyODY5NjYzMjM4NwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgYWxsLXB1cnBvc2UgZmxvdXIiLAogICAgICAgICJ3ZWlnaHQiIDogNjIuNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgdGFibGVzcG9vbnMgb2xpdmUgb2lsIiwKICAgICAgICAid2VpZ2h0IiA6IDI3LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICI0IHRhYmxlc3Bvb25zIHVuc2FsdGVkIGJ1dHRlciIsCiAgICAgICAgIndlaWdodCIgOiA1Ni43OTk5OTkyMzcwNjA1NQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgdGFibGVzcG9vbnMgZnJlc2ggbGVtb24ganVpY2UiLAogICAgICAgICJ3ZWlnaHQiIDogMjguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdGFibGVzcG9vbiBjYXBlcnMsIGRyYWluZWQiLAogICAgICAgICJ3ZWlnaHQiIDogOC42MDAwMDAzODE0Njk3MjcKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIHRhYmxlc3Bvb25zIGNob3BwZWQgZnJlc2ggZmxhdC1sZWFmIHBhcnNsZXkiLAogICAgICAgICJ3ZWlnaHQiIDogNy41OTk5OTk5MDQ2MzI1NjgKICAgICAgfSBdLAogICAgICAiY2Fsb3JpZXMiIDogMjI1NS4wNjA0ODQ2MjM0ODUsCiAgICAgICJ0b3RhbFdlaWdodCIgOiAxMzI4LjQ1NDM5OTQyNDA3NiwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjI1NS4wNjA0ODQ2MjM0ODUsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwMy43MjQwMTQ2OTU0NzY4MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOS40ODI5NTE3MjE2ODc4NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBVFJOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuOTQxMjgyNjQxOTgzMDMyMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBTVMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5LjU2NTc4MzM3NjMzMzYxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS43MTY5NDExOTU0NzY5MDIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTMuMTAyNDY2NzI3MzA4OTg2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4zMDI3ODEwNTUwODQ3MDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4wMzM3MjAwMzQ2NjE0ODM5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjYzLjAyNDI4NjA0NTg3NDYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5NDkuOTI2MDk2OTkyNDkyNywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzI1LjU4ODEyODA1NzU3NTEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTMuMTg2Mzk5NjAyMDQ2MDEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM0Ny41MTMyNTUzMzg4MTY2MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOTk1LjQ2NDQ1MTY2MzM0NjYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4LjI4MTMzMDg0Mzk2NTEwMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDguMzY5ODE0NDc3NDc1MTE3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNTEwLjI5NzQ3ODAxMDM1ODYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUwMS41NjE0OTA5NzM2OTY2NiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEuMzEzNzk5ODg5NTY0NTE0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuNTc4NTAyNDE3ODU3MTEzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuMzY1OTYyNDkxMjg4MDg5NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEyLjgwMjc4NDMyNzkxNDg0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkuMjU5MDUwMjgwMjUzMTc2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMwNS40NDI3NzEzNDA1NDY2NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDEuNjkyNzcxMzQwNTQ2NiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MQUMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5Ni4yNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuNDc3OTIwMDA4NDY4NjI4LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjg1MTk5OTk4ODU1NTkwODIsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEuOTAyMzA3MTUwMTYwOTgzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTUuOTQ1NTg2MzY4MTExMTIsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTIuNzUzMDI0MjMxMTc0MjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1OS41NzU0MDcyMjM4MTA1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5Ny40MTQ3NTg2MDg0MzkyOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNy43MDA4MjIyNDI0MzYzMjgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMy4yMTExMjQyMjAzMzg4MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDUyNi4wNDg1NzIwOTE3NDkyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzE2LjY0MjAzMjMzMDgzMDksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAuMjMyODM4NjY5MDY1NjMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDExLjMxODYzOTk2MDIwNDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODYuODc4MzEzODM0NzA0MTcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTQuMTU2MTI3MTkwMzgxMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2LjAwNzM5MzU3NzU4MzkwNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTUuNzk4NzYzMTgzMTY3NDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzU4LjYxMzkyNTQzMDA1MTI3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU1LjcyOTA1NDU1MjYzMjk2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzUuNTIyOTk5ODE1OTQwODYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDUuMjMzNDk0NTIzODA3NTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzkuMTc0MjY0MTkzNDE3MDMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTY0LjAxMzkyMTYzOTU3NDIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NjIuOTUyNTE0MDEyNjU4NzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ni4zNjA2OTI4MzUxMzY2NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MS4yOTg2NjY4MDc4MTA0NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuMjEyOTk5OTk3MTM4OTc3MDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5LjUxMTUzNTc1MDgwNDkxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5NC45MzE5ODI5NjAxMzg5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxMDMuNzI0MDE0Njk1NDc2ODIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNTkuNTc1NDA3MjIzODEwNSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBU0FUIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDM5LjQ4Mjk1MTcyMTY4Nzg2LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDE5Ny40MTQ3NTg2MDg0MzkyOSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxLjk0MTI4MjY0MTk4MzAzMjIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDM5LjU2NTc4MzM3NjMzMzYxLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA5LjcxNjk0MTE5NTQ3NjkwMiwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA1My4xMDI0NjY3MjczMDg5ODYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNy43MDA4MjIyNDI0MzYzMjgsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDQ5Ljc5OTY4NTY3MjIyNDI4LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMy4zMDI3ODEwNTUwODQ3MDUsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMTMuMjExMTI0MjIwMzM4ODIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDEuMDMzNzIwMDM0NjYxNDgzOSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMjYzLjAyNDI4NjA0NTg3NDYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1MjYuMDQ4NTcyMDkxNzQ5MiwKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA5NDkuOTI2MDk2OTkyNDkyNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMxNi42NDIwMzIzMzA4MzA5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDcyNS41ODgxMjgwNTc1NzUxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzAuMjMyODM4NjY5MDY1NjMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMTMuMTg2Mzk5NjAyMDQ2MDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMS4zMTg2Mzk5NjAyMDQ2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzNDcuNTEzMjU1MzM4ODE2NjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4Ni44NzgzMTM4MzQ3MDQxNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzOTk1LjQ2NDQ1MTY2MzM0NjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTQuMTU2MTI3MTkwMzgxMzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA4LjI4MTMzMDg0Mzk2NTEwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ2LjAwNzM5MzU3NzU4MzkwNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguMzY5ODE0NDc3NDc1MTE3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTUuNzk4NzYzMTgzMTY3NDUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI1MTAuMjk3NDc4MDEwMzU4NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM1OC42MTM5MjU0MzAwNTEyNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNTAxLjU2MTQ5MDk3MzY5NjY2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTUuNzI5MDU0NTUyNjMyOTYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIxLjMxMzc5OTg4OTU2NDUxNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM1LjUyMjk5OTgxNTk0MDg2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuNTc4NTAyNDE3ODU3MTEzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTA1LjIzMzQ5NDUyMzgwNzUyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuMzY1OTYyNDkxMjg4MDg5NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzOS4xNzQyNjQxOTM0MTcwMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTEyLjgwMjc4NDMyNzkxNDg0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTY0LjAxMzkyMTYzOTU3NDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOS4yNTkwNTAyODAyNTMxNzYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NjIuOTUyNTE0MDEyNjU4NzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzA1LjQ0Mjc3MTM0MDU0NjY0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzYuMzYwNjkyODM1MTM2NjYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQxLjY5Mjc3MTM0MDU0NjYsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDk2LjI1LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNDc3OTIwMDA4NDY4NjI4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDEuMjk4NjY2ODA3ODEwNDcsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuODUxOTk5OTg4NTU1OTA4MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDAuMjEyOTk5OTk3MTM4OTc3MDUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTEuOTAyMzA3MTUwMTYwOTgzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTkuNTExNTM1NzUwODA0OTEsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE1NS45NDU1ODYzNjgxMTExMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE5NC45MzE5ODI5NjAxMzg5LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV80OGRhYzAxZDVlMmQ5ODI5OWU4Mzk1Yjk1ZjQ3Mjc1OSIsCiAgICAgICJsYWJlbCIgOiAiQ2hpY2tlbiBIZWtrYSIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nL2UzNS9lMzUzOGI4ZDc3M2IwMWQ2MGEzMTM2OTU4OGIxMDU2MC5qcGciLAogICAgICAic291cmNlIiA6ICJDb29rc3RyIiwKICAgICAgInVybCIgOiAiaHR0cDovL3d3dy5jb29rc3RyLmNvbS9yZWNpcGVzL2NoaWNrZW4taGVra2EiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9jaGlja2VuLWhla2thLTQ4ZGFjMDFkNWUyZDk4Mjk5ZTgzOTViOTVmNDcyNzU5L2NoaWNrZW4iLAogICAgICAieWllbGQiIDogNC4wLAogICAgICAiZGlldExhYmVscyIgOiBbICJIaWdoLVByb3RlaW4iLCAiTG93LUNhcmIiIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiU3VnYXItQ29uc2Npb3VzIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjLCvSBwb3VuZHMgYm9uZWxlc3MsIHNraW5sZXNzIGNoaWNrZW4gdGhpZ2hzIG9yIGJyZWFzdHMiIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiMsK9IHBvdW5kcyBib25lbGVzcywgc2tpbmxlc3MgY2hpY2tlbiB0aGlnaHMgb3IgYnJlYXN0cyIsCiAgICAgICAgIndlaWdodCIgOiAxMTMzLjk4MDk1NzAzMTI1CiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDEzNzIuMTE2OTU4MDA3ODEyNiwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDExMzMuOTgwOTU3MDMxMjUsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNzIuMTE2OTU4MDA3ODEyNiwKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDYuNzIwMDE1NDI5Njg3NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi40Mzk3NzEwOTg2MzI4MTIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjIyNjc5NjE5MTQwNjI1MDAxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYuOTc1Njk0OTI2NzU3ODE0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAuNjU5NDIwOTk2MDkzNzQ5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjIyLjk0MDY1NjE1MjM0Mzc2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA2NS45NDIwOTk2MDkzNzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNzcuMjgxOTA5MTc5Njg3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDc5LjM3ODY2Njk5MjE4NzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2MC44MTU2MjAxMTcxODc1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3NDQuMjMzOTE2MDE1NjI1MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDkuMTg1MjQ1NzUxOTUzMTI2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTcuOTE2ODk5MTIxMDkzNzUzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDk3Ljg2NDc3MDUwNzgxMjQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc5LjM3ODY2Njk5MjE4NzUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuOTk3OTAzMjQyMTg3NDk5OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjIyMjYwMjY3NTc4MTI1MDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYzLjAxNTMyMTc4MjIyNjU2NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1LjExNDI1NDExNjIxMDkzOCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS4zNTkyMzgyODEyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS4zNTkyMzgyODEyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYuOTE3MjgzODM3ODkwNjI1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMS4zMzk4MDk1NzAzMTI1LAogICAgICAgICAgInVuaXQiIDogIklVIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4wNDExNjU3MjI2NTYyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIuODg1NDQ3NzUzOTA2MjUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2OC42MDU4NDc5MDAzOTA2MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzEuODc2OTQ2ODE0OTAzODUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjIuMTk4ODU1NDkzMTY0MDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NDUuODgxMzEyMzA0Njg3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM1NS4zMTQwMzMyMDMxMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDQuODg2NzQ2MjE1ODIwMzEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDcuOTM3ODY2Njk5MjE4NzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjUuMjAzOTA1MDI5Mjk2ODgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OC40MDY2ODMzMTQ3MzIxNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTEuMDI5MTQzMDY2NDA2MjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExOS40NDU5OTQxNDA2MjUwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOTkuNjk0OTY3MjE1NDAxOCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4LjgxOTg1MTg4ODAyMDgzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY2LjUyNjg4MjgxMjQ5OTk5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMwLjc0MTMzMzg2OTQ4NTMyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMxNS4wNzY2MDg5MTExMzI4NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1NS43MTI3MDU4MTA1NDY4OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExLjMzOTgwOTU3MDMxMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE1LjI4ODA2Mzk2NDg0Mzc0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi44MzQ5NTIzOTI1NzgxMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwLjIwNTgyODYxMzI4MTI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxLjEwNjgwOTY5MjM4MjgxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA0Ni43MjAwMTU0Mjk2ODc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzEuODc2OTQ2ODE0OTAzODUsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxMi40Mzk3NzEwOTg2MzI4MTIsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNjIuMTk4ODU1NDkzMTY0MDYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4yMjY3OTYxOTE0MDYyNTAwMSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTYuOTc1Njk0OTI2NzU3ODE0LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMC42NTk0MjA5OTYwOTM3NDksCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMjIyLjk0MDY1NjE1MjM0Mzc2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDQ1Ljg4MTMxMjMwNDY4NzUsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTA2NS45NDIwOTk2MDkzNzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNTUuMzE0MDMzMjAzMTI1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDEwNzcuMjgxOTA5MTc5Njg3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ0Ljg4Njc0NjIxNTgyMDMxLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNzkuMzc4NjY2OTkyMTg3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcuOTM3ODY2Njk5MjE4NzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI2MC44MTU2MjAxMTcxODc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjUuMjAzOTA1MDI5Mjk2ODgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjc0NC4yMzM5MTYwMTU2MjUzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzguNDA2NjgzMzE0NzMyMTUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5LjE4NTI0NTc1MTk1MzEyNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUxLjAyOTE0MzA2NjQwNjI1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTcuOTE2ODk5MTIxMDkzNzUzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTE5LjQ0NTk5NDE0MDYyNTAyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMDk3Ljg2NDc3MDUwNzgxMjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyOTkuNjk0OTY3MjE1NDAxOCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNzkuMzc4NjY2OTkyMTg3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDguODE5ODUxODg4MDIwODM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuOTk3OTAzMjQyMTg3NDk5OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY2LjUyNjg4MjgxMjQ5OTk5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuMjIyNjAyNjc1NzgxMjUwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMC43NDEzMzM4Njk0ODUzMiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjMuMDE1MzIxNzgyMjI2NTY1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzE1LjA3NjYwODkxMTEzMjg0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuMTE0MjU0MTE2MjEwOTM4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjU1LjcxMjcwNTgxMDU0Njg4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ1LjM1OTIzODI4MTI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTEuMzM5ODA5NTcwMzEyNSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0NS4zNTkyMzgyODEyNSwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYuOTE3MjgzODM3ODkwNjI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTE1LjI4ODA2Mzk2NDg0Mzc0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMS4zMzk4MDk1NzAzMTI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMi44MzQ5NTIzOTI1NzgxMjUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4wNDExNjU3MjI2NTYyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwLjIwNTgyODYxMzI4MTI1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMi44ODU0NDc3NTM5MDYyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQxLjEwNjgwOTY5MjM4MjgxLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV9hYzQ3OTU2MjcwMzBjYTcwYjA3OTVmOTY2NDEzNTBjYiIsCiAgICAgICJsYWJlbCIgOiAiU2FnZSBQZXN0byBSb2FzdGVkIENoaWNrZW4iLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy9jZDUvY2Q1ODEwOTE0NjJiZGI5Y2Y5ZTRmNTY3NWIyMmUwZjAuanBnIiwKICAgICAgInNvdXJjZSIgOiAiTm90IFdpdGhvdXQgU2FsdCIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly9ub3R3aXRob3V0c2FsdC5jb20vc2FnZS13YWxudXQtcGVzdG8tdGhyZWUtd2F5cy8iLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9zYWdlLXBlc3RvLXJvYXN0ZWQtY2hpY2tlbi1hYzQ3OTU2MjcwMzBjYTcwYjA3OTVmOTY2NDEzNTBjYi9jaGlja2VuIiwKICAgICAgInlpZWxkIiA6IDQuMCwKICAgICAgImRpZXRMYWJlbHMiIDogWyAiTG93LUNhcmIiIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiU3VnYXItQ29uc2Npb3VzIiwgIlBlYW51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxIG1lZGl1bS1zaXplIHdob2xlIGNoaWNrZW4gKGFib3V0IDQgbGJzKSIsICJTYWx0IGFuZCBwZXBwZXIgKGFib3V0IMK+IHRzcCBrb3NoZXIgc2FsdCBwZXIgbGIpIiwgIsK9IGN1cCBzYWdlIHBlc3RvIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjEgbWVkaXVtLXNpemUgd2hvbGUgY2hpY2tlbiAoYWJvdXQgNCBsYnMpIiwKICAgICAgICAid2VpZ2h0IiA6IDE4MTQuMzY5NTA2ODM1OTM3NQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciAoYWJvdXQgwr4gdHNwIGtvc2hlciBzYWx0IHBlciBsYikiLAogICAgICAgICJ3ZWlnaHQiIDogMTEuNzAyMjE3MDQxMDE1NjI2CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiU2FsdCBhbmQgcGVwcGVyIChhYm91dCDCviB0c3Aga29zaGVyIHNhbHQgcGVyIGxiKSIsCiAgICAgICAgIndlaWdodCIgOiA1Ljg1MTEwODUyMDUwNzgxMwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIsK9IGN1cCBzYWdlIHBlc3RvIiwKICAgICAgICAid2VpZ2h0IiA6IDEzNi4wCiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDUyNDQuMjQ3MDAyMDgzNzQsCiAgICAgICJ0b3RhbFdlaWdodCIgOiAxOTU3Ljg5OTgxNzg5NTU1OTQsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUyNDQuMjQ3MDAyMDgzNzQsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwOS41NTg0ODU4NjcyNjA3NCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDEuNzI3NzM3NTc1MjM0MzYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjc1OTkzODQyMTYzMDg1OTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTQuOTk5MzMwOTE4NTI4OTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4Mi4xODQ1MDQzMzM4MzUzMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOC4yNDA3OTgyOTg4NjQ3NDYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ljc2OTI0MjQ1NTY4ODQ3NywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjQzNDQ0NzA5NDUzMTI1MDQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNjIuMzQ4NTM5MjQ2NzY1MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0MDEuMjYwOTMwMTI2OTUzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4NDMzLjg3MTg3NzI0NjA5NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNjcuNTY3NjI4NTg3NjQ2NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjY4LjMwMjYzOTEwNzY2NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Njc3Ljk5NTY5NzUyMDc1MTUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS41MDkyMTc1MTUxMDAwOTcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS44MTEwODMzNDc5ODU4NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzI0OS44MTE5MjY1MTEyMzA1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjYyLjI5MDEzNzEwMzI3MTUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg2LjA5NzY4ODEwOTM3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjMyNjcyNTcwMTMwMzcxMDgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi42MjYyMzI2MDM1NDAwMzksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNy43OTg2OTg3MzAzMDE1MSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2LjkzODAwOTk5OTcyMDQ1OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMzguMzE2NDU4ODU4NjQyNiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMzguMzE2NDU4ODU4NjQyNiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuOTQ0NTYwMjcxMTkxNDA2LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTAuNjkwMzkwNjgzNTkzNzYsCiAgICAgICAgICAidW5pdCIgOiAiSVUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNS4zMzU3MTgwNDkxMjEwOTUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzOTQuODA1NDg3MjUwNjEwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2Mi4yMTIzNTAxMDQxODY5NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjMwLjA4OTk3ODI1NzMyNDIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTA4LjYzODY4Nzg3NjE3MTczLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYuMDgwMjY2MDk5NjIxNTgyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEuMDc2OTY5ODIyNzUzOTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3MjQuNjk3MDc4NDkzNTMwNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2Ny4wODY5NzY3MDg5ODQzNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNTEuNDExMzI4MjE4NTg3MjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNi43NTY3NjI4NTg3NjQ2NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjcuMDc1NjU5Nzc2OTE2NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzMy42NTcwMTk5MjkxNjQzMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYzLjk0MDA5NzMwNjExMTY1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTguNzQwNTU1NjUzMjM4OTQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDY0LjI1ODg0NjY0NDQ2MTQ3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4NC42OTg5MDQxMjI1ODU3MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0My40OTYxNDY4NDg5NTgzMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg4LjQ0ODM4MDA4NjkxNDA0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTU0LjQ4NDI3MDc5NjQ3MjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjM4Ljk5MzQ5MzY1MTUwNzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNDYuOTAwNDk5OTg2MDIyOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0LjU3OTExNDcxNDY2MDY1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk5LjA3NjAwNDUxOTg1Njc3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuNjcyNTk3NjcwODk4NDQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNi42Nzg1OTAyNDU2MDU0OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzQzLjUwNjg1OTA2MzI2MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNDA5LjU1ODQ4NTg2NzI2MDc0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjMwLjA4OTk3ODI1NzMyNDIsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxMDEuNzI3NzM3NTc1MjM0MzYsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNTA4LjYzODY4Nzg3NjE3MTczLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDEuNzU5OTM4NDIxNjMwODU5MywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTk0Ljk5OTMzMDkxODUyODkzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA4Mi4xODQ1MDQzMzM4MzUzMiwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxOC4yNDA3OTgyOTg4NjQ3NDYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2LjA4MDI2NjA5OTYyMTU4MiwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTAuNDcxNTU1ODQzMTc2MjY5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogNy43NjkyNDI0NTU2ODg0NzcsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMzEuMDc2OTY5ODIyNzUzOTEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDIuNDM0NDQ3MDk0NTMxMjUwNCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMzYyLjM0ODUzOTI0Njc2NTIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3MjQuNjk3MDc4NDkzNTMwNCwKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNDAxLjI2MDkzMDEyNjk1MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ2Ny4wODY5NzY3MDg5ODQzNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA4NDMzLjg3MTg3NzI0NjA5NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM1MS40MTEzMjgyMTg1ODcyNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEwNjcuNTY3NjI4NTg3NjQ2NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwNi43NTY3NjI4NTg3NjQ2NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjY4LjMwMjYzOTEwNzY2NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2Ny4wNzU2NTk3NzY5MTY1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ2NzcuOTk1Njk3NTIwNzUxNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMy42NTcwMTk5MjkxNjQzMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI5LjUwOTIxNzUxNTEwMDA5NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2My45NDAwOTczMDYxMTE2NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI5LjgxMTA4MzM0Nzk4NTg0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTk4Ljc0MDU1NTY1MzIzODk0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMjQ5LjgxMTkyNjUxMTIzMDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NjQuMjU4ODQ2NjQ0NDYxNDcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE2NjIuMjkwMTM3MTAzMjcxNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE4NC42OTg5MDQxMjI1ODU3MywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogODYuMDk3Njg4MTA5Mzc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTQzLjQ5NjE0Njg0ODk1ODMyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuMzI2NzI1NzAxMzAzNzEwOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDg4LjQ0ODM4MDA4NjkxNDA0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNjI2MjMyNjAzNTQwMDM5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTU0LjQ4NDI3MDc5NjQ3MjksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEyNy43OTg2OTg3MzAzMDE1MSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDYzOC45OTM0OTM2NTE1MDc2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYuOTM4MDA5OTk5NzIwNDU4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzQ2LjkwMDQ5OTk4NjAyMjksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzM4LjMxNjQ1ODg1ODY0MjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4NC41NzkxMTQ3MTQ2NjA2NSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMzguMzE2NDU4ODU4NjQyNiwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuOTQ0NTYwMjcxMTkxNDA2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTkuMDc2MDA0NTE5ODU2NzcsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE5MC42OTAzOTA2ODM1OTM3NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ3LjY3MjU5NzY3MDg5ODQ0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI1LjMzNTcxODA0OTEyMTA5NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyNi42Nzg1OTAyNDU2MDU0OCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTM5NC44MDU0ODcyNTA2MTA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTc0My41MDY4NTkwNjMyNjMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSBdCn0=
+ http_version:
+ recorded_at: Wed, 08 Nov 2017 06:00:53 GMT
+recorded_with: VCR 3.0.3
diff --git a/test/cassettes/show_action.yml b/test/cassettes/show_action.yml
new file mode 100644
index 000000000..b23ee0585
--- /dev/null
+++ b/test/cassettes/show_action.yml
@@ -0,0 +1,84 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://api.edamam.com/search?app_id=&app_key=&r=http://www.edamam.com/ontologies/edamam.owl%23recipe_5264be9d66d1276ce4c5f5f97260235d
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Wed, 08 Nov 2017 06:01:42 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ Vary:
+ - Accept-Encoding
+ body:
+ encoding: ASCII-8BIT
+ string: !binary |-
+ W3sKICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV81MjY0YmU5ZDY2ZDEyNzZjZTRjNWY1Zjk3MjYwMjM1ZCIsCiAgImxhYmVsIiA6ICJHcmFzcy1GZWQgU3RlYWtzIHdpdGggS2FsYW1hdGEtT2xpdmUgQ2hpbWljaHVycmkiLAogICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzdhOC83YTgwOWIwOTRlMmM4YjA2YjA4Mzg5ODI0NzUyOWE0Ny5qcGciLAogICJzb3VyY2UiIDogIkJvbiBBcHBldGl0IiwKICAidXJsIiA6ICJodHRwOi8vd3d3LmJvbmFwcGV0aXQuY29tL3JlY2lwZS9ncmFzcy1mZWQtc3RlYWtzLXdpdGgta2FsYW1hdGEtb2xpdmUtY2hpbWljaHVycmkiLAogICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2dyYXNzLWZlZC1zdGVha3Mtd2l0aC1rYWxhbWF0YS1vbGl2ZS1jaGltaWNodXJyaS01MjY0YmU5ZDY2ZDEyNzZjZTRjNWY1Zjk3MjYwMjM1ZC8tIiwKICAieWllbGQiIDogNC4wLAogICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICJoZWFsdGhMYWJlbHMiIDogWyAiU3VnYXItQ29uc2Npb3VzIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICJjYXV0aW9ucyIgOiBbIF0sCiAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIzIHRhYmxlc3Bvb25zIGZydWl0eSBvbGl2ZSBvaWwsIGRpdmlkZWQiLCAiNCBnYXJsaWMgY2xvdmVzOyAyIHRoaW5seSBzbGljZWQsIDIgcHJlc3NlZCIsICIxLzQgdGVhc3Bvb24gZHJpZWQgY3J1c2hlZCByZWQgcGVwcGVyIiwgIjEgYmF5IGxlYWYsIHByZWZlcmFibHkgZnJlc2gsIGJyb2tlbiBpbiBoYWxmIiwgIjEvMyBjdXAgZmluZWx5IGNob3BwZWQgc2hhbGxvdHMiLCAiMS80IGN1cCBmaW5lbHkgY2hvcHBlZCBmcmVzaCBpdGFsaWFuIHBhcnNsZXkiLCAiMiB0YWJsZXNwb29ucyBmaW5lbHkgY2hvcHBlZCBwaXR0ZWQga2FsYW1hdGEgb2xpdmVzIiwgIjIgdGFibGVzcG9vbnMgcmVkIHdpbmUgdmluZWdhciIsICIxIHRvIDIgdGFibGVzcG9vbnMgd2F0ZXIiLCAiMiAxNC0gdG8gMTYtb3VuY2UgMi1pbmNoLXRoaWNrIGdyYXNzLWZlZCBuZXcgeW9yayBzdHJpcCBzdGVha3MiLCAiMiB0ZWFzcG9vbnMgcGFwcmlrYSIsICIxIHRlYXNwb29uIGNvYXJzZSBrb3NoZXIgc2FsdCIsICIxLzQgdGVhc3Bvb24gY2F5ZW5uZSBwZXBwZXIiIF0sCiAgImluZ3JlZGllbnRzIiA6IFsgewogICAgInRleHQiIDogIjMgdGFibGVzcG9vbnMgZnJ1aXR5IG9saXZlIG9pbCwgZGl2aWRlZCIsCiAgICAid2VpZ2h0IiA6IDQwLjUKICB9LCB7CiAgICAidGV4dCIgOiAiNCBnYXJsaWMgY2xvdmVzOyAyIHRoaW5seSBzbGljZWQsIDIgcHJlc3NlZCIsCiAgICAid2VpZ2h0IiA6IDEyLjAKICB9LCB7CiAgICAidGV4dCIgOiAiMS80IHRlYXNwb29uIGRyaWVkIGNydXNoZWQgcmVkIHBlcHBlciIsCiAgICAid2VpZ2h0IiA6IDAuNDQ5OTk5OTg4MDc5MDcxMDQKICB9LCB7CiAgICAidGV4dCIgOiAiMSBiYXkgbGVhZiwgcHJlZmVyYWJseSBmcmVzaCwgYnJva2VuIGluIGhhbGYiLAogICAgIndlaWdodCIgOiAwLjYwMDAwMDAyMzg0MTg1NzkKICB9LCB7CiAgICAidGV4dCIgOiAiMS8zIGN1cCBmaW5lbHkgY2hvcHBlZCBzaGFsbG90cyIsCiAgICAid2VpZ2h0IiA6IDUyLjU3NTE2NDc5NDkyMTg3NQogIH0sIHsKICAgICJ0ZXh0IiA6ICIxLzQgY3VwIGZpbmVseSBjaG9wcGVkIGZyZXNoIGl0YWxpYW4gcGFyc2xleSIsCiAgICAid2VpZ2h0IiA6IDE1LjAKICB9LCB7CiAgICAidGV4dCIgOiAiMiB0YWJsZXNwb29ucyBmaW5lbHkgY2hvcHBlZCBwaXR0ZWQga2FsYW1hdGEgb2xpdmVzIiwKICAgICJ3ZWlnaHQiIDogMTYuNzk5OTk5MjM3MDYwNTQ3CiAgfSwgewogICAgInRleHQiIDogIjIgdGFibGVzcG9vbnMgcmVkIHdpbmUgdmluZWdhciIsCiAgICAid2VpZ2h0IiA6IDI5Ljc5OTk5OTIzNzA2MDU0NwogIH0sIHsKICAgICJ0ZXh0IiA6ICIxIHRvIDIgdGFibGVzcG9vbnMgd2F0ZXIiLAogICAgIndlaWdodCIgOiAyMi41CiAgfSwgewogICAgInRleHQiIDogIjIgMTQtIHRvIDE2LW91bmNlIDItaW5jaC10aGljayBncmFzcy1mZWQgbmV3IHlvcmsgc3RyaXAgc3RlYWtzIiwKICAgICJ3ZWlnaHQiIDogNjAyLjAKICB9LCB7CiAgICAidGV4dCIgOiAiMiB0ZWFzcG9vbnMgcGFwcmlrYSIsCiAgICAid2VpZ2h0IiA6IDQuNTk5OTk5OTA0NjMyNTY4CiAgfSwgewogICAgInRleHQiIDogIjEgdGVhc3Bvb24gY29hcnNlIGtvc2hlciBzYWx0IiwKICAgICJ3ZWlnaHQiIDogNC45MjQxNjcxNTYyMTk0ODIKICB9LCB7CiAgICAidGV4dCIgOiAiMS80IHRlYXNwb29uIGNheWVubmUgcGVwcGVyIiwKICAgICJ3ZWlnaHQiIDogMC40NDk5OTk5ODgwNzkwNzEwNAogIH0gXSwKICAiY2Fsb3JpZXMiIDogMTg4OC41ODgxMTczNTk4NzY2LAogICJ0b3RhbFdlaWdodCIgOiA4MDAuODM4NTc4Mjk0MjEwNCwKICAidG90YWxOdXRyaWVudHMiIDogewogICAgIkVORVJDX0tDQUwiIDogewogICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICJxdWFudGl0eSIgOiAxODg4LjU4ODExNzM1OTg3NjYsCiAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgfSwKICAgICJGQVQiIDogewogICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICJxdWFudGl0eSIgOiAxNDYuMjY1ODQ1MDY4ODk1OCwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkZBU0FUIiA6IHsKICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAicXVhbnRpdHkiIDogNDcuNjA5MDM3NzY0OTQ1MDMsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJGQU1TIiA6IHsKICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAicXVhbnRpdHkiIDogNzUuNjQ4MDc5NDYxMDA5NSwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkZBUFUiIDogewogICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICJxdWFudGl0eSIgOiA4LjYwMjM1MzI5ODQ2MzgyMywKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkNIT0NERiIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAicXVhbnRpdHkiIDogMTguMzI0NDk3NTg4NjEwNjUsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJGSUJURyIgOiB7CiAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAicXVhbnRpdHkiIDogNC45NzUwMDUyMTU1MjU2MjgsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJTVUdBUiIgOiB7CiAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgInF1YW50aXR5IiA6IDQuOTUzODY1NDU3MDM0MTExLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sCiAgICAiUFJPQ05UIiA6IHsKICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgInF1YW50aXR5IiA6IDExOS43ODY3MDkwOTg2MjUxOCwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkNIT0xFIiA6IHsKICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICJxdWFudGl0eSIgOiA0OTMuNjQsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiTkEiIDogewogICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICJxdWFudGl0eSIgOiAxODU0LjA0NzQ0NjQ1NzExOSwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJDQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiAxMzMuMzcwMDI5ODMxMDUwMDYsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiTUciIDogewogICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiAxNDguMzIxNDE4NTE5NzIwNCwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJLIiA6IHsKICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAicXVhbnRpdHkiIDogMjI2NC42OTcxMjA3Mzc2NzEsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiRkUiIDogewogICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAicXVhbnRpdHkiIDogMTMuNjg0ODAxMjA3MDU4MjU3LAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIlpOIiA6IHsKICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgInF1YW50aXR5IiA6IDIwLjA2OTQxNDA2ODU1NDMzNCwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJQIiA6IHsKICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgInF1YW50aXR5IiA6IDEwNzguNTcyMDk4NDUwNjYwNiwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgInF1YW50aXR5IiA6IDIwMC4zOTA5OTcwNzYwMzQ1NSwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0sCiAgICAiVklUQyIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgInF1YW50aXR5IiA6IDI5LjIwODIxMzE2NDkyNTU3NCwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJUSElBIiA6IHsKICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAicXVhbnRpdHkiIDogMC42Mjg5MzUwOTg0NjMyOTY5LAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIlJJQkYiIDogewogICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICJxdWFudGl0eSIgOiAwLjk0ODU5MjAzMTY2NzIzMjYsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiTklBIiA6IHsKICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICJxdWFudGl0eSIgOiAyNC43MjQ0MTUzMTgxMTcxNCwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJWSVRCNkEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAicXVhbnRpdHkiIDogMi44ODM1NzIzMTYyNjI3MjIsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiRk9MREZFIiA6IHsKICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgInF1YW50aXR5IiA6IDQ1LjMyMzU1NjAwMTE4NjM3NSwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0sCiAgICAiRk9MRkQiIDogewogICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAicXVhbnRpdHkiIDogODEuNDQzNTU2MDAxMTg2MzcsCiAgICAgICJ1bml0IiA6ICLCtWciCiAgICB9LAogICAgIlZJVEIxMiIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAicXVhbnRpdHkiIDogMTYuNzk1OCwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0sCiAgICAiVE9DUEhBIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAicXVhbnRpdHkiIDogNy44MzkxNTAwMTg0NjU1MTgsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiVklUSzEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICJxdWFudGl0eSIgOiAyODQuNjg3MzAxMjExOTUzMSwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0KICB9LAogICJ0b3RhbERhaWx5IiA6IHsKICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAicXVhbnRpdHkiIDogOTQuNDI5NDA1ODY3OTkzODQsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGQVQiIDogewogICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICJxdWFudGl0eSIgOiAyMjUuMDI0Mzc3MDI5MDcwNDUsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGQVNBVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgInF1YW50aXR5IiA6IDIzOC4wNDUxODg4MjQ3MjUxNiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIkNIT0NERiIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAicXVhbnRpdHkiIDogNi4xMDgxNjU4NjI4NzAyMTcsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGSUJURyIgOiB7CiAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAicXVhbnRpdHkiIDogMTkuOTAwMDIwODYyMTAyNTEsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJQUk9DTlQiIDogewogICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAicXVhbnRpdHkiIDogMjM5LjU3MzQxODE5NzI1MDM2LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiQ0hPTEUiIDogewogICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgInF1YW50aXR5IiA6IDE2NC41NDY2NjY2NjY2NjY2NSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIk5BIiA6IHsKICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAicXVhbnRpdHkiIDogNzcuMjUxOTc2OTM1NzEzMjksCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJDQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiAxMy4zMzcwMDI5ODMxMDUwMDcsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJNRyIgOiB7CiAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDM3LjA4MDM1NDYyOTkzMDEsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJLIiA6IHsKICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAicXVhbnRpdHkiIDogNjQuNzA1NjMyMDIxMDc2MzEsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICJxdWFudGl0eSIgOiA3Ni4wMjY2NzMzNzI1NDU4NywKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlpOIiA6IHsKICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgInF1YW50aXR5IiA6IDEzMy43OTYwOTM3OTAzNjIyMiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlAiIDogewogICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAicXVhbnRpdHkiIDogMTU0LjA4MTcyODM1MDA5NDM4LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiVklUQV9SQUUiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICJxdWFudGl0eSIgOiAyMi4yNjU2NjYzNDE3ODE2MTgsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVRDIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAicXVhbnRpdHkiIDogNDguNjgwMzU1Mjc0ODc1OTYsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJUSElBIiA6IHsKICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAicXVhbnRpdHkiIDogNDEuOTI5MDA2NTY0MjE5NzksCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJSSUJGIiA6IHsKICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAicXVhbnRpdHkiIDogNTUuNzk5NTMxMjc0NTQzMSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIk5JQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAicXVhbnRpdHkiIDogMTIzLjYyMjA3NjU5MDU4NTY5LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiVklUQjZBIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgInF1YW50aXR5IiA6IDE0NC4xNzg2MTU4MTMxMzYxLAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiRk9MREZFIiA6IHsKICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgInF1YW50aXR5IiA6IDExLjMzMDg4OTAwMDI5NjU5MiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEIxMiIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAicXVhbnRpdHkiIDogMjc5LjkzLAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiVE9DUEhBIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAicXVhbnRpdHkiIDogMzkuMTk1NzUwMDkyMzI3NTksCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVRLMSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgInF1YW50aXR5IiA6IDM1NS44NTkxMjY1MTQ5NDE0LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0KICB9LAogICJkaWdlc3QiIDogWyB7CiAgICAibGFiZWwiIDogIkZhdCIsCiAgICAidGFnIiA6ICJGQVQiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAidG90YWwiIDogMTQ2LjI2NTg0NTA2ODg5NTgsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMjI1LjAyNDM3NzAyOTA3MDQ1LAogICAgInVuaXQiIDogImciLAogICAgInN1YiIgOiBbIHsKICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAidG90YWwiIDogNDcuNjA5MDM3NzY0OTQ1MDMsCiAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgImRhaWx5IiA6IDIzOC4wNDUxODg4MjQ3MjUxNiwKICAgICAgInVuaXQiIDogImciCiAgICB9LCB7CiAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiA3NS42NDgwNzk0NjEwMDk1LAogICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAiZGFpbHkiIDogMC4wLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sIHsKICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAidG90YWwiIDogOC42MDIzNTMyOTg0NjM4MjMsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSBdCiAgfSwgewogICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAidGFnIiA6ICJDSE9DREYiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAidG90YWwiIDogMTguMzI0NDk3NTg4NjEwNjUsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogNi4xMDgxNjU4NjI4NzAyMTcsCiAgICAidW5pdCIgOiAiZyIsCiAgICAic3ViIiA6IFsgewogICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgInRvdGFsIiA6IDEzLjM0OTQ5MjM3MzA4NTAyNCwKICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgInVuaXQiIDogImciCiAgICB9LCB7CiAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICJ0b3RhbCIgOiA0Ljk3NTAwNTIxNTUyNTYyOCwKICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAiZGFpbHkiIDogMTkuOTAwMDIwODYyMTAyNTEsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgInRvdGFsIiA6IDQuOTUzODY1NDU3MDM0MTExLAogICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAiZGFpbHkiIDogMC4wLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sIHsKICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSBdCiAgfSwgewogICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAidG90YWwiIDogMTE5Ljc4NjcwOTA5ODYyNTE4LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDIzOS41NzM0MTgxOTcyNTAzNiwKICAgICJ1bml0IiA6ICJnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgInRhZyIgOiAiQ0hPTEUiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICJ0b3RhbCIgOiA0OTMuNjQsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTY0LjU0NjY2NjY2NjY2NjY1LAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICJ0YWciIDogIk5BIiwKICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgInRvdGFsIiA6IDE4NTQuMDQ3NDQ2NDU3MTE5LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDc3LjI1MTk3NjkzNTcxMzI5LAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAidGFnIiA6ICJDQSIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMTMzLjM3MDAyOTgzMTA1MDA2LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDEzLjMzNzAwMjk4MzEwNTAwNywKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAidGFnIiA6ICJNRyIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMTQ4LjMyMTQxODUxOTcyMDQsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMzcuMDgwMzU0NjI5OTMwMSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAidGFnIiA6ICJLIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAyMjY0LjY5NzEyMDczNzY3MSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA2NC43MDU2MzIwMjEwNzYzMSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIklyb24iLAogICAgInRhZyIgOiAiRkUiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDEzLjY4NDgwMTIwNzA1ODI1NywKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA3Ni4wMjY2NzMzNzI1NDU4NywKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlppbmMiLAogICAgInRhZyIgOiAiWk4iLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDIwLjA2OTQxNDA2ODU1NDMzNCwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAxMzMuNzk2MDkzNzkwMzYyMjIsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICJ0YWciIDogIlAiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDEwNzguNTcyMDk4NDUwNjYwNiwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAxNTQuMDgxNzI4MzUwMDk0MzgsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDIwMC4zOTA5OTcwNzYwMzQ1NSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAyMi4yNjU2NjYzNDE3ODE2MTgsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICJ0YWciIDogIlZJVEMiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDI5LjIwODIxMzE2NDkyNTU3NCwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA0OC42ODAzNTUyNzQ4NzU5NiwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAidGFnIiA6ICJUSElBIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAwLjYyODkzNTA5ODQ2MzI5NjksCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogNDEuOTI5MDA2NTY0MjE5NzksCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgInRhZyIgOiAiUklCRiIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMC45NDg1OTIwMzE2NjcyMzI2LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDU1Ljc5OTUzMTI3NDU0MzEsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAidGFnIiA6ICJOSUEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDI0LjcyNDQxNTMxODExNzE0LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDEyMy42MjIwNzY1OTA1ODU2OSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgInRhZyIgOiAiVklUQjZBIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAyLjg4MzU3MjMxNjI2MjcyMiwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAxNDQuMTc4NjE1ODEzMTM2MSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgInRhZyIgOiAiRk9MREZFIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiA0NS4zMjM1NTYwMDExODYzNzUsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTEuMzMwODg5MDAwMjk2NTkyLAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgInRhZyIgOiAiRk9MRkQiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDgxLjQ0MzU1NjAwMTE4NjM3LAogICAgImhhc1JESSIgOiBmYWxzZSwKICAgICJkYWlseSIgOiAwLjAsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMC4wLAogICAgImhhc1JESSIgOiBmYWxzZSwKICAgICJkYWlseSIgOiAwLjAsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgInRhZyIgOiAiVklUQjEyIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAxNi43OTU4LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDI3OS45MywKICAgICJ1bml0IiA6ICLCtWciCiAgfSwgewogICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgInRhZyIgOiAiVklURCIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMC4wLAogICAgImhhc1JESSIgOiBmYWxzZSwKICAgICJkYWlseSIgOiAwLjAsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogNy44MzkxNTAwMTg0NjU1MTgsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMzkuMTk1NzUwMDkyMzI3NTksCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgInRhZyIgOiAiVklUSzEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDI4NC42ODczMDEyMTE5NTMxLAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDM1NS44NTkxMjY1MTQ5NDE0LAogICAgInVuaXQiIDogIsK1ZyIKICB9IF0KfV0=
+ http_version:
+ recorded_at: Wed, 08 Nov 2017 06:01:42 GMT
+- request:
+ method: get
+ uri: https://api.edamam.com/search?app_id=&app_key=&r=http://www.edamam.com/ontologies/edamam.owl%23garbage
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Server:
+ - ngx_openresty
+ Date:
+ - Wed, 08 Nov 2017 06:01:43 GMT
+ Content-Type:
+ - application/json;charset=UTF-8
+ Content-Length:
+ - '2'
+ Connection:
+ - keep-alive
+ Cache-Control:
+ - private
+ Expires:
+ - Thu, 01 Jan 1970 00:00:00 UTC
+ X-Served-By:
+ - ip-10-143-141-59/10.143.141.59
+ body:
+ encoding: UTF-8
+ string: "[]"
+ http_version:
+ recorded_at: Wed, 08 Nov 2017 06:01:43 GMT
+recorded_with: VCR 3.0.3
diff --git a/test/controllers/.keep b/test/controllers/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/controllers/recipie_controller_test.rb b/test/controllers/recipie_controller_test.rb
new file mode 100644
index 000000000..2c102ca09
--- /dev/null
+++ b/test/controllers/recipie_controller_test.rb
@@ -0,0 +1,63 @@
+require 'test_helper'
+
+describe RecipesController do
+ describe "index" do
+ it "can return list of matching recipes" do
+ VCR.use_cassette("index_action") do
+ get root_path
+ must_respond_with :success
+ end
+ end
+ end
+
+ describe "results" do
+ it "must returns with success" do
+ VCR.use_cassette("results_action") do
+ params = {
+ q: "chicken",
+ from: 0
+ }
+ get get_recipes_path, params: params
+ must_respond_with :success
+ end
+ end
+
+ it "returns blank array when query not found" do
+ VCR.use_cassette("results_action") do
+ params = {
+ q: "lasjdlkfasjdf",
+ from: 0
+ }
+ get get_recipes_path, params: params
+ must_respond_with :success
+ end
+ end
+
+ it "message is dispalyed if query is blank" do
+ VCR.use_cassette("results_action") do
+ params = {
+ from: 0
+ }
+ get get_recipes_path, params: params
+ must_respond_with :success
+ end
+ end
+ end
+
+ describe "show" do
+ it "must returns with success" do
+ VCR.use_cassette("show_action") do
+ get show_recipe_path("recipe_5264be9d66d1276ce4c5f5f97260235d")
+ must_respond_with :success
+ end
+ end
+
+ it "must returns with success for bad query" do
+ VCR.use_cassette("show_action") do
+ get show_recipe_path("garbage")
+ must_respond_with :success
+ end
+ end
+ end
+
+end
diff --git a/test/fixtures/.keep b/test/fixtures/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/fixtures/files/.keep b/test/fixtures/files/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/helpers/.keep b/test/helpers/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/integration/.keep b/test/integration/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/mailers/.keep b/test/mailers/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/models/.keep b/test/models/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/system/.keep b/test/system/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/test_helper.rb b/test/test_helper.rb
new file mode 100644
index 000000000..39d78382f
--- /dev/null
+++ b/test/test_helper.rb
@@ -0,0 +1,40 @@
+require 'simplecov'
+SimpleCov.start 'rails'
+
+ENV["RAILS_ENV"] = "test"
+require File.expand_path("../../config/environment", __FILE__)
+require "rails/test_help"
+require "minitest/rails"
+require "minitest/reporters" # for Colorized output
+require 'vcr'
+require 'webmock/minitest'
+
+# For colorful output!
+Minitest::Reporters.use!(
+ Minitest::Reporters::SpecReporter.new,
+ ENV,
+ Minitest.backtrace_filter
+)
+
+VCR.configure do |config|
+ config.cassette_library_dir = 'test/cassettes' # folder where casettes will be located
+ config.hook_into :webmock # tie into this other tool called webmock
+ config.default_cassette_options = {
+ :record => :new_episodes, # record new data when we don't have it yet
+ :match_requests_on => [:method, :uri, :body] # The http method, URI and body of a request all need to match
+ }
+ # Don't leave our Slack token lying around in a cassette file.
+ config.filter_sensitive_data("") do
+ ENV['APP_ID']
+ end
+ config.filter_sensitive_data("") do
+ ENV['APP_KEY']
+ end
+end
+
+class ActiveSupport::TestCase
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
+ fixtures :all
+
+ # Add more helper methods to be used by all tests here...
+end
diff --git a/tmp/.keep b/tmp/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/vendor/.keep b/vendor/.keep
new file mode 100644
index 000000000..e69de29bb