diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..aa30a5e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 100 + +[*.md] +indent_style = space +indent_size = 4 diff --git a/.rspec b/.rspec new file mode 100644 index 0000000..e6b1aab --- /dev/null +++ b/.rspec @@ -0,0 +1,3 @@ +--color +--format documentation +--require spec_helper.rb diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..0c96394 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,24 @@ +require: + - rubocop-performance + - rubocop-rspec + +Layout/LineLength: + Max: 100 +Layout/MultilineOperationIndentation: + EnforcedStyle: indented +Layout/MultilineMethodCallIndentation: + EnforcedStyle: indented +Layout/ArgumentAlignment: + EnforcedStyle: with_fixed_indentation + +AllCops: + NewCops: enable + +Metrics/BlockLength: + Exclude: + - spec/**/*.rb + +RSpec/NestedGroups: + Max: 5 +RSpec/MultipleMemoizedHelpers: + Enabled: false diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..86e5ffb --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,41 @@ +## master + +* Remove `Twitch.new`, use `Twitch::Client.new`. +* Use `twitch_oauth2` gem for authentication (parameters changed). + Check `README` for additional info. +* Add `tokens`, `access_token` and `refresh_token` getters. +* Replace custom adapters and `HTTParty` with `Faraday` and its adapters. +* Delete undocumented `channel_panels` and `chat_links` methods + not from Kraken version. +* Rename `edit_channel` to `update_channel`. +* Add support of options (`stream_type`) for `stream`. +* Add `retriable`: retry requests on fails. +* Add `Twitch::ServerError` for 5xx HTTP errors, apply `retriable` to them. +* Specify required Ruby version, 2.4. +* Use [`VCR`](https://relishapp.com/vcr/vcr/docs) (recorded HTTP requests) + for tests. +* Add [RuboCop](https://docs.rubocop.org/). +* Add [EditorConfig](https://editorconfig.org/) file. +* Increase max line length from 80 (previous RuboCop's default) + to 100 (average between previous and new RuboCop's default, 120). +* Replace `add_dependency` with more explicit `add_runtime_dependency` in gem spec. + +## 0.1.3 + +* Add options to `following` and `followed` methods. +* Add `channel_panels` method. + +## 0.1.2 + +* Fix `Twitch::Client#unfollow` method name. +* Allow `Twitch::Client#subscribed` method to receive query string options. + +## 0.1.1 + +* Allow to override `oauth_token` in options. + +## 0.1.0 + +* Replace `camelCase` method names with `snake_case`. +* Remove `get_` prefix from method names. +* Make `your_` prefix optional (e.g. `user` and `your_user` are equal). diff --git a/Gemfile b/Gemfile index 851fabc..7f4f5e9 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,5 @@ +# frozen_string_literal: true + source 'https://rubygems.org' + gemspec diff --git a/Gemfile.lock b/Gemfile.lock index d32087d..bf7121c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,38 +1,94 @@ PATH remote: . specs: - twitch (0.1.2) - httparty - json + twitch (0.1.3) + faraday (~> 1.0) + faraday_middleware (~> 1.0) + retriable (~> 3.0) + twitch_oauth2 (~> 0.2.0) GEM remote: https://rubygems.org/ specs: - diff-lcs (1.2.5) - httparty (0.13.7) - json (~> 1.8) - multi_xml (>= 0.5.2) - json (1.8.3) - multi_xml (0.5.5) - rspec (3.0.0) - rspec-core (~> 3.0.0) - rspec-expectations (~> 3.0.0) - rspec-mocks (~> 3.0.0) - rspec-core (3.0.3) - rspec-support (~> 3.0.0) - rspec-expectations (3.0.3) + ast (2.4.1) + byebug (11.1.3) + coderay (1.1.3) + diff-lcs (1.4.4) + docile (1.3.2) + faraday (1.1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords + faraday_middleware (1.0.0) + faraday (~> 1.0) + method_source (1.0.0) + multipart-post (2.1.1) + parallel (1.20.1) + parser (2.7.2.0) + ast (~> 2.4.1) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + regexp_parser (2.0.0) + retriable (3.1.2) + rexml (3.2.4) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.0) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.0.0) - rspec-mocks (3.0.3) - rspec-support (~> 3.0.0) - rspec-support (3.0.3) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.8.0) + parser (>= 2.7.1.5) + rubocop-performance (1.8.1) + rubocop (>= 0.87.0) + rubocop-ast (>= 0.4.0) + rubocop-rspec (1.44.1) + rubocop (~> 0.87) + rubocop-ast (>= 0.7.1) + ruby-progressbar (1.10.1) + ruby2_keywords (0.0.2) + simplecov (0.18.5) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov-html (0.12.3) + twitch_oauth2 (0.2.0) + faraday (~> 1.0) + faraday_middleware (~> 1.0) + unicode-display_width (1.7.0) + vcr (6.0.0) PLATFORMS ruby DEPENDENCIES - rspec + pry-byebug (~> 3.9) + rspec (~> 3.9) + rubocop (~> 0.89.0) + rubocop-performance (~> 1.5) + rubocop-rspec (~> 1.38) + simplecov (~> 0.18.0) twitch! + vcr (~> 6.0) BUNDLED WITH - 1.11.2 + 2.1.4 diff --git a/README.md b/README.md index 2a0132e..a580202 100644 --- a/README.md +++ b/README.md @@ -1,290 +1,245 @@ # Twitch API -This gem simplifies the Twitch-API for ruby users. +This gem simplifies the Twitch API for Ruby users. +Currently uses [Kraken (5) version](https://dev.twitch.tv/docs/v5) because of +missing some data in [new (Helix) API](https://dev.twitch.tv/docs/api), +at least [`User#created_at`](https://github.com/twitchdev/issues/issues/84). ## Install -With Rails: +Add this line to your application's Gemfile: ```ruby -#add to your Gemfile -gem 'twitch', '~> 0.1.0' +gem 'twitch' ``` -Just irb or pry: +And then execute: -```ruby -$ gem install twitch - -irb > require 'twitch' -irb > @twitch = Twitch.new() +``` +bundle install ``` -## Changes in 0.1.0 from 0.0.x - -Listed below are some changes introduced in version 0.1.0 from 0.0.x. Some of the changes break backward compatibility with previous versions. +Or install it yourself as: ``` -- Replaced camelCase method names with snake_case. -- Removed 'get_' prefix from method names. -- Made 'your_' prefix optional. (e.g. user() and your_user() are equal) +gem install twitch ``` -## Authorizing +## Authentication -Step 1: Get url for your application - (@scope is an array of permissions, like ["user\_read", "channel\_read", "user\_follows_edit"]) +You can initialize `Twitch::Client` with or without +`:access_token` and `:refresh_token`: ```ruby -@twitch = Twitch.new({ - client_id: @client_id, - secret_key: @secret_key, - redirect_uri: @redirect_uri, - scope: @scope -}) - -@twitch.link +twitch_client = Twitch::Client.new( + client_id: client_id, + client_secret: client_secret, + redirect_uri: redirect_uri, + scopes: scopes, + # access_token: access_token, + # refresh_token: refresh_token +) ``` -Step 2: Authenticate and get access_token (this is done on your @redirect\_url) +But if you want to make requests depending on `access_token`, +you should make sure that tokens are actual: ```ruby -@twitch = Twitch.new({ - client_id: @client_id, - secret_key: @secret_key, - redirect_uri: @redirect_uri, - scope: @scope -}) - -@data = @twitch.auth(params[:code]) -session[:access_token] = @data[:body]["access_token"] +twitch_client.check_tokens! # old tokens if they're actual or new tokens ``` -Step 3: You can now use user token +It works like authentication (with a link to login in console) +if there were no tokens. + +Otherwise, `TwitchOAuth2::Error` will be raised. + +If you've passed `refresh_token` to initialization and your `access_token` +is invalid, requests that require `access_token` will automatically refresh it. + +Later you can access tokens: ```ruby -@twitch = Twitch.new access_token: session["access_token"] -@yourself = @twitch.your_user() +twitch_client.tokens # => { access_token: 'abcdef', refresh_token: 'ghijkl' } +twitch_client.access_token # => 'abcdef' +twitch_client.refresh_token # => 'ghijkl' ``` ## Calls -Calls will return a Hash with :body for the content of the call and a :response +Calls will return a `Faraday::Response` instance with `#body` +(parsed and symbolized), `#status`, etc.: ```ruby -@twitch.user "day9tv" -``` +twitch_client.user('day9tv').body -returns: - - { - :body=> - {"display_name"=>"dustinlakin", - "logo"=>nil, - "created_at"=>"2011-12-18T18:42:09Z", - "staff"=>false, - "updated_at"=>"2013-02-11T23:48:11Z", - "_id"=>26883731, - "name"=>"dustinlakin", - "_links"=>{"self"=>"https://api.twitch.tv/kraken/users/dustinlakin"}}, - :response=>200 - } +{ + display_name: 'dustinlakin', + logo: nil, + created_at: Time.parse('2011-12-18T18:42:09Z'), + staff: false, + updated_at: Time.parse('2013-02-11T23:48:11Z'), + _id: 26883731, + name: 'dustinlakin', + _links: { + self: 'https://api.twitch.tv/kraken/users/dustinlakin' + } +} +``` ## Usage ### Users ```ruby -#does not require any access_token -# @twitch = Twitch.new() -@twitch.user "day9tv" +# `access_token` is not required +twitch_client.user 'day9tv' ``` ---- ```ruby -#requires access_token, use -# @twitch = Twitch.new access_token: session["access_token"] -@twitch.your_user() +# `access_token` is required +twitch_client.your_user ``` ### Teams ```ruby -@twitch.teams() +twitch_client.teams ``` ---- ```ruby -@twitch.team "eg" +twitch_client.team 'eg' ``` ### Channels ```ruby -@twitch.channel "lethalfrag" +twitch_client.channel '44322889' ``` +---- + ```ruby -@twitch.channel_panels "lethalfrag" +# `access_token` is required +twitch_client.your_channel ``` ---- ```ruby -#Requires access_token -@twitch.your_channel +# `access_token` and `channel_editor` scope are required + +twitch_client.update_channel( + '44322889', + status: 'Ranked Solo Queue', + game: 'League of Legends' +) ``` ---- ```ruby -# Requires access_token (and special scope for channel editing) -# edit_channel(channelname, status, game) -# arguments: -# status (string) -# game (string) +# `access_token` and `channel_commercial` scope are required +# *this is untested* -@twitch.edit_channel "ChannelName", "Ranked Solo Queue", "League of Legends" +twitch_client.run_commercial 'lethalfrag', 30 ``` ----- +### Follows ```ruby -#Requires access_token (and special scope for channel commercials) -# run_commercial(channel, length = 30) -# arguments: -# channel (string) -# length (int) -# *this is untested* - -@twitch.run_commercial "lethalfrag", 30 +twitch_client.following 'channel_id' ``` -### Follows +---- -```@twitch.following 'esl_csgo'``` +```ruby +twitch_client.followed 'user_id' +``` ---- -```@twitch.followed 'esl_csgo'``` +```ruby +twitch_client.follow_status 'user_id', 'channel_id' +``` ### Streams ```ruby -@twitch.stream "lethalfrag" +twitch_client.stream 'lethalfrag' ``` ---- ```ruby -# getStreams(options = {}) -# see Twitch-API for options - -@twitch.streams +twitch_client.streams ``` ---- + ```ruby -# getFeaturedStreams(options = {}) -# see Twitch-API for options +twitch_client.featured_streams ``` + ---- + ```ruby -@twitch.your_featured_streams +twitch_client.your_featured_streams ``` + ---- + ```ruby -#Requires access_token -@twitch.your_followed_streams +# `access_token` is required +twitch_client.your_followed_streams ``` ### Games ```ruby -@twitch.top_games +twitch_client.top_games ``` ### Search - ```ruby -# search_streams(options = {}) -# see Twitch-API for options - -@twitch.search_streams +twitch_client.search_streams ``` ---- ```ruby -# search_games(options = {}) -# see Twitch-API for options - -@twitch.search_games +twitch_client.search_games ``` ### Videos ```ruby -# get_channel_videos(channel, options = {}) -# see Twitch-API for options - -@twitch.channel_videos "lethalfrag" +twitch_client.channel_videos 'lethalfrag' ``` ---- -```ruby -# get_video(video_id) -@twitch.video 12345 +```ruby +twitch_client.video 12345 ``` ### Adapters - -To allow the gem to use different HTTP libraries, you can define an Adapter: - -```ruby -require 'open-uri' - -module Twitch - module Adapters - class OpenURIAdapter < BaseAdapter - def self.request(method, url, options={}) - if (method == :get) - ret = {} - - open(url) do |io| - ret[:body] = JSON.parse(io.read) - ret[:response] = io.status.first.to_i - end - - ret - end - end - end # class OpenURIAdapter - end # module Adapters -end # module Twitch -``` - -and then pass it into the Twitch class: +This gem uses [Faraday](https://lostisland.github.io/faraday/), +which supports different adapters. You can use non-default adapter like: ```ruby -@twitch = Twitch.new adapter: Twitch::Adapters::OpenURIAdapter - -# or - -@twitch = Twitch.new -@twitch.adapter = Twitch::Adapters::OpenURIAdapter +Twitch::Client::CONNECTION.adapter :httpclient ``` -Adapters must be defined inside the Twitch::Adapters module, otherwise they will be considered invalid. -Any invalid adapter passed to the library will revert to the default adapter. - -The default adapter is `Twitch::Adapters::HTTPartyAdapter` which uses the [HTTParty library](https://github.com/jnunemaker/httparty). +[Faraday Adapters documentation] +(https://lostisland.github.io/faraday/adapters/). Feel free to contribute or add functionality! diff --git a/Rakefile b/Rakefile index 2995527..7398a90 100644 --- a/Rakefile +++ b/Rakefile @@ -1 +1,3 @@ -require "bundler/gem_tasks" +# frozen_string_literal: true + +require 'bundler/gem_tasks' diff --git a/lib/twitch.rb b/lib/twitch.rb index f9e9c9d..0e9b992 100644 --- a/lib/twitch.rb +++ b/lib/twitch.rb @@ -1,10 +1,4 @@ -require 'twitch/adapters' -require 'twitch/client' -require 'twitch/request' -require 'twitch/version' +# frozen_string_literal: true -module Twitch - def self.new(options={}) - Twitch::Client.new(options) - end -end +require_relative 'twitch/client' +require_relative 'twitch/version' diff --git a/lib/twitch/adapters.rb b/lib/twitch/adapters.rb deleted file mode 100644 index e888a9e..0000000 --- a/lib/twitch/adapters.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'twitch/adapters/base_adapter' -require 'twitch/adapters/httparty_adapter' - -module Twitch - module Adapters - DEFAULT_ADAPTER = Twitch::Adapters::HTTPartyAdapter - - def get_adapter(adapter, default_adapter = DEFAULT_ADAPTER) - begin - Twitch::Adapters.const_defined?(adapter.to_s) - rescue - default_adapter - else - adapter - end - end - end -end diff --git a/lib/twitch/adapters/base_adapter.rb b/lib/twitch/adapters/base_adapter.rb deleted file mode 100644 index 5cb1178..0000000 --- a/lib/twitch/adapters/base_adapter.rb +++ /dev/null @@ -1,24 +0,0 @@ -module Twitch - module Adapters - class BaseAdapter - def self.get(url) - request(:get, url) - end - - def self.post(url, options) - request(:post, url, options) - end - - def self.put(url, options) - request(:put, url, options) - end - - def self.delete(url) - request(:delete, url) - end - - def self.request(method, url, options) - end - end - end -end \ No newline at end of file diff --git a/lib/twitch/adapters/httparty_adapter.rb b/lib/twitch/adapters/httparty_adapter.rb deleted file mode 100644 index 70b3ff7..0000000 --- a/lib/twitch/adapters/httparty_adapter.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'httparty' - -module Twitch - module Adapters - class HTTPartyAdapter < BaseAdapter - - def self.request(method, url, options={}) - res = HTTParty.send(method, url, options) - {:body => res, :response => res.code} - end - - end - end -end diff --git a/lib/twitch/client.rb b/lib/twitch/client.rb index 178d365..1481261 100644 --- a/lib/twitch/client.rb +++ b/lib/twitch/client.rb @@ -1,424 +1,318 @@ -require 'twitch/request' -require 'twitch/adapters' +# frozen_string_literal: true + +require 'faraday' +require 'faraday_middleware' +require 'twitch_oauth2' + +require_relative 'server_error' + +require 'retriable' +Retriable.configure do |config| + config.contexts[:twitch] = { + on: [Errno::ETIMEDOUT, Twitch::ServerError], + ## It will last for 42 minutes (2555 seconds), the last interval is 1280 seconds (21 minutes) + tries: 9, + base_interval: 5, + multiplier: 2 + } +end module Twitch class Client - include Twitch::Request - include Twitch::Adapters + DEFAULT_CONNECTION = Faraday.new( + url: 'https://api.twitch.tv/kraken', + headers: { + 'Accept' => 'application/vnd.twitchtv.v5+json' + } + ) do |connection| + connection.request :json - def initialize(options = {}) - @client_id = options[:client_id] || nil - @secret_key = options[:secret_key] || nil - @redirect_uri = options[:redirect_uri] || nil - @scope = options[:scope] || nil - @access_token = options[:access_token] || nil + connection.response :dates + connection.response :json, content_type: /\bjson$/, parser_options: { symbolize_names: true } + end.freeze - @adapter = get_adapter(options[:adapter] || nil) + private_constant :DEFAULT_CONNECTION - @base_url = "https://api.twitch.tv/kraken" - @alt_base_url = "https://api.twitch.tv/api" - end + attr_reader :connection, :tokens - attr_reader :base_url, :redirect_url, :scope - attr_accessor :adapter + def initialize(options = {}) + @client_id = options[:client_id] - public + @oauth2_client = TwitchOAuth2::Client.new( + client_id: @client_id, + **options.slice(:client_secret, :redirect_uri, :scopes) + ) - def adapter=(adapter) - get_adapter(adapter) + @tokens = options.slice(:access_token, :refresh_token) + + @connection = options.fetch(:connection, DEFAULT_CONNECTION.dup) + connection.headers['Client-ID'] = @client_id + + renew_authorization_header if access_token end - def link - scope = "" - @scope.each { |s| scope += s + '+' } - "#{@base_url}/oauth2/authorize?response_type=code&client_id=#{@client_id}&redirect_uri=#{@redirect_uri}&scope=#{scope}" + %i[access_token refresh_token].each do |key| + define_method key do + tokens[key] + end end - def auth(code) - path = "/oauth2/token" - url = @base_url + path - post(url, { - :client_id => @client_id, - :client_secret => @secret_key, - :grant_type => "authorization_code", - :redirect_uri => @redirect_uri, - :code => code - }) + def check_tokens! + @tokens = @oauth2_client.check_tokens(**tokens) end # User - def user(user = nil) - return your_user unless user + def user(user_id = nil) + return your_user unless user_id - path = "/users/" - url = @base_url + path + user; - - get(url) + request :get, "users/#{user_id}" end def your_user - return false unless @access_token - - path = "/user?oauth_token=#{@access_token}" - url = @base_url + path + require_access_token do + request :get, 'user' + end + end - get(url) + def users(*logins) + request :get, 'users', login: logins.join(',') end # Teams def teams - path = "/teams/" - url = @base_url + path; - - get(url) + request :get, 'teams' end - def team(team_id) - path = "/teams/" - url = @base_url + path + team_id; - - get(url) + request :get, "teams/#{team_id}" end # Channel - def channel(channel = nil) - return your_channel unless channel - - path = "/channels/" - url = @base_url + path + channel; - - get(url) - end - - def channel_panels(channel = nil) - return nil if channel.nil? + def channel(channel_id = nil) + return your_channel unless channel_id - path = "/channels/#{channel}/panels" - url = @alt_base_url + path; - - get(url) + request :get, "channels/#{channel_id}" end def your_channel - return false unless @access_token - - path = "/channel?oauth_token=#{@access_token}" - url = @base_url + path; - - get(url) + require_access_token do + request :get, 'channel' + end end def editors(channel) - return false unless @access_token - - path = "/channels/#{channel}/editors?oauth_token=#{@access_token}" - url = @base_url + path; - - get(url) + require_access_token do + request :get, "channels/#{channel}/editors" + end end - # TODO: Add ability to set delay, which is only available for partered channels - def edit_channel(channel, status, game) - return false unless @access_token - - path = "/channels/#{channel}/?oauth_token=#{@access_token}" - url = @base_url + path - data = { - :channel =>{ - :game => game, - :status => status - } - } - put(url, data) + def update_channel(channel_id, options) + require_access_token do + request :put, "channels/#{channel_id}", channel: options + end end def reset_key(channel) - return false unless @access_token - - path = "/channels/#{channel}/stream_key?oauth_token=#{@access_token}" - url = @base_url + path - delete(url) + require_access_token do + request :delete, "channels/#{channel}/stream_key" + end end def follow_channel(username, channel) - return false unless @access_token - - path = "/users/#{username}/follows/channels/#{channel}?oauth_token=#{@access_token}" - url = @base_url + path - put(url) + require_access_token do + request :put, "users/#{username}/follows/channels/#{channel}" + end end def unfollow_channel(username, channel) - return false unless @access_token - - path = "/users/#{username}/follows/channels/#{channel}?oauth_token=#{@access_token}" - url = @base_url + path - delete(url) + require_access_token do + request :delete, "users/#{username}/follows/channels/#{channel}" + end end def run_commercial(channel, length = 30) - return false unless @access_token - - path = "/channels/#{channel}/commercial?oauth_token=#{@access_token}" - url = @base_url + path - post(url, { - :length => length - }) + require_access_token do + request :post, "channels/#{channel}/commercial", length: length + end end def channel_teams(channel) - return false unless @access_token - - path = "/channels/#{channel}/teams?oauth_token=#{@access_token}" - url = @base_url + path; - - get(url) + require_access_token do + request :get, "channels/#{channel}/teams" + end end # Streams - def stream(stream_name) - path = "/streams/#{stream_name}" - url = @base_url + path; - - get(url) + def stream(channel_id, options = {}) + request :get, "streams/#{channel_id}", options end def streams(options = {}) - query = build_query_string(options) - path = "/streams" - url = @base_url + path + query - - get(url) + request :get, 'streams', options end def featured_streams(options = {}) - query = build_query_string(options) - path = "/streams/featured" - url = @base_url + path + query - - get(url) + request :get, 'streams/featured', options end def summarized_streams(options = {}) - query = build_query_string(options) - path = "/streams/summary" - url = @base_url + path + query - - get(url) + request :get, 'streams/summary', options end def followed_streams(options = {}) - return false unless @access_token - - options[:oauth_token] = @access_token - query = build_query_string(options) - path = "/streams/followed" - url = @base_url + path + query - - get(url) + require_access_token do + request :get, 'streams/followed', options + end end - alias :your_followed_streams :followed_streams + alias your_followed_streams followed_streams - #Games + # Games def top_games(options = {}) - query = build_query_string(options) - path = "/games/top" - url = @base_url + path + query - - get(url) + request :get, 'games/top', options end - #Search + # Search def search_channels(options = {}) - query = build_query_string(options) - path = "/search/channels" - url = @base_url + path + query - - get(url) + request :get, 'search/channels', options end def search_streams(options = {}) - query = build_query_string(options) - path = "/search/streams" - url = @base_url + path + query - - get(url) + request :get, 'search/streams', options end def search_games(options = {}) - query = build_query_string(options) - path = "/search/games" - url = @base_url + path + query - - get(url) + request :get, 'search/games', options end # Videos def channel_videos(channel, options = {}) - query = build_query_string(options) - path = "/channels/#{channel}/videos" - url = @base_url + path + query - - get(url) + request :get, "channels/#{channel}/videos", options end def video(video_id) - path = "/videos/#{video_id}/" - url = @base_url + path - - get(url) + request :get, "videos/#{video_id}" end def subscribed?(username, channel, options = {}) - options[:oauth_token] = @access_token - query = build_query_string(options) - path = "/users/#{username}/subscriptions/#{channel}" - url = @base_url + path + query - - get(url) + request :get, "users/#{username}/subscriptions/#{channel}", options end - def followed_videos(options ={}) - return false unless @access_token - - options[:oauth_token] = @access_token - query = build_query_string(options) - path = "/videos/followed" - url = @base_url + path + query - - get(url) + def followed_videos(options = {}) + require_access_token do + request :get, 'videos/followed', options + end end - alias :your_followed_videos :followed_videos + alias your_followed_videos followed_videos def top_videos(options = {}) - query = build_query_string(options) - path = "/videos/top" - url = @base_url + path + query - - get(url) + request :get, 'videos/top', options end # Blocks def blocks(username, options = {}) - options[:oauth_token] = @access_token - query = build_query_string(options) - path = "/users/#{username}/blocks" - url = @base_url + path + query - - get(url) + request :get, "users/#{username}/blocks", options end def block_user(username, target) - return false unless @access_token - - path = "/users/#{username}/blocks/#{target}?oauth_token=#{@access_token}" - url = @base_url + path - put(url) + require_access_token do + request :put, "users/#{username}/blocks/#{target}" + end end def unblock_user(username, target) - return false unless @access_token - - path = "/users/#{username}/blocks/#{target}?oauth_token=#{@access_token}" - url = @base_url + path - delete(url) + require_access_token do + request :delete, "users/#{username}/blocks/#{target}" + end end # Chat - def chat_links(channel) - path = "/chat/" - url = @base_url + path + channel; - - get(url) + def badges(channel_id) + request :get, "chat/#{channel_id}/badges" end - def badges(channel) - path = "/chat/#{channel}/badges" - url = @base_url + path; - - get(url) - end - - def emoticons() - path = "/chat/emoticons" - url = @base_url + path; - - get(url) + def emoticons + request :get, 'chat/emoticons' do |request| + request.headers.delete 'Authorization' + end end # Follows - def following(channel, options = {}) - query = build_query_string(options) - path = "/channels/#{channel}/follows" - url = @base_url + path + query; - - get(url) + def following(channel_id, options = {}) + request :get, "channels/#{channel_id}/follows", options end - def followed(username, options = {}) - query = build_query_string(options) - path = "/users/#{username}/follows/channels" - url = @base_url + path + query - - get(url) + def followed(user_id, options = {}) + request :get, "users/#{user_id}/follows/channels", options end - def follow_status(username, channel) - path = "/users/#{username}/follows/channels/#{channel}/?oauth_token=#{@access_token}" - url = @base_url + path; - - get(url) + def follow_status(user_id, channel_id) + request :get, "users/#{user_id}/follows/channels/#{channel_id}" end # Ingests - def ingests() - path = "/ingests" - url = @base_url + path - - get(url) + def ingests + request :get, 'ingests' end # Root - def root() - path = "/?oauth_token=#{@access_token}" - url = @base_url + path - - get(url) + def root + request :get, '' end # Subscriptions def subscribed(channel, options = {}) - return false unless @access_token - options[:oauth_token] = @access_token + require_access_token do + request :get, "channels/#{channel}/subscriptions", options + end + end + + def subscribed_to_channel(username, channel) + require_access_token do + request :get, "channels/#{channel}/subscriptions/#{username}" + end + end - query = build_query_string(options) - path = "/channels/#{channel}/subscriptions" - url = @base_url + path + query + private - get(url) + def renew_authorization_header + connection.headers['Authorization'] = "OAuth #{access_token}" end - def subscribed_to_channel(username, channel) - return false unless @access_token + def request(http_method, *args) + Retriable.with_context(:twitch) do + response = connection.public_send http_method, *args + + raise ServerError.new(response.status) if response.status.between?(500, 599) + + response + end + end - path = "/channels/#{channel}/subscriptions/#{username}?oauth_token=#{@access_token}" - url = @base_url + path + def require_access_token + response = yield + if response.success? || + response.status != 401 || + ## Here can be another error, like "missing required oauth scope" + response.body[:message] != 'invalid oauth token' + return response + end - get(url) + @tokens = @oauth2_client.refreshed_tokens(refresh_token: refresh_token) + renew_authorization_header + yield end end end diff --git a/lib/twitch/request.rb b/lib/twitch/request.rb deleted file mode 100644 index 36b0e0d..0000000 --- a/lib/twitch/request.rb +++ /dev/null @@ -1,31 +0,0 @@ -module Twitch - module Request - def build_query_string(options) - query = "?" - options.each do |key, value| - query += "#{key}=#{value.to_s.gsub(" ", "+")}&" - end - query = query[0...-1] - end - - def get(url) - @adapter.get(url) - end - - def post(url, data) - @adapter.post(url, :body => data) - end - - def put(url, data={}) - @adapter.put(url, :body => data, :headers => { - 'Accept' => 'application/json', - 'Content-Type' => 'application/json', - 'Api-Version' => '2.2' - }) - end - - def delete(url) - @adapter.delete(url) - end - end -end diff --git a/lib/twitch/server_error.rb b/lib/twitch/server_error.rb new file mode 100644 index 0000000..c6a9b7a --- /dev/null +++ b/lib/twitch/server_error.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Twitch + class ServerError < StandardError + def initialize(status) + super "Server Error #{status}" + end + end +end diff --git a/lib/twitch/version.rb b/lib/twitch/version.rb index 82ca5a5..fa330c2 100644 --- a/lib/twitch/version.rb +++ b/lib/twitch/version.rb @@ -1,10 +1,5 @@ +# frozen_string_literal: true module Twitch - module VERSION - MAJOR = 0 - MINOR = 1 - TINY = 3 - - STRING = [MAJOR, MINOR, TINY].compact.join(".") - end + VERSION = '0.1.3' end diff --git a/pkg/twitch-0.0.1.gem b/pkg/twitch-0.0.1.gem deleted file mode 100644 index cc3786d..0000000 Binary files a/pkg/twitch-0.0.1.gem and /dev/null differ diff --git a/pkg/twitch-0.0.2.gem b/pkg/twitch-0.0.2.gem deleted file mode 100644 index d93cdab..0000000 Binary files a/pkg/twitch-0.0.2.gem and /dev/null differ diff --git a/spec/cassettes/badges.yml b/spec/cassettes/badges.yml new file mode 100644 index 0000000..c0a70cc --- /dev/null +++ b/spec/cassettes/badges.yml @@ -0,0 +1,58 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/chat/44322889/badges + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '1234' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:16 GMT + x-served-by: + - cache-sea4479-SEA, cache-hel6824-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091436.830481,VS0,VS0,VE201 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"global_mod":{"alpha":"https://static-cdn.jtvnw.net/chat-badges/globalmod-alpha.png","image":"https://static-cdn.jtvnw.net/chat-badges/globalmod.png","svg":"https://static-cdn.jtvnw.net/chat-badges/globalmod.svg"},"admin":{"alpha":"https://static-cdn.jtvnw.net/chat-badges/admin-alpha.png","image":"https://static-cdn.jtvnw.net/chat-badges/admin.png","svg":"https://static-cdn.jtvnw.net/chat-badges/admin.svg"},"broadcaster":{"alpha":"https://static-cdn.jtvnw.net/chat-badges/broadcaster-alpha.png","image":"https://static-cdn.jtvnw.net/chat-badges/broadcaster.png","svg":"https://static-cdn.jtvnw.net/chat-badges/broadcaster.svg"},"mod":{"alpha":"https://static-cdn.jtvnw.net/chat-badges/mod-alpha.png","image":"https://static-cdn.jtvnw.net/chat-badges/mod.png","svg":"https://static-cdn.jtvnw.net/chat-badges/mod.svg"},"staff":{"alpha":"https://static-cdn.jtvnw.net/chat-badges/staff-alpha.png","image":"https://static-cdn.jtvnw.net/chat-badges/staff.png","svg":"https://static-cdn.jtvnw.net/chat-badges/staff.svg"},"turbo":{"alpha":"https://static-cdn.jtvnw.net/chat-badges/turbo-alpha.png","image":"https://static-cdn.jtvnw.net/chat-badges/turbo.png","svg":"https://static-cdn.jtvnw.net/chat-badges/turbo.svg"},"subscriber":null}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:16 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/channel/with_argument.yml b/spec/cassettes/channel/with_argument.yml new file mode 100644 index 0000000..5773c92 --- /dev/null +++ b/spec/cassettes/channel/with_argument.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/channels/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:07 GMT + x-served-by: + - cache-sea4440-SEA, cache-hel6822-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091427.106923,VS0,VS0,VE210 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"mature":true,"status":"Slayin'' monsters in the new Dauntless patch!","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"dallas","game":"Dauntless","language":"en","_id":"44322889","name":"dallas","created_at":"2013-06-03T19:12:02Z","updated_at":"2020-04-05T12:30:46Z","partner":false,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/51737668f60f7dcc-channel_offline_image-1920x1080.png","profile_banner":null,"profile_banner_background_color":null,"url":"https://www.twitch.tv/dallas","views":30532,"followers":254,"broadcaster_type":"affiliate","description":"Friendly, + interactive, and very bald.","private_video":false,"privacy_options_enabled":false}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:07 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/channel/without_argument/with_actual_access_token.yml b/spec/cassettes/channel/without_argument/with_actual_access_token.yml new file mode 100644 index 0000000..a692181 --- /dev/null +++ b/spec/cassettes/channel/without_argument/with_actual_access_token.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/channel + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '770' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:07 GMT + x-served-by: + - cache-sea4478-SEA, cache-hel6830-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091427.438446,VS0,VS0,VE238 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"mature":false,"status":"Changing API","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamAssistantBot","game":"Diablo + III","language":"en","_id":"277558749","name":"streamassistantbot","created_at":"2018-11-23T20:32:14Z","updated_at":"2020-04-05T09:21:53Z","partner":false,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/cbde4ea7-7186-4128-866d-bba7c5c479c3-profile_image-300x300.png","video_banner":null,"profile_banner":null,"profile_banner_background_color":null,"url":"https://www.twitch.tv/streamassistantbot","views":0,"followers":0,"broadcaster_type":"","description":"","private_video":false,"privacy_options_enabled":false,"stream_key":"live_277558749_1TyAT3zTzSdHhoHZ0HQkiEgInRjVMo","email":"stream.assistant.bot@outlook.com"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:07 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/channel/without_argument/with_outdated_access_token/with_refresh_token.yml b/spec/cassettes/channel/without_argument/with_outdated_access_token/with_refresh_token.yml new file mode 100644 index 0000000..6b560ea --- /dev/null +++ b/spec/cassettes/channel/without_argument/with_outdated_access_token/with_refresh_token.yml @@ -0,0 +1,151 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/channel + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:07 GMT + x-served-by: + - cache-sea4483-SEA, cache-hel6825-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091428.800996,VS0,VS0,VE191 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:08 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token= + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 200 + message: OK + headers: + date: + - Sun, 05 Apr 2020 12:57:08 GMT + content-type: + - application/json + content-length: + - '301' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5a4-0bcd7ab01dd362e0935ca7c0 + body: + encoding: UTF-8 + string: '{"access_token":"","expires_in":13651,"refresh_token":"","scope":["bits:read","channel_commercial","channel_editor","channel_read","channel_stream","user:read:email","user_blocks_edit","user_read"],"token_type":"bearer"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:08 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/channel + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth kwnjwu2q2l89a7pcyzan6scxqlfwmc + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '770' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:09 GMT + x-served-by: + - cache-sea4483-SEA, cache-hel6821-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091429.069491,VS0,VS0,VE238 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"mature":false,"status":"Changing API","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamAssistantBot","game":"Diablo + III","language":"en","_id":"277558749","name":"streamassistantbot","created_at":"2018-11-23T20:32:14Z","updated_at":"2020-04-05T09:21:53Z","partner":false,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/cbde4ea7-7186-4128-866d-bba7c5c479c3-profile_image-300x300.png","video_banner":null,"profile_banner":null,"profile_banner_background_color":null,"url":"https://www.twitch.tv/streamassistantbot","views":0,"followers":0,"broadcaster_type":"","description":"","private_video":false,"privacy_options_enabled":false,"stream_key":"live_277558749_1TyAT3zTzSdHhoHZ0HQkiEgInRjVMo","email":"stream.assistant.bot@outlook.com"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:09 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/channel/without_argument/with_outdated_access_token/without_refresh_token.yml b/spec/cassettes/channel/without_argument/with_outdated_access_token/without_refresh_token.yml new file mode 100644 index 0000000..13902dc --- /dev/null +++ b/spec/cassettes/channel/without_argument/with_outdated_access_token/without_refresh_token.yml @@ -0,0 +1,95 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/channel + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:09 GMT + x-served-by: + - cache-sea4439-SEA, cache-hel6829-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091429.441838,VS0,VS0,VE193 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:09 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 400 + message: Bad Request + headers: + date: + - Sun, 05 Apr 2020 12:57:10 GMT + content-type: + - application/json + content-length: + - '49' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5a6-3f759ad476367f58ab1fa23c + body: + encoding: UTF-8 + string: '{"status":400,"message":"missing refresh token"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:10 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/featured_streams/with_limit.yml b/spec/cassettes/featured_streams/with_limit.yml new file mode 100644 index 0000000..f888055 --- /dev/null +++ b/spec/cassettes/featured_streams/with_limit.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/featured?limit=33 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:58:01 GMT + x-served-by: + - cache-sea4428-SEA, cache-hel6829-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091481.976397,VS0,VS0,VE299 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJmZWF0dXJlZCI6W3siaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvR2lhbnRTb2Z0V2FyZTIiLCJwcmlvcml0eSI6Nywic2NoZWR1bGVkIjp0cnVlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZVRoZSBzZWNvbmQgb25saW5lIHRvdXJuYW1lbnQgd2lsbCBnaXZlIHRoZSBxdWFsaWZ5aW5nIHRlYW1zIHRoZSBjaGFuY2UgdG8gc2NvcmUgdmFsdWFibGUgY2lyY3VpdCBwb2ludHMgb24gdGhlIHJvYWQgdG8gdGhlIHNlYXNvbiBmaW5hbGUgb2YgdGhlIEZhcm1pbmcgU2ltdWxhdG9yIExlYWd1ZS4gQ29tcGV0aW5nIGZvciBhIHByaWNlIHBvb2wgY29uc2lzdGluZyBvZiAxMi4wMDAgRXVyby5cdTAwM2MvcFx1MDAzZSIsInRpdGxlIjoiVUdDIC0gR2FtaW5nIiwic3RyZWFtIjp7Il9pZCI6MTA4ODM4MDg2NSwiZ2FtZSI6IkZhcm1pbmcgU2ltdWxhdG9yIDE5IiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo4NTg3LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjUwOjA3WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9naWFudHNzb2Z0d2FyZS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2lhbnRzc29mdHdhcmUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9naWFudHNzb2Z0d2FyZS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dpYW50c3NvZnR3YXJlLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRlNMIDJuZCBPbmxpbmUgVG91cm5hbWVudCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkdpYW50c1NvZnR3YXJlIiwiZ2FtZSI6IkZhcm1pbmcgU2ltdWxhdG9yIDE5IiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjMwNTA4MzkwLCJuYW1lIjoiZ2lhbnRzc29mdHdhcmUiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNi0xMVQxMTowNTo1MC45NjIzMjZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6NDAuMTA2NDYxWiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82ZGZmM2I5Yy02NTRlLTRjOTMtOWY3Mi1lMTMxOWNlYjkzZWQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZDI2Mjg1MDktNzNkYi00YTkzLTk2NGQtYjFmMDUyM2VjOWVlLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xZTliNDQxMi1mNGRhLTRhYzktYjU0ZC0xYTVkMDBhNjI0YTMtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZ2lhbnRzc29mdHdhcmUiLCJ2aWV3cyI6NzcwMDE1LCJmb2xsb3dlcnMiOjE2MDgxLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJHSUFOVFMgaXMgYW4gaW5kZXBlbmRlbnQgdmlkZW8gZ2FtZXMgYW5kIGludGVyYWN0aXZlIGVudGVydGFpbm1lbnQgZGV2ZWxvcGVyIGJhc2VkIGluIFN3aXR6ZXJsYW5kLiBXZSBjcmVhdGUgaW5ub3ZhdGl2ZSBwcm9kdWN0cyBpbiB0ZXJtcyBvZiBnYW1lcGxheSwgdGVjaG5vbG9neSBhbmQgY29udGVudC4gVmlzaXQgdGhlIG9mZmljaWFsIHdlYnNpdGU6IHd3dy5naWFudHMtc29mdHdhcmUuY29tUHJpdmFjeSBQb2xpY3k6IGh0dHBzOi8vZ2lhbnRzLXNvZnR3YXJlLmNvbS9wcml2YWN5UG9saWN5LnBocCIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9jbGVhciIsInByaW9yaXR5Ijo4LCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZU5CQSBpcyBub3cgbGl2ZSEgQ29tZSBoYW5nIG91dCBpbiBDaGF0Llx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6Ik5CQSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1Njg5MDcyLCJnYW1lIjoiU3BvcnRzIFx1MDAyNiBGaXRuZXNzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo5NzUsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjI5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NTk6MDZaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX25iYS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmJhLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmJhLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmJhLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiMjAwNCBXQ1NGIEdhbWUgNyB8IFNhY3JhbWVudG8gS2luZ3MgQCBNaW5uZXNvdGEgVGltYmVyd29sdmVzIHwgTWF5IDE5LCAyMDA0IHwgI05CQVRvZ2V0aGVyTGl2ZSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Ik5CQSIsImdhbWUiOiJTcG9ydHMgXHUwMDI2IEZpdG5lc3MiLCJsYW5ndWFnZSI6ImVuLWdiIiwiX2lkIjoxNTI5ODQ4MjEsIm5hbWUiOiJuYmEiLCJjcmVhdGVkX2F0IjoiMjAxNy0wNC0xMFQyMDo1NDozNi4yMjEzNjJaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6NDguNzI1NTA3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E1ZjRjMjZjLTQzM2MtNDU5Zi04ZjJiLTY2ZDBmYjZlNzAwYS1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lNWY0MmE3OC00NDI4LTQ3Y2QtOWJmNi01Y2RlMjNkNTIyNmEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbmJhLXByb2ZpbGVfYmFubmVyLWMwY2MwM2VkYTZlNjM0MmMtNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L25iYSIsInZpZXdzIjoxODczMDQxOCwiZm9sbG93ZXJzIjoxNDUzNzQsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJUaGUgb2ZmaWNpYWwgVHdpdGNoIGNoYW5uZWwgb2YgdGhlIE5CQSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9zYWNyaWVsX25ld18yMDE4IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZVNhY3JpZWwgaXMgdGhlIHByZW1pZXIgc3RyYXRlZ2ljIGNvbWJhdCBhbmQgc3Vydml2YWwgc3BlY2lhbGlzdCBvbiBUd2l0Y2gsIHByb3ZpZGluZyBlZHVjYXRpb25hbCBhbmFseXNpcyBzZWFzb25lZCB3aXRoIGRyeSBCcml0aXNoIGh1bW91ci4gU3RhcnRlZCBpbiAyMDEyLCB0aGlzIGNoYW5uZWwgZmVhdHVyZXMgdG9wLXRpZXIgZ2l2ZWF3YXlzLCBub24tc3RvcCB0YWN0aWNhbCBhY3Rpb24sIGFuZCBhIG1hdHVyZSBjb21tdW5pdHkgc2VsZi1uYW1lZCDigJhUaGUgNDJuZOKAmSFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJTYWNyaWVsIiwic3RyZWFtIjp7Il9pZCI6MTA4ODE2NzA1NywiZ2FtZSI6IkVzY2FwZSBGcm9tIFRhcmtvdiIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NjgwMCwidmlkZW9faGVpZ2h0Ijo5MzYsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjEzOjQ2WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zYWNyaWVsLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zYWNyaWVsLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc2FjcmllbC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NhY3JpZWwte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJMRURYK0dBTUUgR0lWRUFXQVlTIC0gRURVQ0FUSU9OQUwgU1RSRUFNIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiU2FjcmllbCIsImdhbWUiOiJFc2NhcGUgRnJvbSBUYXJrb3YiLCJsYW5ndWFnZSI6ImVuLWdiIiwiX2lkIjoyMzczNTU4MiwibmFtZSI6InNhY3JpZWwiLCJjcmVhdGVkX2F0IjoiMjAxMS0wNy0yOVQxOToxNzozMi41OTMyMzhaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6NTYuMDY5OTc0WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzdmNGU2MDJlLWQ4MGItNGE0NC04YjljLWU5ZGE4ZTI1YjI4Ni1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iNDM2ZDg3Yi05NmFjLTQzMzYtOWM0YS1lZGNhMGJlYjc5NzYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2JhOTljMDMtNzJjMS00MTIxLTg2NWUtNmQ5Yjc5OWMwMWJkLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3NhY3JpZWwiLCJ2aWV3cyI6MTAwNzU0NTI3LCJmb2xsb3dlcnMiOjY1NzQ3MywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlNpbmNlIDIwMTIsIFNhY3JpZWwgaXMgdGhlIGdvLXRvIGZvciBpbnRlcmFjdGl2ZSBhbmQgZWR1Y2F0aW9uYWwgY29udGVudC4gV2l0aCBhIGZvY3VzIG9uIGNvbWJhdCBzdHJhdGVneSBhbmQgQnJpdGlzaCBodW1vciwgU2FjcmllbCBob3N0cyBvbmUgb2YgdGhlIG1vc3Qgd2VsbC1rbm93biBhbmQgcmVzcGVjdGVkIGNvbW11bml0aWVzIG9uIFR3aXRjaCwgY2FsbGVkIFRoZSA0Mm5kLiBJZiB5b3UgbGlrZSB3aGF0IHlvdSBzZWUgdGhlbiBoaXQgZm9sbG93IGFuZCBiZWNvbWUgcGFydCBvZiB0aGUgY29tbXVuaXR5ISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9QZXN0aWx5IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZU5vIGZlYXIgYWdncmVzc2l2ZSBwZXdzISBOZXZlciBCdWxseVx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IlBlc3RpbHkiLCJzdHJlYW0iOnsiX2lkIjoxMDg5NDk1NzkzLCJnYW1lIjoiRXNjYXBlIEZyb20gVGFya292IiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo1ODA0LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjA2OjM0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9wZXN0aWx5LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9wZXN0aWx5LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcGVzdGlseS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Blc3RpbHkte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJEcm9wcGluZyBpdGVtcyBvbiB0aGUgZ3JvdW5kIGZvciB5b3VyIGVuam95bWVudCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlBlc3RpbHkiLCJnYW1lIjoiRXNjYXBlIEZyb20gVGFya292IiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTA2MDEzNzQyLCJuYW1lIjoicGVzdGlseSIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTAzVDA4OjM0OjQ3LjY3NDMxNVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyOTozNy45NTQ4NjJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZDg1NmUwYjItODgxYS00YjQ0LTk0NjItYTUyNTFlMGViZDczLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzc3NWMyNzU3LTNkYWUtNGQxMC1hNTk3LTk1YjdkOTFjYjZkOC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xNGYzYzdlMy1mZjdjLTRkZGMtODNlMS04YWM5ZDViYTg3OTItcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcGVzdGlseSIsInZpZXdzIjoxNzAxMzQ1MCwiZm9sbG93ZXJzIjo1MjkzMjgsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiI0LCA4LCAxNSwgMTYsIDIzIGFuZCA0MiAiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvam9yZHl4MyIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VUcnVzdCBGdW5kIGtpZCB0dXJuZWQgQ2FycGVudGVyIHR1cm5lZCBmdWxsIHRpbWUgc3RyZWFtZXIuXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiam9yZHl4MyIsInN0cmVhbSI6eyJfaWQiOjM3Mzk0NTczMTM2LCJnYW1lIjoiQ2FsbCBvZiBEdXR5OiBNb2Rlcm4gV2FyZmFyZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6OTYsInZpZGVvX2hlaWdodCI6OTAwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzo0MDoxNVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfam9yZHl4My04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfam9yZHl4My0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pvcmR5eDMtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qb3JkeXgzLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTlovQVUgLSBBTEVSVFMgRklYRUQ/IC0gREFZIDUvMzAgLSAhY29kc3RhdHMgIW5ld3ZpZCAhc29jaWFscyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkpvcmR5eDMiLCJnYW1lIjoiQ2FsbCBvZiBEdXR5OiBNb2Rlcm4gV2FyZmFyZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjExNDIwNjczMywibmFtZSI6ImpvcmR5eDMiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMS0yOVQxNTo1NDowMy4wNzU5NjdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6MjIuODQwMDgxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzg3NjkzMTdlLTBjZGYtNDU1OS04Mjg2LWYyNmYwMjU3M2MxOC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yMTVkZDQ1Ny1iN2NiLTQxZjMtYWNlMS0xNzA2OTYyYWExOTAtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNTRkZDQ1ZGEtYWQ1ZC00NjBlLWE1MzUtNWJiMmQ2NzEyNDQwLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2pvcmR5eDMiLCJ2aWV3cyI6MTQxNjYyMSwiZm9sbG93ZXJzIjo1MDkxNSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkpvcmR5eDMgcmFyZSBLaXdpIHN0cmVhbWVyIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2xpcXVpZHdpZmlfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlTGlxdWlkV2lGaSBTcGVlZHJ1bnNcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJMaXF1aWRXaUZpIiwic3RyZWFtIjp7Il9pZCI6MzczOTQ1MjE4NDAsImdhbWUiOiJUaGUgU2ltcHNvbnM6IEhpdCBcdTAwMjYgUnVuIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo3ODcsInZpZGVvX2hlaWdodCI6NzIwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzozMjoxMVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGlxdWlkd2lmaS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGlxdWlkd2lmaS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xpcXVpZHdpZmktNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9saXF1aWR3aWZpLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiU2ltcHNvbnM6IEhpdCBcdTAwMjYgUnVuIEFsbCBTdG9yeSBNaXNzaW9ucyBTcGVlZHJ1bnMiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJMaXF1aWRXaUZpIiwiZ2FtZSI6IlRoZSBTaW1wc29uczogSGl0IFx1MDAyNiBSdW4iLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjo0ODY2MDAyNywibmFtZSI6ImxpcXVpZHdpZmkiLCJjcmVhdGVkX2F0IjoiMjAxMy0wOS0wN1QwNDoyNzoyNS4zMTE2NjFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjk6MjUuOTc4NTM5WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2xpcXVpZHdpZmktcHJvZmlsZV9pbWFnZS1hYWQ2MjU1MjE1NmVmN2E0LTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMThjNWQzZjUtOGVhMC00MTg0LTk2NDctNWRiZTI5MDgzNmE5LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9saXF1aWR3aWZpLXByb2ZpbGVfYmFubmVyLWJjYzFmNDdhY2YzMzEwMmMtNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzA4MDgwOCIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9saXF1aWR3aWZpIiwidmlld3MiOjI4MTkzMzUsImZvbGxvd2VycyI6Mzg4MjYsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJTaW1wc29ucyBIaXQgXHUwMDI2IFJ1biBhbmQgU3BvbmdlYm9iIFNxdWFyZXBhbnRzIEJhdHRsZSBmb3IgQmlraW5pIEJvdHRvbSBTcGVlZHJ1bm5lciIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9yZXRyb2dhaWppbl9mcF8xOCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VKb2luIFJldHJvR2FpamluIGFzIGhlIGV4cGxvcmVzIGFuZCBnYW1lcyBpbiB0aGUgYmVhdXRpZnVsIGxhbmQgb2YgSmFwYW4hIEhlIGxvdmVzIGludGVyYWN0aW5nIHdpdGggaGlzIGluY3JlZGlibGUgY29tbXVuaXR5LCBzbyBjbGljayBoZXJlIHRvIGNvbWUgb24gaW4gYW5kIGdyYWIgeW91ciBvd24gbGl0dGxlIFNMSUNF4oCmIG9mIEphcGFuISFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJSZXRyb0dhaWppbiAtIFNsaWNlIG9mIEphcGFuISIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1MDY3MTA0LCJnYW1lIjoiUmVzaWRlbnQgRXZpbCAzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxMjkyLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjE4OjU0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yZXRyb2dhaWppbi04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmV0cm9nYWlqaW4tMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yZXRyb2dhaWppbi02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JldHJvZ2FpamluLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiUkVTSURFTlQgRVZJTCAzIFsgQmxpbmQgLSBIQVJEQ09SRSBdIHwgIWRpc2NvcmQgIXNvY2lhbCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlJldHJvR2FpamluIiwiZ2FtZSI6IlJlc2lkZW50IEV2aWwgMyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjcwNzk1NTM0LCJuYW1lIjoicmV0cm9nYWlqaW4iLCJjcmVhdGVkX2F0IjoiMjAxNC0wOS0wOFQwMzoyNjo0Mi4zMzA5MDZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzE6MTMuMDUwMzU3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNjMTFiOGUwLTBiOGUtNGYwNi1hNGFjLWI4OWE3ZGU1YTc0ZS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kMzk5MDg3NC1iMWFlLTRjMWMtYTg2Yy01NWMzODIwNjVjZmUtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZWE0MTI0MzViZGUwMzQ5Ni1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjZmJmYmZiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3JldHJvZ2FpamluIiwidmlld3MiOjExNDkwMzIwLCJmb2xsb3dlcnMiOjE3MjMyNywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlJldHJvR2FpamluIGlzIGEgdmFyaWV0eSBicm9hZGNhc3RlciBsaXZpbmcgaW4gdGhlIGJlYXV0aWZ1bCBsYW5kIG9mIEphcGFuISBMaXZlIGZpdmUgbmlnaHRzIGEgd2VlayBNb24gLSBGcmkgYXJvdW5kIDZwbSBKUFQuICBDb21lIG9uIGluLCBhbmQgc3RheSBIWVBVISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9taWRiZWFzdCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VMZWFndWUgb2YgTGVnZW5kcyBFc3BvcnQgQXRobGV0ZS4gQXVzc2llIFN0cmVhbWVyXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoibWlkYmVhc3QiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTEzOTQ3MiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyNzI2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjM2OjE5WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9taWRiZWFzdC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWlkYmVhc3QtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9taWRiZWFzdC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pZGJlYXN0LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiUkFOSyAxIEtPUkVBTiBNQVNURVIgUFJPTU8gUExBWUVSIEdSSU5ESU5HIFNPIEhBUkQgSSBOZXcgWmVkICF2aWRlbyBvdXQgbm93ISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Im1pZGJlYXN0IiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6OTIxMTM4OTAsIm5hbWUiOiJtaWRiZWFzdCIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI4VDEzOjQyOjE5LjI2NDk3N1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyNzo1NS44OTM5NjhaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDdhMzliOTYtMzlkNC00MjZkLWI1OGMtMDZhMzJjZjFjMzJlLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNkZGNhZjc1MTMwNWFlZmUtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDIwZDZhZTItYWM5NC00ZjUyLWE5MDMtMzk3YzllZTNmMTk3LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21pZGJlYXN0Iiwidmlld3MiOjEyNDcwODgxLCJmb2xsb3dlcnMiOjI3MjU3NSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkF1c3RyYWxpYW4gcGVyZmVjdGlvbiwgbGVhZ3VlIG9mIGxlZ2VuZHMgZm9ybWVyIHByb2Zlc3Npb25hbCwgY3VycmVudCB3YXNoZWQgdXAgc3RyZWFtZXIgdHVybmVkIGRvcGEgd2FubmFibGUgdHVybmVkIHphYyBlZnJvbiBsb29rYWxpa2UgdHVybmVkIG1hbGQuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2pvdmlhbl9mcCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VKb2luIHVzIGZvciBzb21lIGdvb2QgdmliZXMgOikpXG7ilJcoLVx1MDAzY2VtXHUwMDNlLSAp4pST4pSXKC1cdTAwM2MvZW1cdTAwM2UtKeKUm+KUjyggLVx1MDAzY2VtXHUwMDNlLSnilJvilI8oLVx1MDAzYy9lbVx1MDAzZS0p4pSTXG5PLW9vb29vb29vb28gQUFBQUUtQS1BLUktQS1VLSBKTy1vb29vb29vb29vb28gQUFFLU8tQS1BLVUtVS1BLSBFLWVlZS1lZS1lZWUgQUFBQUUtQS1FLUktRS1BLSBKTy1vb28tb28tb28tb28gRUVFRU8tQS1BQUEtQUFBQVxu4pSXKC1cdTAwM2NlbVx1MDAzZS0gKeKUk+KUlygtXHUwMDNjL2VtXHUwMDNlLSnilJvilI8oIC1cdTAwM2NlbVx1MDAzZS0p4pSb4pSPKC1cdTAwM2MvZW1cdTAwM2UtKeKUk1x1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IkpPVklBTiIsInN0cmVhbSI6eyJfaWQiOjM3MzkwNzg1MDg4LCJnYW1lIjoiR3JhbmQgVGhlZnQgQXV0byBWIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo5NywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMjoxMjoxN1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfam92aWFuLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qb3ZpYW4tMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qb3ZpYW4tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qb3ZpYW4te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJCaWxseSBcIkJFU1QuRFJJVkVSLlwiIFdpbGxpYW1zIFx1MDAzYyBOb1BpeGVsIFx1MDAzZSBHVEEgViBSUCBvbiBUaGUgQmlydGhkYXkgQ2hhbm5lbCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkpPVklBTiIsImdhbWUiOiJHcmFuZCBUaGVmdCBBdXRvIFYiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjozMTY3Mzg2MiwibmFtZSI6ImpvdmlhbiIsImNyZWF0ZWRfYXQiOiIyMDEyLTA2LTI3VDE1OjQzOjU2LjU1ODY0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMwOjQ4LjE2ODIwOVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84MzM2Yzk1Mi0wODA4LTRiZTItOTE5Mi1lMjU5MGE3MTMzNTEtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTZjMTMwZTgtNzA4Yi00ZmQ2LWEzMTgtMjY3NWRhNWEzOTFmLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2UxODlhMjMzLWYyMjYtNGIzZC1hNWM2LWI2ZDZiZGZkZGFiMC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvam92aWFuIiwidmlld3MiOjM4NTQwNzEsImZvbGxvd2VycyI6NzU1MzAsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJoaSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9hbGNhc3RocV9mcCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VFTFNXRVlSIENIQVBURVIgcHJlcGFyYXRpb24gZm9yIHRoZSBFbGRlciBTY3JvbGxzIE9ubGluZSBNTU8hXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiYWxjYXN0aHEiLCJzdHJlYW0iOnsiX2lkIjoxMDg5MjY3NDg5LCJnYW1lIjoiVGhlIEVsZGVyIFNjcm9sbHMgT25saW5lIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo3OTY2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjozMCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDExOjQ0OjIzWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hbGNhc3RocS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYWxjYXN0aHEtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hbGNhc3RocS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2FsY2FzdGhxLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiIWdyaW5kICFiZWdpbm5lciDwn5S0RFJPUFPwn5S08J+UpURPVUJMRSBFWFAgRVZFTlTwn5SldmV0IFN1bnNwaXJlIFJhaWQgLS0tLS0gRVNPIEJVSUxEUzogYWxjYXN0aHEuY29tIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQWxjYXN0SFEiLCJnYW1lIjoiVGhlIEVsZGVyIFNjcm9sbHMgT25saW5lIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTI4MzM1NDAwLCJuYW1lIjoiYWxjYXN0aHEiLCJjcmVhdGVkX2F0IjoiMjAxNi0wNy0wMlQxMjo0MjozNS4zMTY0MTJaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6NDkuOTQyMzE0WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2MwODg5NDBiLWEwYWYtNGJmMi1hOWRjLTkwODdkZDg5ZDgwZC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZjMyMGQwNy1mYWFkLTRjNjctOGVhOC0wNjJjMjljYjYxNTEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzllMDNhODg2LTFmZmQtNDAwZS05NmY4LTFmZDFhN2YwOTA5Zi1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYWxjYXN0aHEiLCJ2aWV3cyI6NTA3MTQ3MTMsImZvbGxvd2VycyI6NzE3MTcsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIZXkgSSBhbSBBbGNhc3QsIGNoZWNrIG91dCBteSBiaW8gaGVyZSBodHRwczovL2FsY2FzdGhxLmNvbS9hYm91dC1tZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9EYWtvdGF6X2ZwX2FwcmlsMjAxOCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VKb2luIERha290YXogYXMgaGUgY3J1aXNlcyBhcm91bmQgdGhlIGlzbGFuZCBvZiBGb3J0bml0ZSwgc25pcGluZyBldmVyeSBlbmVteSBpbiBoaXMgcGF0aCEgV2UgaGF2ZSBhIHZlcnkgY2hpbGwgYW5kIHBvc2l0aXZlIGF0bW9zcGhlcmUgaW4gdGhpcyBjb21tdW5pdHkuIEV2ZXJ5b25lIGlzIHdlbGNvbWUhXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiQWR2ZW50dXJlcyBvZiBEYWtvdGF6IFx1MDAyNiBGb3J0bml0ZSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1NzU3NjY0LCJnYW1lIjoiRm9ydG5pdGUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjQyMDYsInZpZGVvX2hlaWdodCI6OTAwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoxNTozM1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGFrb3Rhei04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGFrb3Rhei0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2Rha290YXotNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kYWtvdGF6LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRmxvcmlkYSBNYW4gaW4gUmFuZG9tIFNxdWFkcyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImRha290YXoiLCJnYW1lIjoiRm9ydG5pdGUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjozOTI5ODIxOCwibmFtZSI6ImRha290YXoiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xM1QwNzowMzoxMC44NjkyODFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MzQuNzk0NzE1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY4YWUyZjRiLTJjYjQtNDNlNi1hMzRkLTA2ZTdiOGQyZmFjNy1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82YTc4MjY0MS1lOGUxLTQ4M2ItODg4Zi01NTRhNTIyMTQ3Y2QtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTkyN2JkYzA2NzIzMTI3OC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9kYWtvdGF6Iiwidmlld3MiOjExMzAwOTk0NCwiZm9sbG93ZXJzIjo0MjgzMDcxLCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiZ29vZCB0aW1lcyB0byBiZSBoYWQgaGVyZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9zY3J1YmluZ19mcF8xOCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VIZXJl4oCZcyBTY3J1YmluZ+KAmXMgc3RyZWFtIHRoZSBob21lIG9mIGEgYnVuY2ggb2YgYWRvcmFibGUgY2F0IGVtb3RlcyBhbmQgZnVuIHRpbWVzISBGZWVsIGZyZWUgdG8gc2F5IGFuZCBoYW5nIG91dCBpbiB0aGUgY2hhdCBhcyB3ZSBleHBsb3JlIGEgYnVuY2ggb2YgcmFuZG9tIGdhbWVzIGhlcmUgb24gdHdpdGNoLnR2ISBcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJTY3J1YmluZydzIFZhcmlldHkgU3RyZWFtISIsInN0cmVhbSI6eyJfaWQiOjM3Mzk0MTI3MDU2LCJnYW1lIjoiQVNNUiIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjU5LCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjMwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDY6MzY6NDdaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NjcnViaW5nLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zY3J1YmluZy0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NjcnViaW5nLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc2NydWJpbmcte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJbQVNNUl0gUmVsYXhpbmcgVHlwaW5nIFNvdW5kcyB0byBSZWxheCB0byAtICF5dCAvICFrZXlib2FyZCAvIENlbGVicmF0aW9uIFN0cmVhbSB0b21vcnJvdyA6RCAoTk8gQ0hBVC9BTEVSVFMpIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiU2NydWJpbmciLCJnYW1lIjoiQVNNUiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjMyMDczNjQ3LCJuYW1lIjoic2NydWJpbmciLCJjcmVhdGVkX2F0IjoiMjAxMi0wNy0xMlQxNTozODoxNi4yNTk4MjdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTc6MTcuMTE4NTc0WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzkzNDYwZmM4LWNkYTAtNDUzMC05MzYwLTQwY2VjODBmZTliNS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9zY3J1YmluZy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMjNkMmJkN2FjOGMzYWJjOS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2RhNTA1MjExLWQ2NTgtNDRiMy1iZWExLTVlNzY2YWI3MjhiMS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9zY3J1YmluZyIsInZpZXdzIjoyNDc2NDg3LCJmb2xsb3dlcnMiOjY3NDQ3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSGkhIFdlbGNvbWUgdG8gbXkgc3RyZWFtISBJIGxvdmUgY2F0cyA6RCIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9zdGVlbG1hZ2UiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlUGF0aCBvZiBFeGlsZSBUd2l0Y2ggU3RyZWFtZXJcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJzdGVlbG1hZ2UiLCJzdHJlYW0iOnsiX2lkIjozNzM5MzQzNjExMiwiZ2FtZSI6IlBhdGggb2YgRXhpbGUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI2MzcsInZpZGVvX2hlaWdodCI6ODY0LCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNToyMjoxOFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc3RlZWxtYWdlLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zdGVlbG1hZ2UtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zdGVlbG1hZ2UtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zdGVlbG1hZ2Ute3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJcdTAwM2NNZXRob2RcdTAwM2UgU1NGSEMgLSBUaGUgc3RhcnQgb2YgdGhlIHVuZXRoaWNhbCBhZHZlbnR1cmVzIDpeKSAhYnVpbGQgIXVuZGlzcHV0ZWQgIXJpcCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlN0ZWVsbWFnZSIsImdhbWUiOiJQYXRoIG9mIEV4aWxlIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6NTczMTcxNTQsIm5hbWUiOiJzdGVlbG1hZ2UiLCJjcmVhdGVkX2F0IjoiMjAxNC0wMi0yMVQwMjowMDowNy45MzMwNzVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6NDkuMDcwMzAxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzhhNWJhMDE5LWVhMGItNGI1Zi04ZDk3LTViOTFhMWY5MDhmYi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hOTJjMmEyZi03OGZlLTQzOWEtYmU1YS00MTAyOWRhY2JmMDgtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZWExZWIzNWYtNTBiZi00Zjk3LThmNWYtYTczYTE3YmYxZDQxLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzU0MDA5ZSIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9zdGVlbG1hZ2UiLCJ2aWV3cyI6NTk1ODA0NiwiZm9sbG93ZXJzIjo0NjU1NiwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlN0ZWVsbWFnZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy96aXphcmFuIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUkgc3RyZWFtIG1haW5seSBQYXRoIG9mIEV4aWxlIGJ1dCBJ4oCZdmUgYWxzbyBiZWVuIGV4cGxvcmluZyBhIGxvdCBvZiB2YXJpZXR5IGdhbWVzLCBJIHByZWZlciBoYXJkY29yZSBnYW1lcyB3aGVyZSB5b3UgbG9zZSBldmVyeXRoaW5nIHdoZXJlIHlvdSBkaWUuIEnigJltIHRoZSBtb3N0IGludGVyYWN0aXZlIGNoYW5uZWwgb24gdHdpdGNoIHNvIGNvbWUgc2F5IGhlbGxvIGFuZCBqb2luIG91ciBjb21tdW5pdHkhXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiWml6YXJhbiIsInN0cmVhbSI6eyJfaWQiOjEwODgyNTM0ODksImdhbWUiOiJQYXRoIG9mIEV4aWxlIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyMjU4LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjI4OjQ0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl96aXphcmFuLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl96aXphcmFuLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfeml6YXJhbi02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3ppemFyYW4te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJaaXogLSBbREhDXSBEZWxpcml1bSBhbmQgQ2hpbGwhICEzLjEwICFMTFZEICF2ZHVwZGF0ZSAhYW1hIFx1MDAzY01ldGhvZFx1MDAzZSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlppemFyYW4iLCJnYW1lIjoiUGF0aCBvZiBFeGlsZSIsImxhbmd1YWdlIjoiZW4tZ2IiLCJfaWQiOjM2NDgzMzYwLCJuYW1lIjoieml6YXJhbiIsImNyZWF0ZWRfYXQiOiIyMDEyLTA5LTI3VDEzOjI4OjU2LjY3MjQ2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMxOjA4LjIyNTk1NloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy96aXphcmFuLXByb2ZpbGVfaW1hZ2UtZDUzNGI5NzkxYzQ2OWE0OC0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNmQ0ZDExMzctZDM4MC00OGI4LWI2MjAtNjljZjdkMzIwYzJkLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzZkY2QyOWI2LTY5ZmUtNDVhNi04ZDQxLWQ1YTY4ZDE2ODExNy1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di96aXphcmFuIiwidmlld3MiOjQyMzE2ODQ5LCJmb2xsb3dlcnMiOjM1NTg3MSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlppemFyYW4gLSBTdHJlYW1pbmcgZXZlcnkgZGF5LCBjb21lIHNheSBoaSEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvdGZwYiIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VUb3dlbGxpZWUgd2lsbCBiZSBnb2luZyBvdmVyIGV2ZXJ5IGFzcGVjdCBvZiB0aGUgbmV3IGV4cGFuc2lvbiBmb3IgV29ybGQgb2YgV2FyY3JhZnQhIFRha2UgQXJtcyFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJUb3dlbGxpZWUiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTM3MjIyNCwiZ2FtZSI6IldvcmxkIG9mIFdhcmNyYWZ0IiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyNTI2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEwOjM2OjAyWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90b3dlbGxpZWUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Rvd2VsbGllZS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Rvd2VsbGllZS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Rvd2VsbGllZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkRhdGFtaW5pbmcgV2FpdGluZyBSb29tIHwgTGVnZW5kIG9mIEZvcmxvY28gQ09OVElOVUVTISB8IFJFMyBMYXRlciBBTSEgfCAhU1RPUkUgRmlyZSBTYWxlISAgfCBUd2l0dGVyIEB0b3dlbHRoZXRhbmsiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJUb3dlbGxpZWUiLCJnYW1lIjoiV29ybGQgb2YgV2FyY3JhZnQiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoyMDY5NDYxMCwibmFtZSI6InRvd2VsbGllZSIsImNyZWF0ZWRfYXQiOiIyMDExLTAyLTI0VDAxOjM4OjQzLjQwMjI4OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozMDo0Ni4wOTk5ODhaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdG93ZWxsaWVlLXByb2ZpbGVfaW1hZ2UtZjk3NTJhZmM0NDE3MDJjYy0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzJiZmQwMGFkLWYwMGUtNDRmNS1hYmY3LWU5ZTQzZDVmYzlmZC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZDNmOTNmY2UtYzRjNi00ZjMzLTk2MzYtMDY1YTEyYjc2MTY1LXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvdG93ZWxsaWVlIiwidmlld3MiOjE0MzYyMzA3MywiZm9sbG93ZXJzIjo2OTYyMDgsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJXZWxjb21lIHRvIFRvd2VsbGllZSBHYW1pbmchICBBIE5PIEJTIG1hdHVyZSBjaGFubmVsIHdoZXJlIHRoZSBndWQgdHltZXMgYW5kIGtvbnZvcyBmbG93ISAgQ3VycmVudGx5IHBsYXlpbmcgQmF0dGxlIGZvciBBemVyb3RoIFdvcmxkIG9mIFdhcmNyYWZ0LiAgRW5qb3kgdGhlIGNvbW11bml0eSEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMva3Vyb19rZW5fZnBfMTgiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlS3Vyb19LZW4sIGEgdmFyaWV0eSBzdHJlYW1lciBpbiBKYXBhbiwgaXMgYSBsb3ZlciBvZiBzdG9yeS1iYXNlZCBnYW1lcywgSlJQR3MgYW5kIGNoYXQgaW50ZXJhY3Rpb24hIEhhdmUgYW55IHF1ZXN0aW9ucyBhYm91dCBKYXBhbj8gVGhlbiwgZ2V0IGNvbWZ5IGFuZCBjb21lIGpvaW4gS3VybyBJbmMuICFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJLdXJvX0tlbiIsInN0cmVhbSI6eyJfaWQiOjM3Mzk0MzA4OTEyLCJnYW1lIjoiUGVyc29uYSA1OiBUaGUgUm95YWwiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjM2MywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzowMTowMloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vyb19rZW4tODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2t1cm9fa2VuLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vyb19rZW4tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9rdXJvX2tlbi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlRoaXJkIEFyYyEgLSBJJ00gTk9UIEFERElDVEVEIHwgTG9uZyBTdHJlYW0hICB8IE5vIGJhY2tzZWF0L2hpbnRzIHBseiEgfCBSZWFkeSBmb3IgRkY3UiEgfCAhZGlzY29yZCB8IEZvbGxvdyBvbiBUd2l0dGVyIGF0IEBrdXJvX2tlbl9jaGFuIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiS3Vyb19LZW4iLCJnYW1lIjoiUGVyc29uYSA1OiBUaGUgUm95YWwiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxMTQ0MjM1NTUsIm5hbWUiOiJrdXJvX2tlbiIsImNyZWF0ZWRfYXQiOiIyMDE2LTAxLTMxVDE0OjEyOjU3LjgxMTkwNFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NTo1OS4wNjQ2NzZaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzk0YzVlMGYtNWExOS00MTVmLWI4OTEtMjk3MGY1MmMxODU0LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzgxODhiZDJjZmM0NTMyOWEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZDkwZjhmMzAtNDVlMS00YTllLTkzMzctMjJhMzliNDdkZGE3LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2t1cm9fa2VuIiwidmlld3MiOjE1MTkyODcsImZvbGxvd2VycyI6MTI1MTIsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJQbGF5aW5nIGdhbWVzIGZyb20gSmFwYW4gYW5kIGNoaWxsaW4uIFN0YXkgSG90ISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9vbmVhY3R1YWxfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlV2VsY29tZSB0byBUaGUgQWN0dWFsIEdhbWVyIENvbW11bml0eSEgQWJzb2x1dGUgVG9wIFRpZXIgQ29udGVudCBldmVyeSA0YW0tMTJwbSBQU1QgRXZlcnkgRGF5ISBIb3cgYWJvdXQgeW91IGRyb3AgaW4sIGpvaW4gdXAsIGFuZCBzZWUgZm9yIHlvdXJzZWxmISBAT25lQWN0dWFsIG9uIFR3aXR0ZXIhXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiT25lQWN0dWFsIiwic3RyZWFtIjp7Il9pZCI6MzczOTU4MDkxMjAsImdhbWUiOiJEZXN0aW55IDIiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjEwMSwidmlkZW9faGVpZ2h0Ijo3MjAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI4OjM5WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9vbmVhY3R1YWwtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29uZWFjdHVhbC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29uZWFjdHVhbC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29uZWFjdHVhbC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IipORVcqIEVNT1RFUyEgLy8gRkxBV0xFU1MgVFJJQUxTIEhFTFAgLy8gUFZQIHRvIHRoZSBNQVghIC8vIEBPbmVBY3R1YWwiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJPbmVBY3R1YWwiLCJnYW1lIjoiRGVzdGlueSAyIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6OTYzMzI2NTksIm5hbWUiOiJvbmVhY3R1YWwiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNlQyMjoyMjozOS43NDA4MDVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MzguMjgyOTY3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzlhYjEyMGEzLThhZDEtNGQ2Zi1hMDkzLWU4NzBjZGU2MTlkMC1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvb25lYWN0dWFsLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS00NTFlOGE0ZWM3YjQ2ODc1LTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvb25lYWN0dWFsLXByb2ZpbGVfYmFubmVyLTI2NmVmYmExZjNhMzQzOWEtNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvb25lYWN0dWFsIiwidmlld3MiOjE3ODU5NTksImZvbGxvd2VycyI6NjI0MDMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJXZWxjb21lIHRvIGEgc3RyZWFtIGRlZGljYXRlZCB0byBjb21wZXRpdGl2ZSwgaGlnaCBjYWxpYmVyIGdhbWVwbGF5LCBhbmQgUkVTUEVDVCBBTFdBWVMuIEkgcHJvbW90ZSBhIHBvc2l0aXZlIGNvbW11bml0eSBvZiBHYW1lcnMgZnJvbSBhbGwgd2Fsa3Mgb2YgbGlmZSBhbmQgYmVsaWVmcyBpbnRvIG9uZSBib2R5IGFuZCBzb3VsIGFzIEFjdHVhbHMuIENvbWUgbGF1Z2gsIGhhdmUgZnVuLCBhbmQgYmUgYXBhcnQgb2Ygc29tZXRoaW5nIG1vcmUgdGhlbiBqdXN0IGFub3RoZXIgc3RyZWFtLiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9jZG50aGUzcmRfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlQSBNdWx0aS1HZW5yZSBDb21tdW5pdHkgdGhhdCBsaWtlcyB0byBnbyBJTiBvbiBkaWZmZXJlbnQgZ2FtZXMgZnJvbSB0aW1lIHRvIHRpbWUuIFRoYXQgYW5kIHdlIGRvIG91ciBiZXN0IHRvIGZvY3VzIG9uIHRoZSBPbndhcmQgYW5kIFVwd2FyZCBWaWJyYXRpb25zIG9mIHRoZSBDb21tdW5pdHkg4oCcVGhlIFZpZXdhZ2XigJ0gdGhhdCB3ZeKAmXZlIGJlZW4gYnVpbGRpbmcgZm9yIHRoZSBwYXN0IDcgeWVhcnMhIFsrXVx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IkNETlRoZTNSRCIsInN0cmVhbSI6eyJfaWQiOjM3MzkzNDExNzc2LCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjUyOTMsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6MjA6MDBaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2NkbnRoZTNyZC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY2RudGhlM3JkLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY2RudGhlM3JkLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY2RudGhlM3JkLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiKlZhbG9yYW50IEJldGEgQWNjZXNzKiBEcm9wcyBFbmFibGVkIG9uIFRoZSA3dGggfCBMZWFybmluZyBDU0dPIHwgVkFMT1JBTlQgUVx1MDAyNkEgfCBbK10gfCBTb2NpYWxzOiBDRE5UaGUzcmQiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJDRE5UaGUzcmQiLCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxNDQwODg5NCwibmFtZSI6ImNkbnRoZTNyZCIsImNyZWF0ZWRfYXQiOiIyMDEwLTA4LTA3VDAwOjQyOjAxLjQzMjI4MVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODo1OC44MzQ5NDJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvY2RudGhlM3JkLXByb2ZpbGVfaW1hZ2UtODI0NmViMTFmN2Y0YjIxNS0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2NkbnRoZTNyZC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtYmUwYTRmMjMzNjNhNjA4NC0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9jZG50aGUzcmQtcHJvZmlsZV9iYW5uZXItZjBhMDA1Zjk2NGMxY2Q5Yy00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjNjA2MTVmIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2NkbnRoZTNyZCIsInZpZXdzIjo0OTc2OTc5NSwiZm9sbG93ZXJzIjoxOTI4MjMwLCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiQ2VleiB8IE1ha2Ugc3VyZSB5b3UncmUgZm9sbG93aW5nIHRoZSBzdHJlYW0gc28geW91IGNhbiB0YWtlIHBhcnQgaW4gRnV0dXJlIFBoZW5vbWVuYWwtQm9uZGluZy1FeHBlcmllbmNlcyEgfCBZb3VUdWJlLmNvbS9DRE5UaGUzcmQgfCBUd2l0dGVyLmNvbS9DRE5UaGUzcmQgfCBbK10iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvd2ludGVyZ2FtaW5nX2ZwXzE5IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZVdOVFIgUmFkaW8gLSBMYXVnaCwgTGVhcm4gXHUwMDI2YW1wOyBDaGlsbFx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IldpbnRlcmdhbWluZyIsInN0cmVhbSI6eyJfaWQiOjM3Mzg4Njk2NTI4LCJnYW1lIjoiUGxhbmV0U2lkZSAyIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjozNzcsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDA6MDM6NDNaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3dpbnRlcmdhbWluZy04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfd2ludGVyZ2FtaW5nLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfd2ludGVyZ2FtaW5nLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfd2ludGVyZ2FtaW5nLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi8J+UtEJBVFRMRUNSVUlTRVIgT1BFUkFUSU9OQUzwn5S0W1dOVEddIE9VVEZJVCBPUFPwn5S0IW91dGZpdCBOZXcgcGxheWVycyAhc3RhcnRzYzIgIWd1aWRlcyAheW91dHViZeKdhO+4jyF0aGlzd2VlayBAc3RhcmNyYWZ0d2ludGVy4p2E77iPIXJlcnVuIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoid2ludGVyZ2FtaW5nIiwiZ2FtZSI6IlBsYW5ldFNpZGUgMiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjI1NzY2MDMyLCJuYW1lIjoid2ludGVyZ2FtaW5nIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTAtMjhUMDU6NTc6MDguMDI2ODg1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjQyLjcxNTUwOFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zNDA5YTQ0OC1kYjM2LTQ4OGQtYTZlZi00NjllMjQ4YTA5MjktcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDI0OWIxYjFjNDcwMjY5Yy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy93aW50ZXJnYW1pbmctcHJvZmlsZV9iYW5uZXItMGY1OGIxZDdjYzFkNTU3Zi00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di93aW50ZXJnYW1pbmciLCJ2aWV3cyI6Mjg5NDQwOTcsImZvbGxvd2VycyI6MjU0Nzk4LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiTGVhcm4gdG8gcGxheSwgbG92ZSBhbmQgbGl2ZSBTdGFyY3JhZnQgKGFuZCBhbHNvIG90aGVyIGluZmVyaW9yIGdhbWVzIHNvbWV0aW1lcykuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2JlcnRpY3VzcyIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VQYWludGluZyBTdHJlYW1zIGFuZCBnYW1pbmcuXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiQmVydGljdXNzIiwic3RyZWFtIjp7Il9pZCI6MzczOTUxOTk4MDgsImdhbWUiOiJDYWxsIG9mIER1dHk6IE1vZGVybiBXYXJmYXJlIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo4MTQsInZpZGVvX2hlaWdodCI6NzIwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTo1MTo1NFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYmVydGljdXNzLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9iZXJ0aWN1c3MtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9iZXJ0aWN1c3MtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9iZXJ0aWN1c3Mte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLwn5KA8J+Rv/CflqQgU3ViIGdhbWVzLCBoZWxwIG1lIGxlYXJuIPCfkoDwn5G/8J+WpCFOZXdWaWRlbyAhU3ViICFEb25hdGUgIVNvY2lhbHMgIURpc2NvcmQgICFTcG90aWZ5IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQmVydGljdXNzIiwiZ2FtZSI6IkNhbGwgb2YgRHV0eTogTW9kZXJuIFdhcmZhcmUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxNzk4OTY4MDIsIm5hbWUiOiJiZXJ0aWN1c3MiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQwODoxMjoyNi40NzA1NjZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6NDYuMDA4MTgxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E4NmJjMjZmLWE3NmMtNDA4Ni1iMTY4LTI5OWIxNzVkN2NlMy1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wNWY2OGMyMy0xNTRmLTQzZGEtOWRhNS01YzJmNmE5YTljODItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDU3YzBkZWEtODYyNi00ZjdkLTk3MzUtOGE2YWFhOThjYTJhLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9iZXJ0aWN1c3MiLCJ2aWV3cyI6Mjk2NTM1OCwiZm9sbG93ZXJzIjoxMjA1OTYsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJCbGFtaW5nIG15IGJhZCBnYW1lcGxheSBvbiBhbnl0aGluZyBvdGhlciB0aGFuIG15c2VsZiDwn4ya8J+MuCIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy90aWZmYWVfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlVGlmZmFlIGlzIGEgc3RyZWFtZXIgdW5kZXIgR2VuRyBwbGF5aW5nIGV2ZXJ5IGdhbWUgdG8gdGhlIGJlc3Qgb2YgaGVyIGFiaWxpdHkuIFdoZXRoZXIgaXTigJlzIEZvcnRuaXRlLCBMZWFndWUgb2YgTGVnZW5kcywgb3IgZXZlbiBnYW1lcyBsaWtlIE1hcmlvIEthcnQgOCwgc2hlIHN0cml2ZXMgdG8gcHJvdmlkZSB0b3AgdGllciBjb250ZW50IGluIGV2ZXJ5IGNhdGVnb3J5LiBTbyBqb2luIHVzIGluIGNoYXQgZm9yIGEgY2hpbGwgdGltZSBmaWxsZWQgd2l0aCBsYXVnaHRlciBhbmQgbWVtZXMhflx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IlRpZmZhZSIsInN0cmVhbSI6eyJfaWQiOjM3MzkyOTIzMTUyLCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjIxMCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNDozODoxM1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdGlmZmFlLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90aWZmYWUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90aWZmYWUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90aWZmYWUte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJ2YWxvcmFudCB3YWl0aW5nIHJvb20iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJUaWZmYWUiLCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoyODIwOTgzNywibmFtZSI6InRpZmZhZSIsImNyZWF0ZWRfYXQiOiIyMDEyLTAyLTE0VDA0OjI0OjQ2LjYwMzAyMVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NToyNS4wODYwNDdaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZWE4NWQxNWYtYTc5YS00MmJmLTljNjUtMTg4ZTc4YzBiMzgwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2VkZjRmY2M4LTA5MTctNDI1YS05OTM4LWI1NjI4NTQyMmRiMS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84NTkwOWFhZC0xNzc3LTQ0Y2MtYTI4Zi1lMDYxOTIyZTJkNTQtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvdGlmZmFlIiwidmlld3MiOjMwNDg4MjgsImZvbGxvd2VycyI6NjA3NjAsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIaSwgSSdtIFRpZmZhbmllIF5fX19fX14gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2NvaGhfZnBfMjAxOCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VOZWVkIGEgcGxhY2UgdG8gcmVsYXgsIGNoZWNrIG91dCB0aGUgbGF0ZXN0IGdhbWVzIGFuZCBoYW5nIHdpdGggc29tZSBncmVhdCBwZW9wbGU/IExvb2sgbm8gZnVydGhlciB0aGFuIENvaGhDYXJuYWdl4oCZcyBUd2l0Y2ggY29tbXVuaXR5ISBKb2luIHRoZSBDb2hoaWxpdGlvbiBhcyB3ZSB2ZW50dXJlIGZvcnRoIGludG8gdGhlIG5ld2VzdCBSUEdzLCBhY3Rpb24gXHUwMDI2YW1wOyBhZHZlbnR1cmUgZ2FtZXMhIFdpdGggYSBmb2N1cyBvbiBnb29kIHZpYmVzIGFuZCBwb3NpdGl2aXR5IGluIGEgcmVsYXRpdmVseSBTYWZlLUZvci1Xb3JrIGF0bW9zcGhlcmUsIG91ciBjb21tdW5pdHkgd291bGQgbG92ZSB0byBtZWV0IHlvdSEgRHJvcCBieSBhbmQgc2F5IGhlbGxvIVx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IkNvaGgncyBob3VzZSBvZiBnb29kIHZpYmVzISIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1NjYyNTEyLCJnYW1lIjoiTW91bnQgXHUwMDI2IEJsYWRlIElJOiBCYW5uZXJsb3JkIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxNDE0NSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMTo1MjoxMVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY29oaGNhcm5hZ2UtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2NvaGhjYXJuYWdlLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY29oaGNhcm5hZ2UtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9jb2hoY2FybmFnZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Ik1cdTAwMjZCIDIgYW5kIEVuZHpvbmUhIC0gU3BvbnNvcmVkIGJ5ICFHT0cgLSAyMCUgb2ZmIEVORFpPTkUgLVx1MDAzZSBDb2hoLnR2L0VuZHpvbmVEaXNjb3VudCAtIEZGVklJIFJlbWFrZSBGUklEQVkgYXQgOGFtIEVUISAtICFEaXNjb3JkIC0gIUNvcnNhaXIiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJDb2hoQ2FybmFnZSIsImdhbWUiOiJNb3VudCBcdTAwMjYgQmxhZGUgSUk6IEJhbm5lcmxvcmQiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoyNjYxMDIzNCwibmFtZSI6ImNvaGhjYXJuYWdlIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMDZUMTg6MjA6MzQuMDc1NDIzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjMwLjE4NTc3NVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lZDcyYjY0MS04M2VhLTRlZTYtODFmZC1hYTE5NTc1OWM1MTItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzZiMTVhZGEtOWRhOS00Yjk5LWIwZDItNzZkNzlmMThlM2Y4LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2NvaGhjYXJuYWdlLXByb2ZpbGVfYmFubmVyLWJjYjFiMWI4ZTYxOTQ3OTktNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvY29oaGNhcm5hZ2UiLCJ2aWV3cyI6MTUyNDI5NDU0LCJmb2xsb3dlcnMiOjEyMzAzMTIsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIZXlhIGd1eXMsIEknbSBDb2hoISBJJ20gYSBmdWxsIHRpbWUgVHdpdGNoLnR2IHN0cmVhbWVyICh0aGFua3MgdG8gYW4gYXdlc29tZSB3aWZleSBcdTAwMjYgYSBwaGVub21lbmFsIGNvbW11bml0eSEpLiBDb21lIGhhbmcgb3V0IHdpdGggdGhlIENvaGhpbGl0aW9uIGFzIHdlIGV4cGxvcmUgbmV3IGdhbWVzIGFuZCByYXplIHRoZSBjb3VudHJ5c2lkZSEgSGFwcHksIGhlbHBmdWwgYW5kIHJlc3BlY3RmdWwgcGVvcGxlIHdlbGNvbWUuIDpEIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL25pY2hvbGVuYV9mcF8xOCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VOaWNob2xlbmEgaXMgYSBtdWx0aS1zZXJ2ZXIgTGVnZW5kIEhlYXJ0aHN0b25lIHBsYXllci4gU2hlIGZvY3VzZXMgb24gaGlnaCBsZXZlbCBnYW1lcGxheSwgY2hhdCBpbnRlcmFjdGlvbiBhbmQgYSBjaGlsbCBhdG1vc3BoZXJlLiBDb21lIGhhbmcgb3V0IGFuZCB3YXRjaCBoZXIgY2xpbWIgdG8gaGlnaCByYW5rcyFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJGMksgTmljaG9sZW5hIC0gUmFua2luZyB1cCIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1MTQ5Nzc2LCJnYW1lIjoiSGVhcnRoc3RvbmUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI5MiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTozOTowMloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmljaG9sZW5hLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9uaWNob2xlbmEtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9uaWNob2xlbmEtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9uaWNob2xlbmEte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLwn5S0IEJHIFx1MDAyNiBjaGlsbCB+IGhpZ2ggbW1yIGdhbWVzICFtZXJjaCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Im5pY2hvbGVuYSIsImdhbWUiOiJIZWFydGhzdG9uZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjQ4OTE0Njc1LCJuYW1lIjoibmljaG9sZW5hIiwiY3JlYXRlZF9hdCI6IjIwMTMtMDktMTNUMDM6Mjk6MjIuNTgzMzQ4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMwOjI0LjEzMTY1NVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82MjJmNGYwMi02OTMxLTQwZmQtOTIxYy1mMzJmYjljNzA0OTEtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvODk0OGMwYWItNzYzOS00ZDIxLTkzMTItZmQ1NzBlNzI4OTYxLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zNTEzY2E1YS1iY2UyLTQ1NzEtOWNkZC03NWU4MWFlY2FjMDUtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiI2ZmZmZmZiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9uaWNob2xlbmEiLCJ2aWV3cyI6MjU0Nzc1NiwiZm9sbG93ZXJzIjozNzQ0NSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6InBybyBIZWFydGhzdG9uZSBwbGF5ZXIuIGhhcyBtdWx0aXBsZSBjYXRzIGFuZCB0YXR0b29zLiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9saXZpYmVlX2ZwIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUxpdmliZWUsIFF1ZWVuIG9mIHRoZSBTd2FybVx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IkxpdmliZWUiLCJzdHJlYW0iOnsiX2lkIjozNzM5MzU4NjE5MiwiZ2FtZSI6IkFuaW1hbCBDcm9zc2luZzogTmV3IEhvcml6b25zIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyNTIsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6MzY6NDlaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xpdmliZWUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xpdmliZWUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9saXZpYmVlLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGl2aWJlZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkxpdmliZWUgfCBOZXcgU3RyZWFtIFNldHVwIDIwMjAgVmlkZW8hIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiTGl2aWJlZSIsImdhbWUiOiJBbmltYWwgQ3Jvc3Npbmc6IE5ldyBIb3Jpem9ucyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjIwMDkwOTQ4LCJuYW1lIjoibGl2aWJlZSIsImNyZWF0ZWRfYXQiOiIyMDExLTAyLTAzVDEzOjM2OjIzLjk5NDUwMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyNzozNS44MjI3M1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9saXZpYmVlLXByb2ZpbGVfaW1hZ2UtNzE2MWUwN2ZjOWY2ZDY2OC0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOWRhNGI5MTAtZGZiYy00YzUzLTk5ZTUtYjRiMjhjYWIyZDQwLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzAxNTkxYTIwLTFhZjMtNGJkZC1hNTJkLTg3MzExOTE5NDNjYi1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9saXZpYmVlIiwidmlld3MiOjc4MzgxNjUsImZvbGxvd2VycyI6MTA1NDg3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiRydkYXkgQmVlIEZyaWVuZHMhIFdlbGNvbWUgdG8gdGhlIEJlZUhpdmUuIEhlcmUgeW91IHdpbGwgY2F0Y2ggdGhlIEJlZSBidXp6aW5nIGFyb3VuZCBcdTAwMjYgcGxheWluZyBnYW1lcyEgU3RyZWFtaW5nIGZ1bGwgdGltZSBmb3IgNyB5cnMgd2l0aCBoZXIgZmF2b3VyaXRlIGdhbWUgU3RhcmNyYWZ0IElJLiBCZWUgbG92ZXMgdG8gcGxheSBnYW1lcyB3aXRoIG15IGNvbW11bml0eSBhcyB3ZWxsLCBzbyBwbGVhc2UgZmVlbCB3ZWxjb21lIHRvIGpvaW4hIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2dlbmVyYWxtaXR0ZW56X2ZwIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUEgbGl0dGxlIGFib3V0IE1pdHRlbno6IFx1MDAzYy9wXHUwMDNlXG5cdTAwM2NvbFx1MDAzZVxuXHUwMDNjbGlcdTAwM2VCYXRtYW4gdiBTdXBlcm1hbiBpcyBiZXR0ZXIgdGhhbiBhbnl0aGluZyBmcm9tIHRoZSBNQ1UuXG5cdTAwM2MvbGlcdTAwM2Vcblx1MDAzY2xpXHUwMDNlSG9yaXpvbiBaZXJvIERhd24gaXMgZXh0cmVtZWx5IG92ZXJyYXRlZC5cblx1MDAzYy9saVx1MDAzZVxuXHUwMDNjbGlcdTAwM2VQaW5lYXBwbGUgb24gcGl6emEuXG5EaXNhZ3JlZT8gV2UgaGF2ZSBhbiBlbW90ZSBmb3IgdGhhdC5cblx1MDAzYy9saVx1MDAzZVxuXHUwMDNjL29sXHUwMDNlXG4iLCJ0aXRsZSI6IkdlbmVyYWwgTWl0dGVueiBcdTAwMjYgdGhlIEtpdHRlbnogSFEiLCJzdHJlYW0iOnsiX2lkIjozNzM5NDAwNDY0MCwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjE0NSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNjoyMTozOFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWl0dGVuei04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWl0dGVuei0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pdHRlbnotNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9taXR0ZW56LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiSGFwcHkgNDIwIFdlZWtlbmQhIC0g8J+OgUdpdmVhd2F5c/CfjoEgfHwgITQyMCAhZWZ0NDIwIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiTWl0dGVueiIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6OTMzNjkxNTIsIm5hbWUiOiJtaXR0ZW56IiwiY3JlYXRlZF9hdCI6IjIwMTUtMDYtMTNUMDM6MDA6MTIuNTY4NzZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTc6MTIuMjcyNzY5WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzI1NzQyNjZiLTAwOTEtNGEyMy1hZDcwLTYzZDEyZDcxM2JmNC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xMTk2OTc1Mi03ZDU0LTQxNDktODA4ZS1hODA2MTkzOTBkMzktY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOGE1ZGViOWMtOTJjOS00ZmFjLWIzYjEtNzYyM2Q4MjRmYmQ4LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21pdHRlbnoiLCJ2aWV3cyI6NDAyNDYxMywiZm9sbG93ZXJzIjo0MDI0NSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IiBFc2NhcGUgRnJvbSBUYXJrb3YgfHwgRGFyayBGYW50YXN5IHx8IEZvbGxvdyBASXRzX01pdHRlbnoiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvcm9kY2RlZSIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VBdXNzaWUgaW4gSmFwYW4gZG9pbmcgSmFwYW4gc3R1ZmYgU3RyZWFtXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoicm9kY2RlZSIsInN0cmVhbSI6eyJfaWQiOjM3MzkzMzI4NjU2LCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6ODA4LCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjMwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6MTI6MTFaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JvYmNkZWUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JvYmNkZWUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yb2JjZGVlLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcm9iY2RlZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlRva3lvLCBKcG4gfCBKYXBhbmVzZSBqdW5rIGZvb2QgcmV2aWV3ICsgSW1wcmVzc2l2ZSBFbmdpbmVlcmluZyBza2lsbHMgfCBORVcgIVlUICFzb2NpYWxzIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoicm9iY2RlZSIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTY5MTg1NjUwLCJuYW1lIjoicm9iY2RlZSIsImNyZWF0ZWRfYXQiOiIyMDE3LTA4LTEwVDA2OjQ4OjQ2LjUwODk4M1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzoxMS4xNjczNjJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjdiOTBkZWUtYTVjMS00ZjA0LWFhYmEtNTJjYThmNjhmMjI0LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzZmYjFmNDkxZmI2ODBmYWItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzA1OTdlNTE5NTZhNTVmYTctcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcm9iY2RlZSIsInZpZXdzIjo4NDU4OTIsImZvbGxvd2VycyI6MjgwNzMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiI6XSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9qb3Nob2ciLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlSG9tZSBvZiB0aGUgRHVja3MsIEdvb2QgVmliZXMsIGFuZCB0aGUgbW9zdCBwb3NpdGl2ZSBjb21tdW5pdHkgb24gVHdpdGNoISBOb3Qgb25seSBpcyBKb3NoIGEgcG9zaXRpdmUgZHVkZSwgYnV0IGhl4oCZcyBhbHNvIHByZXR0eSBkYXJuIGdvb2QgYXQgdmlkZW8gZ2FtZXMhIENvbWUgam9pbiBKb3NoIGFuZCBUaGUgRHVja3Mgbm93ISAjRHVja3NGbHlUb2dldGhlclx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6Ikdvb2QgVmliZXMgd2l0aCBKb3NoT0cgXHUwMDI2IFRoZSBEdWNrcyIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1OTAyNTkyLCJnYW1lIjoiQ2FsbCBvZiBEdXR5OiBNb2Rlcm4gV2FyZmFyZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NjI1LCJ2aWRlb19oZWlnaHQiOjkwMCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTI6MTBaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pvc2hvZy04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfam9zaG9nLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfam9zaG9nLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfam9zaG9nLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiR29vZCBNb3JuaW5nIDopIH5+IEJhY2stdG8tQmFjayAkMjBLIFdhcnpvbmUgV2VkbmVzZGF5IENIQU1QIH5+IDFzdCBQbGFjZSAkMTAwLDAwMCAxMDBUIFRvdXJuZXkgfn4gRm9sbG93IEBKb3NoT0cgb24gVHdpdHRlciIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Ikpvc2hPRyIsImdhbWUiOiJDYWxsIG9mIER1dHk6IE1vZGVybiBXYXJmYXJlIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6NTQ3MDY1NzQsIm5hbWUiOiJqb3Nob2ciLCJjcmVhdGVkX2F0IjoiMjAxNC0wMS0xMFQwMDoxMjo1OC45NDUxNjZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6MjAuMDMyMTU3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2FmNDBkM2MxLTBkZWUtNGFmNS1hNDMxLTQ2OGE2ZmM0MjgwZi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yMjNkMDEwNS1iOTFiLTQ4YTEtYTU1Yi1jNjI5ZmE2MjRhYjUtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOTc1NWZlNWYtYTIxMS00NTVkLWE2NGEtYTJjOGRiOTE5MWY0LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzA4MDMwOCIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9qb3Nob2ciLCJ2aWV3cyI6ODI3ODgxMzgsImZvbGxvd2VycyI6MTcwNDA5NiwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkhpIHRoZXJlISBDb21lIGpvaW4gdGhlIHN0cmVhbSBhbmQgbGl2ZSBjaGF0IHdpdGggbWUhIEkgYW0gYSBoYXJkY29yZSBzdHJlYW1lciB0aGF0IExPVkVTIGV2ZXJ5IHBhcnQgYWJvdXQgaXQhLiBHbyBjaGVjayBvdXQgbXkgc2NoZWR1bGUgdG8gc2VlIHdoZW4gSSBhbSBsaXZlISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9EZW1hbGF5IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUnigJltIERlbWFsYXkgYnV0IHlvdSBjYW4gY2FsbCBtZSBEZW0uIEnigJltIGEgZnVsbC10aW1lIHN0cmVhbWVyIHRoYXQgbWFpbnMgUm9ja2V0IExlYWd1ZSwgYnV0IHNvbWVob3cgSSBzdGlsbCBzdWNrLiBJIHN3ZWFyIGFuZCBzY3JlYW0gYSBsb3QsIHNvIHR1cm4gdGhlIHZvbHVtZSBkb3duLiBXZWxjb21lISA6RFx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IkRlbWFsYXkiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTIzOTQyNCwiZ2FtZSI6IlJvY2tldCBMZWFndWUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjkwLCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTA6MDE6MDhaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2RlbWFsYXktODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2RlbWFsYXktMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kZW1hbGF5LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGVtYWxheS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IltDMl0gR29pbmcgbW9yZSBpbnNhbmUgZXZlcnkgZGF5IPCfmLUgU29uZyByZXF1ZXN0cyEg8J+OtSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkRlbWFsYXkiLCJnYW1lIjoiUm9ja2V0IExlYWd1ZSIsImxhbmd1YWdlIjoiZW4tZ2IiLCJfaWQiOjk5OTgwMDY5LCJuYW1lIjoiZGVtYWxheSIsImNyZWF0ZWRfYXQiOiIyMDE1LTA4LTIwVDE5OjAyOjQ3LjgwNjMwN1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyOTowNy45NDM0MDJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzFhYTNkODEtMDNiZC00YjdkLWJmMTMtNWI5NGNkNDEwNmIzLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzBhYjliNDI5LTEzM2UtNGU2My1hOTg5LTJjNWY5NTYyMmU0NC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wZGY1NDEyZC1mZDExLTQ3NDAtODU5YS00MzdkZDVmNzJmNDktcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZGVtYWxheSIsInZpZXdzIjozODQ4NjksImZvbGxvd2VycyI6MTE5NDIsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvbG9zZXJmcnVpdF9mcF90aHVtYi5wbmciLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlQXVzdHJhbGlhbiBHYW1lciB3aG8gYXdrd2FyZGx5IHRyaWVkIHRvIG1ha2UgaGVyIHdheSB0aHJvdWdoIGxpZmUgd2l0aCB0aGUgaGVscCBvZiBnYW1lcyBhbmQgVHdpdGNoIGNoYXQuIEV4cGVjdCB0aGUgQ2hhbm5lbCB0byBiZSBmaWxsZWQgd2l0aCBzb2Z0bHkgc3Bva2VuIGJhbnRlciwgc3BvbnRhbmVvdXMgcmFnZSBhbmQgd2l0aCBhIGJ1bmNoIG9mIGluZXhwbGljYWJsZSBmYWlscy5cdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJMb3NlcmZydWl0Iiwic3RyZWFtIjp7Il9pZCI6MzczOTUwMjY3MjAsImdhbWUiOiJSZXNpZGVudCBFdmlsIDMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjEzNDgsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDk6MDk6NDRaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xvc2VyZnJ1aXQtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xvc2VyZnJ1aXQtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sb3NlcmZydWl0LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbG9zZXJmcnVpdC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Im11bHRpcGxheWVyIHJlc2lkZW50IGV2aWwgKHJlc2lzdGFuY2UpIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiTG9zZXJmcnVpdCIsImdhbWUiOiJSZXNpZGVudCBFdmlsIDMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjo0MTI0NTA3MiwibmFtZSI6Imxvc2VyZnJ1aXQiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMy0xMVQyMjowMTozNS43MzkxNzdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTc6MTIuMTU0ODVaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZmQxNzMyNWEtN2RjMi00NmM2LTg2MTctZTkwZWMyNTk1MDFjLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzZmYzNlYWM4MDhhZjE5MzItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNjMGRiMWY1LTNiZjEtNDY2OS04NjY3LTMyZWI2NGIxZjVjZi1wcm9maWxlX2Jhbm5lci00ODAuanBnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9sb3NlcmZydWl0Iiwidmlld3MiOjMwMzIxMzgxLCJmb2xsb3dlcnMiOjEyMTI5MDMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJcIkkgc2VlIHlvdSBiYWJ5LiBTaGFraW5nIHRoYXQgYXNzLiBTaGFraW5nIHRoYXQgYXNzLlwiIC0gVGhvbWFzIEplZmZlcnNvbiwgVGhlIERlY2xhcmF0aW9uIG9mIGluIG15IFBhbnRzIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2Jyb2RpZSIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VJ4oCZbSBnb2luZyB0byBsaXN0IGFsbCBvZiBteSBsaWZldGltZSBhY2NvbXBsaXNobWVudHMgaGVyZS5cbkhpZ2ggU2Nob29sIEhvdXNlIENhcHRhaW4gYmVjYXVzZSBJIHdhcyBhIHNwb3J0aW5nIHBoZW5vbS5cblBhcnQgb2YgYSBncmFkZSA2IGZvb3RiYWxsIHNpZGUgdGhhdCBmaW5pc2hlZCAzcmQgaW4gYSBzdGF0ZSB3aWRlIHRvdXJuYW1lbnQuIFdPV1xuT3ZlciA0NSBtYXRjaGVzIG9uIFRpbmRlciwgaW5jbHVkaW5nIGEgc3VwZXJsaWtlIGZyb20gYSBnaXJsIGNhbGxlZCBNaWtheWxhIGluIFdvbGxvbmdvbmcuXG4xMDAgc29sbyB3aW5zIG9uIEZvcnRuaXRlXG5Nb3JlIGNvbWluZy5cdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJicm9kaWUiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTIxMDY4OCwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjM2NCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTo1NDoyOVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYnJvZGllLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9icm9kaWUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9icm9kaWUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9icm9kaWUte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJDaHVyY2ggb24gU3VuZGF5ICF0ZWxsIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiYnJvZGllIiwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoyMTgzODgyNDAsIm5hbWUiOiJicm9kaWUiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0wNFQwMzo1OTowNS40NTE3MjVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NDA6MzUuMjAwMTc3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNmZDUyYjQxLWU3ZmQtNGUzZi04ODJjLWU3NGQxMDJhMTk3ZS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xNWM1OWI4YS1lNDgzLTRmNjYtODQ2Ny03NWIxMTE1MzJmZTktY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNWEzODMxZTktMmU1MS00Yjc0LWEwNDUtODMyNjQ4YzNhZGJkLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2Jyb2RpZSIsInZpZXdzIjo2MDcwMjAsImZvbGxvd2VycyI6MTk3MTQsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJKdXN0IGEgZHVkZSBpbiBmcm9udCBvZiBhIGNhbWVyYSwgaG9waW5nIHRoZSBjaGF0IGNhbiBjYXJyeSB0aGUgc3RyZWFtLiBicm9kaWVDQ1RWIG9uIFR3aXR0ZXIgYW5kIEluc3RhZ3JhbS4geW91dHViZS5jb20vYnJvZGllWVQiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvbXBhXzIwMjAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlRXRjS2lkIGhhcyBpbXByb3Zpc2VkIHRob3VzYW5kcyBvZiBzb25ncyBiYXNlZCBvbiBjb21tdW5pdHkgcmVxdWVzdHMuIEpvaW4gaW4gZm9yIHNvbWUgbGl2ZSwgaW50ZXJhY3RpdmUgbXVzaWMgcHJvZHVjdGlvbi5cdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJFdGNLaWQiLCJzdHJlYW0iOnsiX2lkIjozNzM5Mzk2NzE1MiwiZ2FtZSI6Ik11c2ljIFx1MDAyNiBQZXJmb3JtaW5nIEFydHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI3LCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjMwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDY6MTc6MjRaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2V0Y2tpZC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZXRja2lkLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZXRja2lkLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZXRja2lkLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiVk9EIC0gRXRjIEtpZCBSYWRpbyAtIFN0cmVhbWVyIEZyaWVuZGx5IC0gTmV4dCBsaXZlIHNob3cgVGh1IDYtMTBwIEVUIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiRXRjS2lkIiwiZ2FtZSI6Ik11c2ljIFx1MDAyNiBQZXJmb3JtaW5nIEFydHMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxMzIyNDU4MzcsIm5hbWUiOiJldGNraWQiLCJjcmVhdGVkX2F0IjoiMjAxNi0wOC0xNVQwNjoyNDoxMy45NDk5OFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODoxMi44OTk1NDFaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZXRja2lkLXByb2ZpbGVfaW1hZ2UtYzUyOTA2YjE1MWM5ZTg4NS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNjg3NmJkOWMtYTZmNS00YWIzLTlkZjItNGIxY2Q2ZTA5YmUxLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2V0Y2tpZC1wcm9maWxlX2Jhbm5lci0zZDdmYmU1ZDUzZTZkZGI0LTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2V0Y2tpZCIsInZpZXdzIjoxNDU2MjI3LCJmb2xsb3dlcnMiOjE1NDg5LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiVGhlIEV0Y2V0ZXJhIEtpZCBob3N0cyBhIGhpZ2hseS1pbnRlcmFjdGl2ZSBzaG93IHdoZXJlIHlvdXIgcmVxdWVzdHMgc2hhcGUgdGhlIG11c2ljIGFuZCB5b3UgZ2V0IHRvIG5hbWUgdGhlIHNvbmdzISBCZWZvcmUgZWFjaCBpbXByb3YsIHlvdSBjaG9vc2UgdGhlIHNvdW5kcywgdGhlIHNvbmcncyBzcGVlZCwgYW5kIGhhdmUgeW91ciB1c2VybmFtZSB0dXJuZWQgaW50byBkcnVtIGxvb3BzLiBUaGVuIFRoZSBLaWQgaW1wcm92aXNlcyBhIG5ldyBzb25nIGZyb20gc2NyYXRjaCB1c2luZyBrZXlib2FyZHMsIGhvcm5zLCBldGMuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL3NsdXNocHVwcHkiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlRXNjYXBlIGZyb20gVGFya292IFN0cmVhbWluZyB3aXRoIGEgYmVhcmRlZCBtYWdpY2lhbi5cdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJTbHVzaHB1cHB5Iiwic3RyZWFtIjp7Il9pZCI6MzczOTQzOTEyOTYsImdhbWUiOiJFc2NhcGUgRnJvbSBUYXJrb3YiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjkwMSwidmlkZW9faGVpZ2h0Ijo5MDAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA3OjEyOjQ0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zbHVzaHB1cHB5LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zbHVzaHB1cHB5LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc2x1c2hwdXBweS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NsdXNocHVwcHkte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJTdW5kYXkgVGFya3kgIXlvdXR1YmUgfCAhZnVja2JvdCB8ICFtdWx0aSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlNsdXNocHVwcHkiLCJnYW1lIjoiRXNjYXBlIEZyb20gVGFya292IiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTQ1MjMzOTczLCJuYW1lIjoic2x1c2hwdXBweSIsImNyZWF0ZWRfYXQiOiIyMDE3LTAxLTE5VDA1OjM4OjI5LjczOTE3MVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODoxNy45Mzk5OFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85OTkzZDNiMi00NGYyLTRmMzEtYWNkYi1lYzQzZGI1ZWE2NWQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNGQ3ZmQ0Y2RhNjlkZTM3YS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yNmYzNzI5My1kMThmLTRhZDUtOTllZC02NzAwOWE3NDdlOTgtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvc2x1c2hwdXBweSIsInZpZXdzIjo0MzcyNzI2LCJmb2xsb3dlcnMiOjY5Mjc3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSGkgSSdtIFNsdXNocHVwcHksIG15IHJlYWwgbmFtZSBpcyBTYW0uIEkgbGl2ZSBvbiBhIHRpbnkgaXNsYW5kIG9mZiBBdXN0cmFsaWEgY2FsbGVkIFRhc21hbmlhLiBJIGxvdmUgcGxheWluZyBnYW1lcyBhbmQgZ2V0dGluZyBwaXNzZWQuIEknbSBnb25uYSBzd2VhciBzaGl0IGxvYWRzIHNvIGdldCByZWFkeSBmb3IgdGhhdC4gSG9wZSB5b3UgZW5qb3kgdGhlIGNoYW5uZWwsIGRyb3AgaW50byB0aGUgY2hhdCBhbmQgaGl0IG1lIHVwIHRvIHRhbGsgc2hpdC4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvbGFyYTY2ODNfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlSSBwbGF5IGNoYXQgcmVxdWVzdHMgb2YgdmlkZW8gZ2FtZSBtdXNpYywgVFYgYW5kIGZpbG0gbXVzaWMsIGFuaW1lLCBhbmQgbW9yZSBvbiBwaWFubyEgU29tZXRpbWVzIEkgbGlrZSB0byBjb3NwbGF5IGFzIHdlbGwuXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoibGFyYTY2ODMiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTQ2MDg2NCwiZ2FtZSI6Ik11c2ljIFx1MDAyNiBQZXJmb3JtaW5nIEFydHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjEzOTQsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjMwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTA6NTk6MjlaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xhcmE2NjgzLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sYXJhNjY4My0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xhcmE2NjgzLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGFyYTY2ODMte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJUaGUgdXN1YWwiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJsYXJhNjY4MyIsImdhbWUiOiJNdXNpYyBcdTAwMjYgUGVyZm9ybWluZyBBcnRzIiwibGFuZ3VhZ2UiOiJlbi1nYiIsIl9pZCI6ODAzNTI4OTMsIm5hbWUiOiJsYXJhNjY4MyIsImNyZWF0ZWRfYXQiOiIyMDE1LTAxLTIwVDAxOjM5OjE5LjkyMTc2MVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NTo0OS4xMzg3NzdaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbGFyYTY2ODMtcHJvZmlsZV9pbWFnZS00YWE3ZTA4ZTcwYzcyOTI0LTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbGFyYTY2ODMtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLWI1NWQ0OGU0Njc2OGRlODEtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zZWM1YTNlMC03YjRmLTQzMWEtYmM3ZC02Y2M5MGEwOWFiM2QtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbGFyYTY2ODMiLCJ2aWV3cyI6NDkxMTkyNCwiZm9sbG93ZXJzIjoyMjA2OTcsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJWaWRlbyBnYW1lIG11c2ljIHBsYXllZCBvbiB0aGUgcGlhbm8gOikiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19XX0= + http_version: null + recorded_at: Sun, 05 Apr 2020 12:58:01 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/featured_streams/without_limit.yml b/spec/cassettes/featured_streams/without_limit.yml new file mode 100644 index 0000000..9c21ba1 --- /dev/null +++ b/spec/cassettes/featured_streams/without_limit.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/featured + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:58:00 GMT + x-served-by: + - cache-sea4467-SEA, cache-hel6834-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091481.545480,VS0,VS0,VE282 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJmZWF0dXJlZCI6W3siaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvR2lhbnRTb2Z0V2FyZTIiLCJwcmlvcml0eSI6Nywic2NoZWR1bGVkIjp0cnVlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZVRoZSBzZWNvbmQgb25saW5lIHRvdXJuYW1lbnQgd2lsbCBnaXZlIHRoZSBxdWFsaWZ5aW5nIHRlYW1zIHRoZSBjaGFuY2UgdG8gc2NvcmUgdmFsdWFibGUgY2lyY3VpdCBwb2ludHMgb24gdGhlIHJvYWQgdG8gdGhlIHNlYXNvbiBmaW5hbGUgb2YgdGhlIEZhcm1pbmcgU2ltdWxhdG9yIExlYWd1ZS4gQ29tcGV0aW5nIGZvciBhIHByaWNlIHBvb2wgY29uc2lzdGluZyBvZiAxMi4wMDAgRXVyby5cdTAwM2MvcFx1MDAzZSIsInRpdGxlIjoiVUdDIC0gR2FtaW5nIiwic3RyZWFtIjp7Il9pZCI6MTA4ODM4MDg2NSwiZ2FtZSI6IkZhcm1pbmcgU2ltdWxhdG9yIDE5IiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo4NTg3LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjUwOjA3WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9naWFudHNzb2Z0d2FyZS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2lhbnRzc29mdHdhcmUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9naWFudHNzb2Z0d2FyZS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dpYW50c3NvZnR3YXJlLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRlNMIDJuZCBPbmxpbmUgVG91cm5hbWVudCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkdpYW50c1NvZnR3YXJlIiwiZ2FtZSI6IkZhcm1pbmcgU2ltdWxhdG9yIDE5IiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjMwNTA4MzkwLCJuYW1lIjoiZ2lhbnRzc29mdHdhcmUiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNi0xMVQxMTowNTo1MC45NjIzMjZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6NDAuMTA2NDYxWiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82ZGZmM2I5Yy02NTRlLTRjOTMtOWY3Mi1lMTMxOWNlYjkzZWQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZDI2Mjg1MDktNzNkYi00YTkzLTk2NGQtYjFmMDUyM2VjOWVlLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xZTliNDQxMi1mNGRhLTRhYzktYjU0ZC0xYTVkMDBhNjI0YTMtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZ2lhbnRzc29mdHdhcmUiLCJ2aWV3cyI6NzcwMDE1LCJmb2xsb3dlcnMiOjE2MDgxLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJHSUFOVFMgaXMgYW4gaW5kZXBlbmRlbnQgdmlkZW8gZ2FtZXMgYW5kIGludGVyYWN0aXZlIGVudGVydGFpbm1lbnQgZGV2ZWxvcGVyIGJhc2VkIGluIFN3aXR6ZXJsYW5kLiBXZSBjcmVhdGUgaW5ub3ZhdGl2ZSBwcm9kdWN0cyBpbiB0ZXJtcyBvZiBnYW1lcGxheSwgdGVjaG5vbG9neSBhbmQgY29udGVudC4gVmlzaXQgdGhlIG9mZmljaWFsIHdlYnNpdGU6IHd3dy5naWFudHMtc29mdHdhcmUuY29tUHJpdmFjeSBQb2xpY3k6IGh0dHBzOi8vZ2lhbnRzLXNvZnR3YXJlLmNvbS9wcml2YWN5UG9saWN5LnBocCIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9jbGVhciIsInByaW9yaXR5Ijo4LCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZU5CQSBpcyBub3cgbGl2ZSEgQ29tZSBoYW5nIG91dCBpbiBDaGF0Llx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6Ik5CQSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1Njg5MDcyLCJnYW1lIjoiU3BvcnRzIFx1MDAyNiBGaXRuZXNzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo5NzUsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjI5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NTk6MDZaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX25iYS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmJhLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmJhLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbmJhLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiMjAwNCBXQ1NGIEdhbWUgNyB8IFNhY3JhbWVudG8gS2luZ3MgQCBNaW5uZXNvdGEgVGltYmVyd29sdmVzIHwgTWF5IDE5LCAyMDA0IHwgI05CQVRvZ2V0aGVyTGl2ZSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Ik5CQSIsImdhbWUiOiJTcG9ydHMgXHUwMDI2IEZpdG5lc3MiLCJsYW5ndWFnZSI6ImVuLWdiIiwiX2lkIjoxNTI5ODQ4MjEsIm5hbWUiOiJuYmEiLCJjcmVhdGVkX2F0IjoiMjAxNy0wNC0xMFQyMDo1NDozNi4yMjEzNjJaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6NDguNzI1NTA3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E1ZjRjMjZjLTQzM2MtNDU5Zi04ZjJiLTY2ZDBmYjZlNzAwYS1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lNWY0MmE3OC00NDI4LTQ3Y2QtOWJmNi01Y2RlMjNkNTIyNmEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbmJhLXByb2ZpbGVfYmFubmVyLWMwY2MwM2VkYTZlNjM0MmMtNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L25iYSIsInZpZXdzIjoxODczMDQxOCwiZm9sbG93ZXJzIjoxNDUzNzQsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJUaGUgb2ZmaWNpYWwgVHdpdGNoIGNoYW5uZWwgb2YgdGhlIE5CQSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy93aW50ZXJnYW1pbmdfZnBfMTkiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlV05UUiBSYWRpbyAtIExhdWdoLCBMZWFybiBcdTAwMjZhbXA7IENoaWxsXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiV2ludGVyZ2FtaW5nIiwic3RyZWFtIjp7Il9pZCI6MzczODg2OTY1MjgsImdhbWUiOiJQbGFuZXRTaWRlIDIiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjM3NywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMDowMzo0M1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfd2ludGVyZ2FtaW5nLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl93aW50ZXJnYW1pbmctMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl93aW50ZXJnYW1pbmctNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl93aW50ZXJnYW1pbmcte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLwn5S0QkFUVExFQ1JVSVNFUiBPUEVSQVRJT05BTPCflLRbV05UR10gT1VURklUIE9QU/CflLQhb3V0Zml0IE5ldyBwbGF5ZXJzICFzdGFydHNjMiAhZ3VpZGVzICF5b3V0dWJl4p2E77iPIXRoaXN3ZWVrIEBzdGFyY3JhZnR3aW50ZXLinYTvuI8hcmVydW4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJ3aW50ZXJnYW1pbmciLCJnYW1lIjoiUGxhbmV0U2lkZSAyIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjU3NjYwMzIsIm5hbWUiOiJ3aW50ZXJnYW1pbmciLCJjcmVhdGVkX2F0IjoiMjAxMS0xMC0yOFQwNTo1NzowOC4wMjY4ODVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6NDIuNzE1NTA4WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzM0MDlhNDQ4LWRiMzYtNDg4ZC1hNmVmLTQ2OWUyNDhhMDkyOS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80MjQ5YjFiMWM0NzAyNjljLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3dpbnRlcmdhbWluZy1wcm9maWxlX2Jhbm5lci0wZjU4YjFkN2NjMWQ1NTdmLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3dpbnRlcmdhbWluZyIsInZpZXdzIjoyODk0NDA5NywiZm9sbG93ZXJzIjoyNTQ3OTgsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJMZWFybiB0byBwbGF5LCBsb3ZlIGFuZCBsaXZlIFN0YXJjcmFmdCAoYW5kIGFsc28gb3RoZXIgaW5mZXJpb3IgZ2FtZXMgc29tZXRpbWVzKS4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvam9zaG9nIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUhvbWUgb2YgdGhlIER1Y2tzLCBHb29kIFZpYmVzLCBhbmQgdGhlIG1vc3QgcG9zaXRpdmUgY29tbXVuaXR5IG9uIFR3aXRjaCEgTm90IG9ubHkgaXMgSm9zaCBhIHBvc2l0aXZlIGR1ZGUsIGJ1dCBoZeKAmXMgYWxzbyBwcmV0dHkgZGFybiBnb29kIGF0IHZpZGVvIGdhbWVzISBDb21lIGpvaW4gSm9zaCBhbmQgVGhlIER1Y2tzIG5vdyEgI0R1Y2tzRmx5VG9nZXRoZXJcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJHb29kIFZpYmVzIHdpdGggSm9zaE9HIFx1MDAyNiBUaGUgRHVja3MiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTkwMjU5MiwiZ2FtZSI6IkNhbGwgb2YgRHV0eTogTW9kZXJuIFdhcmZhcmUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI2NSwidmlkZW9faGVpZ2h0Ijo5MDAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjUyOjEwWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qb3Nob2ctODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pvc2hvZy0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pvc2hvZy02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pvc2hvZy17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Ikdvb2QgTW9ybmluZyA6KSB+fiBCYWNrLXRvLUJhY2sgJDIwSyBXYXJ6b25lIFdlZG5lc2RheSBDSEFNUCB+fiAxc3QgUGxhY2UgJDEwMCwwMDAgMTAwVCBUb3VybmV5IH5+IEZvbGxvdyBASm9zaE9HIG9uIFR3aXR0ZXIiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJKb3NoT0ciLCJnYW1lIjoiQ2FsbCBvZiBEdXR5OiBNb2Rlcm4gV2FyZmFyZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjU0NzA2NTc0LCJuYW1lIjoiam9zaG9nIiwiY3JlYXRlZF9hdCI6IjIwMTQtMDEtMTBUMDA6MTI6NTguOTQ1MTY2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU1OjIwLjAzMjE1N1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hZjQwZDNjMS0wZGVlLTRhZjUtYTQzMS00NjhhNmZjNDI4MGYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjIzZDAxMDUtYjkxYi00OGExLWE1NWItYzYyOWZhNjI0YWI1LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzk3NTVmZTVmLWEyMTEtNDU1ZC1hNjRhLWEyYzhkYjkxOTFmNC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwODAzMDgiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvam9zaG9nIiwidmlld3MiOjgyNzg4MTM4LCJmb2xsb3dlcnMiOjE3MDQwOTYsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIaSB0aGVyZSEgQ29tZSBqb2luIHRoZSBzdHJlYW0gYW5kIGxpdmUgY2hhdCB3aXRoIG1lISBJIGFtIGEgaGFyZGNvcmUgc3RyZWFtZXIgdGhhdCBMT1ZFUyBldmVyeSBwYXJ0IGFib3V0IGl0IS4gR28gY2hlY2sgb3V0IG15IHNjaGVkdWxlIHRvIHNlZSB3aGVuIEkgYW0gbGl2ZSEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvbmljaG9sZW5hX2ZwXzE4IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZU5pY2hvbGVuYSBpcyBhIG11bHRpLXNlcnZlciBMZWdlbmQgSGVhcnRoc3RvbmUgcGxheWVyLiBTaGUgZm9jdXNlcyBvbiBoaWdoIGxldmVsIGdhbWVwbGF5LCBjaGF0IGludGVyYWN0aW9uIGFuZCBhIGNoaWxsIGF0bW9zcGhlcmUuIENvbWUgaGFuZyBvdXQgYW5kIHdhdGNoIGhlciBjbGltYiB0byBoaWdoIHJhbmtzIVx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6IkYySyBOaWNob2xlbmEgLSBSYW5raW5nIHVwIiwic3RyZWFtIjp7Il9pZCI6MzczOTUxNDk3NzYsImdhbWUiOiJIZWFydGhzdG9uZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjkyLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjM5OjAyWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9uaWNob2xlbmEtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX25pY2hvbGVuYS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX25pY2hvbGVuYS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX25pY2hvbGVuYS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IvCflLQgQkcgXHUwMDI2IGNoaWxsIH4gaGlnaCBtbXIgZ2FtZXMgIW1lcmNoIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoibmljaG9sZW5hIiwiZ2FtZSI6IkhlYXJ0aHN0b25lIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6NDg5MTQ2NzUsIm5hbWUiOiJuaWNob2xlbmEiLCJjcmVhdGVkX2F0IjoiMjAxMy0wOS0xM1QwMzoyOToyMi41ODMzNDhaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6MjQuMTMxNjU1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzYyMmY0ZjAyLTY5MzEtNDBmZC05MjFjLWYzMmZiOWM3MDQ5MS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84OTQ4YzBhYi03NjM5LTRkMjEtOTMxMi1mZDU3MGU3Mjg5NjEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzM1MTNjYTVhLWJjZTItNDU3MS05Y2RkLTc1ZTgxYWVjYWMwNS1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjZmZmZmZmIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L25pY2hvbGVuYSIsInZpZXdzIjoyNTQ3NzU2LCJmb2xsb3dlcnMiOjM3NDQ1LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoicHJvIEhlYXJ0aHN0b25lIHBsYXllci4gaGFzIG11bHRpcGxlIGNhdHMgYW5kIHRhdHRvb3MuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL3RmcGIiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlVG93ZWxsaWVlIHdpbGwgYmUgZ29pbmcgb3ZlciBldmVyeSBhc3BlY3Qgb2YgdGhlIG5ldyBleHBhbnNpb24gZm9yIFdvcmxkIG9mIFdhcmNyYWZ0ISBUYWtlIEFybXMhXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiVG93ZWxsaWVlIiwic3RyZWFtIjp7Il9pZCI6MzczOTUzNzIyMjQsImdhbWUiOiJXb3JsZCBvZiBXYXJjcmFmdCIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjUyNiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMDozNjowMloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdG93ZWxsaWVlLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90b3dlbGxpZWUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90b3dlbGxpZWUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90b3dlbGxpZWUte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJEYXRhbWluaW5nIFdhaXRpbmcgUm9vbSB8IExlZ2VuZCBvZiBGb3Jsb2NvIENPTlRJTlVFUyEgfCBSRTMgTGF0ZXIgQU0hIHwgIVNUT1JFIEZpcmUgU2FsZSEgIHwgVHdpdHRlciBAdG93ZWx0aGV0YW5rIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiVG93ZWxsaWVlIiwiZ2FtZSI6IldvcmxkIG9mIFdhcmNyYWZ0IiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjA2OTQ2MTAsIm5hbWUiOiJ0b3dlbGxpZWUiLCJjcmVhdGVkX2F0IjoiMjAxMS0wMi0yNFQwMTozODo0My40MDIyODlaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6NDYuMDk5OTg4WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3Rvd2VsbGllZS1wcm9maWxlX2ltYWdlLWY5NzUyYWZjNDQxNzAyY2MtMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yYmZkMDBhZC1mMDBlLTQ0ZjUtYWJmNy1lOWU0M2Q1ZmM5ZmQtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2QzZjkzZmNlLWM0YzYtNGYzMy05NjM2LTA2NWExMmI3NjE2NS1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjMDAwMDAwIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3Rvd2VsbGllZSIsInZpZXdzIjoxNDM2MjMwNzMsImZvbGxvd2VycyI6Njk2MjA4LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiV2VsY29tZSB0byBUb3dlbGxpZWUgR2FtaW5nISAgQSBOTyBCUyBtYXR1cmUgY2hhbm5lbCB3aGVyZSB0aGUgZ3VkIHR5bWVzIGFuZCBrb252b3MgZmxvdyEgIEN1cnJlbnRseSBwbGF5aW5nIEJhdHRsZSBmb3IgQXplcm90aCBXb3JsZCBvZiBXYXJjcmFmdC4gIEVuam95IHRoZSBjb21tdW5pdHkhIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2JlcnRpY3VzcyIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VQYWludGluZyBTdHJlYW1zIGFuZCBnYW1pbmcuXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiQmVydGljdXNzIiwic3RyZWFtIjp7Il9pZCI6MzczOTUxOTk4MDgsImdhbWUiOiJDYWxsIG9mIER1dHk6IE1vZGVybiBXYXJmYXJlIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo4MTQsInZpZGVvX2hlaWdodCI6NzIwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTo1MTo1NFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYmVydGljdXNzLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9iZXJ0aWN1c3MtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9iZXJ0aWN1c3MtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9iZXJ0aWN1c3Mte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLwn5KA8J+Rv/CflqQgU3ViIGdhbWVzLCBoZWxwIG1lIGxlYXJuIPCfkoDwn5G/8J+WpCFOZXdWaWRlbyAhU3ViICFEb25hdGUgIVNvY2lhbHMgIURpc2NvcmQgICFTcG90aWZ5IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQmVydGljdXNzIiwiZ2FtZSI6IkNhbGwgb2YgRHV0eTogTW9kZXJuIFdhcmZhcmUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxNzk4OTY4MDIsIm5hbWUiOiJiZXJ0aWN1c3MiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQwODoxMjoyNi40NzA1NjZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6NDYuMDA4MTgxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E4NmJjMjZmLWE3NmMtNDA4Ni1iMTY4LTI5OWIxNzVkN2NlMy1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wNWY2OGMyMy0xNTRmLTQzZGEtOWRhNS01YzJmNmE5YTljODItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDU3YzBkZWEtODYyNi00ZjdkLTk3MzUtOGE2YWFhOThjYTJhLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9iZXJ0aWN1c3MiLCJ2aWV3cyI6Mjk2NTM1OCwiZm9sbG93ZXJzIjoxMjA1OTYsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJCbGFtaW5nIG15IGJhZCBnYW1lcGxheSBvbiBhbnl0aGluZyBvdGhlciB0aGFuIG15c2VsZiDwn4ya8J+MuCIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9EYWtvdGF6X2ZwX2FwcmlsMjAxOCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VKb2luIERha290YXogYXMgaGUgY3J1aXNlcyBhcm91bmQgdGhlIGlzbGFuZCBvZiBGb3J0bml0ZSwgc25pcGluZyBldmVyeSBlbmVteSBpbiBoaXMgcGF0aCEgV2UgaGF2ZSBhIHZlcnkgY2hpbGwgYW5kIHBvc2l0aXZlIGF0bW9zcGhlcmUgaW4gdGhpcyBjb21tdW5pdHkuIEV2ZXJ5b25lIGlzIHdlbGNvbWUhXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiQWR2ZW50dXJlcyBvZiBEYWtvdGF6IFx1MDAyNiBGb3J0bml0ZSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1NzU3NjY0LCJnYW1lIjoiRm9ydG5pdGUiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjQyMDYsInZpZGVvX2hlaWdodCI6OTAwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoxNTozM1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGFrb3Rhei04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGFrb3Rhei0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2Rha290YXotNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kYWtvdGF6LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRmxvcmlkYSBNYW4gaW4gUmFuZG9tIFNxdWFkcyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImRha290YXoiLCJnYW1lIjoiRm9ydG5pdGUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjozOTI5ODIxOCwibmFtZSI6ImRha290YXoiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xM1QwNzowMzoxMC44NjkyODFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MzQuNzk0NzE1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY4YWUyZjRiLTJjYjQtNDNlNi1hMzRkLTA2ZTdiOGQyZmFjNy1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82YTc4MjY0MS1lOGUxLTQ4M2ItODg4Zi01NTRhNTIyMTQ3Y2QtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTkyN2JkYzA2NzIzMTI3OC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9kYWtvdGF6Iiwidmlld3MiOjExMzAwOTk0NCwiZm9sbG93ZXJzIjo0MjgzMDcxLCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiZ29vZCB0aW1lcyB0byBiZSBoYWQgaGVyZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9saXF1aWR3aWZpX2ZwIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUxpcXVpZFdpRmkgU3BlZWRydW5zXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiTGlxdWlkV2lGaSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk0NTIxODQwLCJnYW1lIjoiVGhlIFNpbXBzb25zOiBIaXQgXHUwMDI2IFJ1biIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6Nzg3LCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDc6MzI6MTFaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xpcXVpZHdpZmktODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xpcXVpZHdpZmktMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9saXF1aWR3aWZpLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGlxdWlkd2lmaS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlNpbXBzb25zOiBIaXQgXHUwMDI2IFJ1biBBbGwgU3RvcnkgTWlzc2lvbnMgU3BlZWRydW5zIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiTGlxdWlkV2lGaSIsImdhbWUiOiJUaGUgU2ltcHNvbnM6IEhpdCBcdTAwMjYgUnVuIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6NDg2NjAwMjcsIm5hbWUiOiJsaXF1aWR3aWZpIiwiY3JlYXRlZF9hdCI6IjIwMTMtMDktMDdUMDQ6Mjc6MjUuMzExNjYxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI5OjI1Ljk3ODUzOVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9saXF1aWR3aWZpLXByb2ZpbGVfaW1hZ2UtYWFkNjI1NTIxNTZlZjdhNC0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzE4YzVkM2Y1LThlYTAtNDE4NC05NjQ3LTVkYmUyOTA4MzZhOS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbGlxdWlkd2lmaS1wcm9maWxlX2Jhbm5lci1iY2MxZjQ3YWNmMzMxMDJjLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwODA4MDgiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbGlxdWlkd2lmaSIsInZpZXdzIjoyODE5MzM1LCJmb2xsb3dlcnMiOjM4ODI2LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiU2ltcHNvbnMgSGl0IFx1MDAyNiBSdW4gYW5kIFNwb25nZWJvYiBTcXVhcmVwYW50cyBCYXR0bGUgZm9yIEJpa2luaSBCb3R0b20gU3BlZWRydW5uZXIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvUGVzdGlseSIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VObyBmZWFyIGFnZ3Jlc3NpdmUgcGV3cyEgTmV2ZXIgQnVsbHlcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJQZXN0aWx5Iiwic3RyZWFtIjp7Il9pZCI6MTA4OTQ5NTc5MywiZ2FtZSI6IkVzY2FwZSBGcm9tIFRhcmtvdiIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NTgwNCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjowNjozNFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcGVzdGlseS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcGVzdGlseS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Blc3RpbHktNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9wZXN0aWx5LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRHJvcHBpbmcgaXRlbXMgb24gdGhlIGdyb3VuZCBmb3IgeW91ciBlbmpveW1lbnQiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJQZXN0aWx5IiwiZ2FtZSI6IkVzY2FwZSBGcm9tIFRhcmtvdiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjEwNjAxMzc0MiwibmFtZSI6InBlc3RpbHkiLCJjcmVhdGVkX2F0IjoiMjAxNS0xMS0wM1QwODozNDo0Ny42NzQzMTVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjk6MzcuOTU0ODYyWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Q4NTZlMGIyLTg4MWEtNGI0NC05NDYyLWE1MjUxZTBlYmQ3My1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83NzVjMjc1Ny0zZGFlLTRkMTAtYTU5Ny05NWI3ZDkxY2I2ZDgtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMTRmM2M3ZTMtZmY3Yy00ZGRjLTgzZTEtOGFjOWQ1YmE4NzkyLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3Blc3RpbHkiLCJ2aWV3cyI6MTcwMTM0NTAsImZvbGxvd2VycyI6NTI5MzI4LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiNCwgOCwgMTUsIDE2LCAyMyBhbmQgNDIgIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL21pZGJlYXN0IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUxlYWd1ZSBvZiBMZWdlbmRzIEVzcG9ydCBBdGhsZXRlLiBBdXNzaWUgU3RyZWFtZXJcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJtaWRiZWFzdCIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1MTM5NDcyLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI3MjYsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDk6MzY6MTlaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pZGJlYXN0LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9taWRiZWFzdC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pZGJlYXN0LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWlkYmVhc3Qte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJSQU5LIDEgS09SRUFOIE1BU1RFUiBQUk9NTyBQTEFZRVIgR1JJTkRJTkcgU08gSEFSRCBJIE5ldyBaZWQgIXZpZGVvIG91dCBub3chIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoibWlkYmVhc3QiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjo5MjExMzg5MCwibmFtZSI6Im1pZGJlYXN0IiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjhUMTM6NDI6MTkuMjY0OTc3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjU1Ljg5Mzk2OFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wN2EzOWI5Ni0zOWQ0LTQyNmQtYjU4Yy0wNmEzMmNmMWMzMmUtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2RkY2FmNzUxMzA1YWVmZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80MjBkNmFlMi1hYzk0LTRmNTItYTkwMy0zOTdjOWVlM2YxOTctcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbWlkYmVhc3QiLCJ2aWV3cyI6MTI0NzA4ODEsImZvbGxvd2VycyI6MjcyNTc1LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiQXVzdHJhbGlhbiBwZXJmZWN0aW9uLCBsZWFndWUgb2YgbGVnZW5kcyBmb3JtZXIgcHJvZmVzc2lvbmFsLCBjdXJyZW50IHdhc2hlZCB1cCBzdHJlYW1lciB0dXJuZWQgZG9wYSB3YW5uYWJsZSB0dXJuZWQgemFjIGVmcm9uIGxvb2thbGlrZSB0dXJuZWQgbWFsZC4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMva3Vyb19rZW5fZnBfMTgiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlS3Vyb19LZW4sIGEgdmFyaWV0eSBzdHJlYW1lciBpbiBKYXBhbiwgaXMgYSBsb3ZlciBvZiBzdG9yeS1iYXNlZCBnYW1lcywgSlJQR3MgYW5kIGNoYXQgaW50ZXJhY3Rpb24hIEhhdmUgYW55IHF1ZXN0aW9ucyBhYm91dCBKYXBhbj8gVGhlbiwgZ2V0IGNvbWZ5IGFuZCBjb21lIGpvaW4gS3VybyBJbmMuICFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJLdXJvX0tlbiIsInN0cmVhbSI6eyJfaWQiOjM3Mzk0MzA4OTEyLCJnYW1lIjoiUGVyc29uYSA1OiBUaGUgUm95YWwiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjM2MywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzowMTowMloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vyb19rZW4tODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2t1cm9fa2VuLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vyb19rZW4tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9rdXJvX2tlbi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlRoaXJkIEFyYyEgLSBJJ00gTk9UIEFERElDVEVEIHwgTG9uZyBTdHJlYW0hICB8IE5vIGJhY2tzZWF0L2hpbnRzIHBseiEgfCBSZWFkeSBmb3IgRkY3UiEgfCAhZGlzY29yZCB8IEZvbGxvdyBvbiBUd2l0dGVyIGF0IEBrdXJvX2tlbl9jaGFuIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiS3Vyb19LZW4iLCJnYW1lIjoiUGVyc29uYSA1OiBUaGUgUm95YWwiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxMTQ0MjM1NTUsIm5hbWUiOiJrdXJvX2tlbiIsImNyZWF0ZWRfYXQiOiIyMDE2LTAxLTMxVDE0OjEyOjU3LjgxMTkwNFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NTo1OS4wNjQ2NzZaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzk0YzVlMGYtNWExOS00MTVmLWI4OTEtMjk3MGY1MmMxODU0LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzgxODhiZDJjZmM0NTMyOWEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZDkwZjhmMzAtNDVlMS00YTllLTkzMzctMjJhMzliNDdkZGE3LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2t1cm9fa2VuIiwidmlld3MiOjE1MTkyODcsImZvbGxvd2VycyI6MTI1MTIsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJQbGF5aW5nIGdhbWVzIGZyb20gSmFwYW4gYW5kIGNoaWxsaW4uIFN0YXkgSG90ISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9icm9kaWUiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlSeKAmW0gZ29pbmcgdG8gbGlzdCBhbGwgb2YgbXkgbGlmZXRpbWUgYWNjb21wbGlzaG1lbnRzIGhlcmUuXG5IaWdoIFNjaG9vbCBIb3VzZSBDYXB0YWluIGJlY2F1c2UgSSB3YXMgYSBzcG9ydGluZyBwaGVub20uXG5QYXJ0IG9mIGEgZ3JhZGUgNiBmb290YmFsbCBzaWRlIHRoYXQgZmluaXNoZWQgM3JkIGluIGEgc3RhdGUgd2lkZSB0b3VybmFtZW50LiBXT1dcbk92ZXIgNDUgbWF0Y2hlcyBvbiBUaW5kZXIsIGluY2x1ZGluZyBhIHN1cGVybGlrZSBmcm9tIGEgZ2lybCBjYWxsZWQgTWlrYXlsYSBpbiBXb2xsb25nb25nLlxuMTAwIHNvbG8gd2lucyBvbiBGb3J0bml0ZVxuTW9yZSBjb21pbmcuXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiYnJvZGllIiwic3RyZWFtIjp7Il9pZCI6MzczOTUyMTA2ODgsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjozNjQsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDk6NTQ6MjlaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2Jyb2RpZS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYnJvZGllLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYnJvZGllLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYnJvZGllLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiQ2h1cmNoIG9uIFN1bmRheSAhdGVsbCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImJyb2RpZSIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjE4Mzg4MjQwLCJuYW1lIjoiYnJvZGllIiwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMDRUMDM6NTk6MDUuNDUxNzI1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjQwOjM1LjIwMDE3N1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zZmQ1MmI0MS1lN2ZkLTRlM2YtODgyYy1lNzRkMTAyYTE5N2UtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMTVjNTliOGEtZTQ4My00ZjY2LTg0NjctNzViMTExNTMyZmU5LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzVhMzgzMWU5LTJlNTEtNGI3NC1hMDQ1LTgzMjY0OGMzYWRiZC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9icm9kaWUiLCJ2aWV3cyI6NjA3MDIwLCJmb2xsb3dlcnMiOjE5NzE0LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSnVzdCBhIGR1ZGUgaW4gZnJvbnQgb2YgYSBjYW1lcmEsIGhvcGluZyB0aGUgY2hhdCBjYW4gY2FycnkgdGhlIHN0cmVhbS4gYnJvZGllQ0NUViBvbiBUd2l0dGVyIGFuZCBJbnN0YWdyYW0uIHlvdXR1YmUuY29tL2Jyb2RpZVlUIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL0RlbWFsYXkiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlSeKAmW0gRGVtYWxheSBidXQgeW91IGNhbiBjYWxsIG1lIERlbS4gSeKAmW0gYSBmdWxsLXRpbWUgc3RyZWFtZXIgdGhhdCBtYWlucyBSb2NrZXQgTGVhZ3VlLCBidXQgc29tZWhvdyBJIHN0aWxsIHN1Y2suIEkgc3dlYXIgYW5kIHNjcmVhbSBhIGxvdCwgc28gdHVybiB0aGUgdm9sdW1lIGRvd24uIFdlbGNvbWUhIDpEXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiRGVtYWxheSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk1MjM5NDI0LCJnYW1lIjoiUm9ja2V0IExlYWd1ZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6OTAsInZpZGVvX2hlaWdodCI6NzIwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMDowMTowOFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGVtYWxheS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGVtYWxheS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2RlbWFsYXktNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kZW1hbGF5LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiW0MyXSBHb2luZyBtb3JlIGluc2FuZSBldmVyeSBkYXkg8J+YtSBTb25nIHJlcXVlc3RzISDwn461IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiRGVtYWxheSIsImdhbWUiOiJSb2NrZXQgTGVhZ3VlIiwibGFuZ3VhZ2UiOiJlbi1nYiIsIl9pZCI6OTk5ODAwNjksIm5hbWUiOiJkZW1hbGF5IiwiY3JlYXRlZF9hdCI6IjIwMTUtMDgtMjBUMTk6MDI6NDcuODA2MzA3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI5OjA3Ljk0MzQwMloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83MWFhM2Q4MS0wM2JkLTRiN2QtYmYxMy01Yjk0Y2Q0MTA2YjMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMGFiOWI0MjktMTMzZS00ZTYzLWE5ODktMmM1Zjk1NjIyZTQ0LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzBkZjU0MTJkLWZkMTEtNDc0MC04NTlhLTQzN2RkNWY3MmY0OS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9kZW1hbGF5Iiwidmlld3MiOjM4NDg2OSwiZm9sbG93ZXJzIjoxMTk0MiwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9vbmVhY3R1YWxfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlV2VsY29tZSB0byBUaGUgQWN0dWFsIEdhbWVyIENvbW11bml0eSEgQWJzb2x1dGUgVG9wIFRpZXIgQ29udGVudCBldmVyeSA0YW0tMTJwbSBQU1QgRXZlcnkgRGF5ISBIb3cgYWJvdXQgeW91IGRyb3AgaW4sIGpvaW4gdXAsIGFuZCBzZWUgZm9yIHlvdXJzZWxmISBAT25lQWN0dWFsIG9uIFR3aXR0ZXIhXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiT25lQWN0dWFsIiwic3RyZWFtIjp7Il9pZCI6MzczOTU4MDkxMjAsImdhbWUiOiJEZXN0aW55IDIiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjEwMSwidmlkZW9faGVpZ2h0Ijo3MjAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI4OjM5WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9vbmVhY3R1YWwtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29uZWFjdHVhbC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29uZWFjdHVhbC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29uZWFjdHVhbC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IipORVcqIEVNT1RFUyEgLy8gRkxBV0xFU1MgVFJJQUxTIEhFTFAgLy8gUFZQIHRvIHRoZSBNQVghIC8vIEBPbmVBY3R1YWwiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJPbmVBY3R1YWwiLCJnYW1lIjoiRGVzdGlueSAyIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6OTYzMzI2NTksIm5hbWUiOiJvbmVhY3R1YWwiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNlQyMjoyMjozOS43NDA4MDVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MzguMjgyOTY3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzlhYjEyMGEzLThhZDEtNGQ2Zi1hMDkzLWU4NzBjZGU2MTlkMC1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvb25lYWN0dWFsLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS00NTFlOGE0ZWM3YjQ2ODc1LTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvb25lYWN0dWFsLXByb2ZpbGVfYmFubmVyLTI2NmVmYmExZjNhMzQzOWEtNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvb25lYWN0dWFsIiwidmlld3MiOjE3ODU5NTksImZvbGxvd2VycyI6NjI0MDMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJXZWxjb21lIHRvIGEgc3RyZWFtIGRlZGljYXRlZCB0byBjb21wZXRpdGl2ZSwgaGlnaCBjYWxpYmVyIGdhbWVwbGF5LCBhbmQgUkVTUEVDVCBBTFdBWVMuIEkgcHJvbW90ZSBhIHBvc2l0aXZlIGNvbW11bml0eSBvZiBHYW1lcnMgZnJvbSBhbGwgd2Fsa3Mgb2YgbGlmZSBhbmQgYmVsaWVmcyBpbnRvIG9uZSBib2R5IGFuZCBzb3VsIGFzIEFjdHVhbHMuIENvbWUgbGF1Z2gsIGhhdmUgZnVuLCBhbmQgYmUgYXBhcnQgb2Ygc29tZXRoaW5nIG1vcmUgdGhlbiBqdXN0IGFub3RoZXIgc3RyZWFtLiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9hbGNhc3RocV9mcCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VFTFNXRVlSIENIQVBURVIgcHJlcGFyYXRpb24gZm9yIHRoZSBFbGRlciBTY3JvbGxzIE9ubGluZSBNTU8hXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiYWxjYXN0aHEiLCJzdHJlYW0iOnsiX2lkIjoxMDg5MjY3NDg5LCJnYW1lIjoiVGhlIEVsZGVyIFNjcm9sbHMgT25saW5lIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo3OTY2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjozMCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDExOjQ0OjIzWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hbGNhc3RocS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYWxjYXN0aHEtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hbGNhc3RocS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2FsY2FzdGhxLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiIWdyaW5kICFiZWdpbm5lciDwn5S0RFJPUFPwn5S08J+UpURPVUJMRSBFWFAgRVZFTlTwn5SldmV0IFN1bnNwaXJlIFJhaWQgLS0tLS0gRVNPIEJVSUxEUzogYWxjYXN0aHEuY29tIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQWxjYXN0SFEiLCJnYW1lIjoiVGhlIEVsZGVyIFNjcm9sbHMgT25saW5lIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTI4MzM1NDAwLCJuYW1lIjoiYWxjYXN0aHEiLCJjcmVhdGVkX2F0IjoiMjAxNi0wNy0wMlQxMjo0MjozNS4zMTY0MTJaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6NDkuOTQyMzE0WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2MwODg5NDBiLWEwYWYtNGJmMi1hOWRjLTkwODdkZDg5ZDgwZC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZjMyMGQwNy1mYWFkLTRjNjctOGVhOC0wNjJjMjljYjYxNTEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzllMDNhODg2LTFmZmQtNDAwZS05NmY4LTFmZDFhN2YwOTA5Zi1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYWxjYXN0aHEiLCJ2aWV3cyI6NTA3MTQ3MTMsImZvbGxvd2VycyI6NzE3MTcsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIZXkgSSBhbSBBbGNhc3QsIGNoZWNrIG91dCBteSBiaW8gaGVyZSBodHRwczovL2FsY2FzdGhxLmNvbS9hYm91dC1tZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9zYWNyaWVsX25ld18yMDE4IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZVNhY3JpZWwgaXMgdGhlIHByZW1pZXIgc3RyYXRlZ2ljIGNvbWJhdCBhbmQgc3Vydml2YWwgc3BlY2lhbGlzdCBvbiBUd2l0Y2gsIHByb3ZpZGluZyBlZHVjYXRpb25hbCBhbmFseXNpcyBzZWFzb25lZCB3aXRoIGRyeSBCcml0aXNoIGh1bW91ci4gU3RhcnRlZCBpbiAyMDEyLCB0aGlzIGNoYW5uZWwgZmVhdHVyZXMgdG9wLXRpZXIgZ2l2ZWF3YXlzLCBub24tc3RvcCB0YWN0aWNhbCBhY3Rpb24sIGFuZCBhIG1hdHVyZSBjb21tdW5pdHkgc2VsZi1uYW1lZCDigJhUaGUgNDJuZOKAmSFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJTYWNyaWVsIiwic3RyZWFtIjp7Il9pZCI6MTA4ODE2NzA1NywiZ2FtZSI6IkVzY2FwZSBGcm9tIFRhcmtvdiIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NjgwMCwidmlkZW9faGVpZ2h0Ijo5MzYsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjEzOjQ2WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zYWNyaWVsLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zYWNyaWVsLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc2FjcmllbC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NhY3JpZWwte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJMRURYK0dBTUUgR0lWRUFXQVlTIC0gRURVQ0FUSU9OQUwgU1RSRUFNIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiU2FjcmllbCIsImdhbWUiOiJFc2NhcGUgRnJvbSBUYXJrb3YiLCJsYW5ndWFnZSI6ImVuLWdiIiwiX2lkIjoyMzczNTU4MiwibmFtZSI6InNhY3JpZWwiLCJjcmVhdGVkX2F0IjoiMjAxMS0wNy0yOVQxOToxNzozMi41OTMyMzhaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6NTYuMDY5OTc0WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzdmNGU2MDJlLWQ4MGItNGE0NC04YjljLWU5ZGE4ZTI1YjI4Ni1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iNDM2ZDg3Yi05NmFjLTQzMzYtOWM0YS1lZGNhMGJlYjc5NzYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2JhOTljMDMtNzJjMS00MTIxLTg2NWUtNmQ5Yjc5OWMwMWJkLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3NhY3JpZWwiLCJ2aWV3cyI6MTAwNzU0NTI3LCJmb2xsb3dlcnMiOjY1NzQ3MywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlNpbmNlIDIwMTIsIFNhY3JpZWwgaXMgdGhlIGdvLXRvIGZvciBpbnRlcmFjdGl2ZSBhbmQgZWR1Y2F0aW9uYWwgY29udGVudC4gV2l0aCBhIGZvY3VzIG9uIGNvbWJhdCBzdHJhdGVneSBhbmQgQnJpdGlzaCBodW1vciwgU2FjcmllbCBob3N0cyBvbmUgb2YgdGhlIG1vc3Qgd2VsbC1rbm93biBhbmQgcmVzcGVjdGVkIGNvbW11bml0aWVzIG9uIFR3aXRjaCwgY2FsbGVkIFRoZSA0Mm5kLiBJZiB5b3UgbGlrZSB3aGF0IHlvdSBzZWUgdGhlbiBoaXQgZm9sbG93IGFuZCBiZWNvbWUgcGFydCBvZiB0aGUgY29tbXVuaXR5ISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9jb2hoX2ZwXzIwMTgiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlTmVlZCBhIHBsYWNlIHRvIHJlbGF4LCBjaGVjayBvdXQgdGhlIGxhdGVzdCBnYW1lcyBhbmQgaGFuZyB3aXRoIHNvbWUgZ3JlYXQgcGVvcGxlPyBMb29rIG5vIGZ1cnRoZXIgdGhhbiBDb2hoQ2FybmFnZeKAmXMgVHdpdGNoIGNvbW11bml0eSEgSm9pbiB0aGUgQ29oaGlsaXRpb24gYXMgd2UgdmVudHVyZSBmb3J0aCBpbnRvIHRoZSBuZXdlc3QgUlBHcywgYWN0aW9uIFx1MDAyNmFtcDsgYWR2ZW50dXJlIGdhbWVzISBXaXRoIGEgZm9jdXMgb24gZ29vZCB2aWJlcyBhbmQgcG9zaXRpdml0eSBpbiBhIHJlbGF0aXZlbHkgU2FmZS1Gb3ItV29yayBhdG1vc3BoZXJlLCBvdXIgY29tbXVuaXR5IHdvdWxkIGxvdmUgdG8gbWVldCB5b3UhIERyb3AgYnkgYW5kIHNheSBoZWxsbyFcdTAwM2MvcFx1MDAzZVxuIiwidGl0bGUiOiJDb2hoJ3MgaG91c2Ugb2YgZ29vZCB2aWJlcyEiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTY2MjUxMiwiZ2FtZSI6Ik1vdW50IFx1MDAyNiBCbGFkZSBJSTogQmFubmVybG9yZCIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MTQxNDUsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NTI6MTFaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2NvaGhjYXJuYWdlLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9jb2hoY2FybmFnZS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2NvaGhjYXJuYWdlLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY29oaGNhcm5hZ2Ute3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJNXHUwMDI2QiAyIGFuZCBFbmR6b25lISAtIFNwb25zb3JlZCBieSAhR09HIC0gMjAlIG9mZiBFTkRaT05FIC1cdTAwM2UgQ29oaC50di9FbmR6b25lRGlzY291bnQgLSBGRlZJSSBSZW1ha2UgRlJJREFZIGF0IDhhbSBFVCEgLSAhRGlzY29yZCAtICFDb3JzYWlyIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQ29oaENhcm5hZ2UiLCJnYW1lIjoiTW91bnQgXHUwMDI2IEJsYWRlIElJOiBCYW5uZXJsb3JkIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjY2MTAyMzQsIm5hbWUiOiJjb2hoY2FybmFnZSIsImNyZWF0ZWRfYXQiOiIyMDExLTEyLTA2VDE4OjIwOjM0LjA3NTQyM1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjozMC4xODU3NzVaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZWQ3MmI2NDEtODNlYS00ZWU2LTgxZmQtYWExOTU3NTljNTEyLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2M2YjE1YWRhLTlkYTktNGI5OS1iMGQyLTc2ZDc5ZjE4ZTNmOC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9jb2hoY2FybmFnZS1wcm9maWxlX2Jhbm5lci1iY2IxYjFiOGU2MTk0Nzk5LTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2NvaGhjYXJuYWdlIiwidmlld3MiOjE1MjQyOTQ1NCwiZm9sbG93ZXJzIjoxMjMwMzEyLCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSGV5YSBndXlzLCBJJ20gQ29oaCEgSSdtIGEgZnVsbCB0aW1lIFR3aXRjaC50diBzdHJlYW1lciAodGhhbmtzIHRvIGFuIGF3ZXNvbWUgd2lmZXkgXHUwMDI2IGEgcGhlbm9tZW5hbCBjb21tdW5pdHkhKS4gQ29tZSBoYW5nIG91dCB3aXRoIHRoZSBDb2hoaWxpdGlvbiBhcyB3ZSBleHBsb3JlIG5ldyBnYW1lcyBhbmQgcmF6ZSB0aGUgY291bnRyeXNpZGUhIEhhcHB5LCBoZWxwZnVsIGFuZCByZXNwZWN0ZnVsIHBlb3BsZSB3ZWxjb21lLiA6RCIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9zbHVzaHB1cHB5IiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUVzY2FwZSBmcm9tIFRhcmtvdiBTdHJlYW1pbmcgd2l0aCBhIGJlYXJkZWQgbWFnaWNpYW4uXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiU2x1c2hwdXBweSIsInN0cmVhbSI6eyJfaWQiOjM3Mzk0MzkxMjk2LCJnYW1lIjoiRXNjYXBlIEZyb20gVGFya292IiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo5MDEsInZpZGVvX2hlaWdodCI6OTAwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzoxMjo0NFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc2x1c2hwdXBweS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc2x1c2hwdXBweS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NsdXNocHVwcHktNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zbHVzaHB1cHB5LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiU3VuZGF5IFRhcmt5ICF5b3V0dWJlIHwgIWZ1Y2tib3QgfCAhbXVsdGkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJTbHVzaHB1cHB5IiwiZ2FtZSI6IkVzY2FwZSBGcm9tIFRhcmtvdiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjE0NTIzMzk3MywibmFtZSI6InNsdXNocHVwcHkiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMS0xOVQwNTozODoyOS43MzkxNzFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MTcuOTM5OThaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOTk5M2QzYjItNDRmMi00ZjMxLWFjZGItZWM0M2RiNWVhNjVkLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzRkN2ZkNGNkYTY5ZGUzN2EtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjZmMzcyOTMtZDE4Zi00YWQ1LTk5ZWQtNjcwMDlhNzQ3ZTk4LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3NsdXNocHVwcHkiLCJ2aWV3cyI6NDM3MjcyNiwiZm9sbG93ZXJzIjo2OTI3NywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkhpIEknbSBTbHVzaHB1cHB5LCBteSByZWFsIG5hbWUgaXMgU2FtLiBJIGxpdmUgb24gYSB0aW55IGlzbGFuZCBvZmYgQXVzdHJhbGlhIGNhbGxlZCBUYXNtYW5pYS4gSSBsb3ZlIHBsYXlpbmcgZ2FtZXMgYW5kIGdldHRpbmcgcGlzc2VkLiBJJ20gZ29ubmEgc3dlYXIgc2hpdCBsb2FkcyBzbyBnZXQgcmVhZHkgZm9yIHRoYXQuIEhvcGUgeW91IGVuam95IHRoZSBjaGFubmVsLCBkcm9wIGludG8gdGhlIGNoYXQgYW5kIGhpdCBtZSB1cCB0byB0YWxrIHNoaXQuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2xhcmE2NjgzX2ZwIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUkgcGxheSBjaGF0IHJlcXVlc3RzIG9mIHZpZGVvIGdhbWUgbXVzaWMsIFRWIGFuZCBmaWxtIG11c2ljLCBhbmltZSwgYW5kIG1vcmUgb24gcGlhbm8hIFNvbWV0aW1lcyBJIGxpa2UgdG8gY29zcGxheSBhcyB3ZWxsLlx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6ImxhcmE2NjgzIiwic3RyZWFtIjp7Il9pZCI6MzczOTU0NjA4NjQsImdhbWUiOiJNdXNpYyBcdTAwMjYgUGVyZm9ybWluZyBBcnRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxMzk0LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjozMCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEwOjU5OjI5WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sYXJhNjY4My04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGFyYTY2ODMtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sYXJhNjY4My02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xhcmE2NjgzLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiVGhlIHVzdWFsIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoibGFyYTY2ODMiLCJnYW1lIjoiTXVzaWMgXHUwMDI2IFBlcmZvcm1pbmcgQXJ0cyIsImxhbmd1YWdlIjoiZW4tZ2IiLCJfaWQiOjgwMzUyODkzLCJuYW1lIjoibGFyYTY2ODMiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0yMFQwMTozOToxOS45MjE3NjFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6NDkuMTM4Nzc3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2xhcmE2NjgzLXByb2ZpbGVfaW1hZ2UtNGFhN2UwOGU3MGM3MjkyNC0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2xhcmE2NjgzLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS1iNTVkNDhlNDY3NjhkZTgxLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2VjNWEzZTAtN2I0Zi00MzFhLWJjN2QtNmNjOTBhMDlhYjNkLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2xhcmE2NjgzIiwidmlld3MiOjQ5MTE5MjQsImZvbGxvd2VycyI6MjIwNjk3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiVmlkZW8gZ2FtZSBtdXNpYyBwbGF5ZWQgb24gdGhlIHBpYW5vIDopIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL21wYV8yMDIwIiwicHJpb3JpdHkiOjEwLCJzY2hlZHVsZWQiOmZhbHNlLCJzcG9uc29yZWQiOmZhbHNlLCJ0ZXh0IjoiXHUwMDNjcFx1MDAzZUV0Y0tpZCBoYXMgaW1wcm92aXNlZCB0aG91c2FuZHMgb2Ygc29uZ3MgYmFzZWQgb24gY29tbXVuaXR5IHJlcXVlc3RzLiBKb2luIGluIGZvciBzb21lIGxpdmUsIGludGVyYWN0aXZlIG11c2ljIHByb2R1Y3Rpb24uXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiRXRjS2lkIiwic3RyZWFtIjp7Il9pZCI6MzczOTM5NjcxNTIsImdhbWUiOiJNdXNpYyBcdTAwMjYgUGVyZm9ybWluZyBBcnRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyNywidmlkZW9faGVpZ2h0Ijo3MjAsImF2ZXJhZ2VfZnBzIjozMCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA2OjE3OjI0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9ldGNraWQtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2V0Y2tpZC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2V0Y2tpZC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2V0Y2tpZC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlZPRCAtIEV0YyBLaWQgUmFkaW8gLSBTdHJlYW1lciBGcmllbmRseSAtIE5leHQgbGl2ZSBzaG93IFRodSA2LTEwcCBFVCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkV0Y0tpZCIsImdhbWUiOiJNdXNpYyBcdTAwMjYgUGVyZm9ybWluZyBBcnRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTMyMjQ1ODM3LCJuYW1lIjoiZXRja2lkIiwiY3JlYXRlZF9hdCI6IjIwMTYtMDgtMTVUMDY6MjQ6MTMuOTQ5OThaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MTIuODk5NTQxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2V0Y2tpZC1wcm9maWxlX2ltYWdlLWM1MjkwNmIxNTFjOWU4ODUtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY4NzZiZDljLWE2ZjUtNGFiMy05ZGYyLTRiMWNkNmUwOWJlMS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ldGNraWQtcHJvZmlsZV9iYW5uZXItM2Q3ZmJlNWQ1M2U2ZGRiNC00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9ldGNraWQiLCJ2aWV3cyI6MTQ1NjIyNywiZm9sbG93ZXJzIjoxNTQ4OSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlRoZSBFdGNldGVyYSBLaWQgaG9zdHMgYSBoaWdobHktaW50ZXJhY3RpdmUgc2hvdyB3aGVyZSB5b3VyIHJlcXVlc3RzIHNoYXBlIHRoZSBtdXNpYyBhbmQgeW91IGdldCB0byBuYW1lIHRoZSBzb25ncyEgQmVmb3JlIGVhY2ggaW1wcm92LCB5b3UgY2hvb3NlIHRoZSBzb3VuZHMsIHRoZSBzb25nJ3Mgc3BlZWQsIGFuZCBoYXZlIHlvdXIgdXNlcm5hbWUgdHVybmVkIGludG8gZHJ1bSBsb29wcy4gVGhlbiBUaGUgS2lkIGltcHJvdmlzZXMgYSBuZXcgc29uZyBmcm9tIHNjcmF0Y2ggdXNpbmcga2V5Ym9hcmRzLCBob3JucywgZXRjLiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9sb3NlcmZydWl0X2ZwX3RodW1iLnBuZyIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VBdXN0cmFsaWFuIEdhbWVyIHdobyBhd2t3YXJkbHkgdHJpZWQgdG8gbWFrZSBoZXIgd2F5IHRocm91Z2ggbGlmZSB3aXRoIHRoZSBoZWxwIG9mIGdhbWVzIGFuZCBUd2l0Y2ggY2hhdC4gRXhwZWN0IHRoZSBDaGFubmVsIHRvIGJlIGZpbGxlZCB3aXRoIHNvZnRseSBzcG9rZW4gYmFudGVyLCBzcG9udGFuZW91cyByYWdlIGFuZCB3aXRoIGEgYnVuY2ggb2YgaW5leHBsaWNhYmxlIGZhaWxzLlx1MDAzYy9wXHUwMDNlXG4iLCJ0aXRsZSI6Ikxvc2VyZnJ1aXQiLCJzdHJlYW0iOnsiX2lkIjozNzM5NTAyNjcyMCwiZ2FtZSI6IlJlc2lkZW50IEV2aWwgMyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MTM0OCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTowOTo0NFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbG9zZXJmcnVpdC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbG9zZXJmcnVpdC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xvc2VyZnJ1aXQtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sb3NlcmZydWl0LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoibXVsdGlwbGF5ZXIgcmVzaWRlbnQgZXZpbCAocmVzaXN0YW5jZSkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJMb3NlcmZydWl0IiwiZ2FtZSI6IlJlc2lkZW50IEV2aWwgMyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjQxMjQ1MDcyLCJuYW1lIjoibG9zZXJmcnVpdCIsImNyZWF0ZWRfYXQiOiIyMDEzLTAzLTExVDIyOjAxOjM1LjczOTE3N1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzoxMi4xNTQ4NVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZDE3MzI1YS03ZGMyLTQ2YzYtODYxNy1lOTBlYzI1OTUwMWMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNmZjM2VhYzgwOGFmMTkzMi1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2MwZGIxZjUtM2JmMS00NjY5LTg2NjctMzJlYjY0YjFmNWNmLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2xvc2VyZnJ1aXQiLCJ2aWV3cyI6MzAzMjEzODEsImZvbGxvd2VycyI6MTIxMjkwMywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlwiSSBzZWUgeW91IGJhYnkuIFNoYWtpbmcgdGhhdCBhc3MuIFNoYWtpbmcgdGhhdCBhc3MuXCIgLSBUaG9tYXMgSmVmZmVyc29uLCBUaGUgRGVjbGFyYXRpb24gb2YgaW4gbXkgUGFudHMiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19LHsiaW1hZ2UiOiJodHRwczovL3MuanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hvc3RlZF9pbWFnZXMvcm9kY2RlZSIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VBdXNzaWUgaW4gSmFwYW4gZG9pbmcgSmFwYW4gc3R1ZmYgU3RyZWFtXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoicm9kY2RlZSIsInN0cmVhbSI6eyJfaWQiOjM3MzkzMzI4NjU2LCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6Nzc4LCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjMwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6MTI6MTFaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JvYmNkZWUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JvYmNkZWUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yb2JjZGVlLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcm9iY2RlZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlRva3lvLCBKcG4gfCBKYXBhbmVzZSBqdW5rIGZvb2QgcmV2aWV3ICsgSW1wcmVzc2l2ZSBFbmdpbmVlcmluZyBza2lsbHMgfCBORVcgIVlUICFzb2NpYWxzIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoicm9iY2RlZSIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTY5MTg1NjUwLCJuYW1lIjoicm9iY2RlZSIsImNyZWF0ZWRfYXQiOiIyMDE3LTA4LTEwVDA2OjQ4OjQ2LjUwODk4M1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzoxMS4xNjczNjJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjdiOTBkZWUtYTVjMS00ZjA0LWFhYmEtNTJjYThmNjhmMjI0LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzZmYjFmNDkxZmI2ODBmYWItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzA1OTdlNTE5NTZhNTVmYTctcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcm9iY2RlZSIsInZpZXdzIjo4NDU4OTIsImZvbGxvd2VycyI6MjgwNzMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiI6XSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fX0seyJpbWFnZSI6Imh0dHBzOi8vcy5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaG9zdGVkX2ltYWdlcy9nZW5lcmFsbWl0dGVuel9mcCIsInByaW9yaXR5IjoxMCwic2NoZWR1bGVkIjpmYWxzZSwic3BvbnNvcmVkIjpmYWxzZSwidGV4dCI6Ilx1MDAzY3BcdTAwM2VBIGxpdHRsZSBhYm91dCBNaXR0ZW56OiBcdTAwM2MvcFx1MDAzZVxuXHUwMDNjb2xcdTAwM2Vcblx1MDAzY2xpXHUwMDNlQmF0bWFuIHYgU3VwZXJtYW4gaXMgYmV0dGVyIHRoYW4gYW55dGhpbmcgZnJvbSB0aGUgTUNVLlxuXHUwMDNjL2xpXHUwMDNlXG5cdTAwM2NsaVx1MDAzZUhvcml6b24gWmVybyBEYXduIGlzIGV4dHJlbWVseSBvdmVycmF0ZWQuXG5cdTAwM2MvbGlcdTAwM2Vcblx1MDAzY2xpXHUwMDNlUGluZWFwcGxlIG9uIHBpenphLlxuRGlzYWdyZWU/IFdlIGhhdmUgYW4gZW1vdGUgZm9yIHRoYXQuXG5cdTAwM2MvbGlcdTAwM2Vcblx1MDAzYy9vbFx1MDAzZVxuIiwidGl0bGUiOiJHZW5lcmFsIE1pdHRlbnogXHUwMDI2IHRoZSBLaXR0ZW56IEhRIiwic3RyZWFtIjp7Il9pZCI6MzczOTQwMDQ2NDAsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxNDUsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDY6MjE6MzhaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pdHRlbnotODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pdHRlbnotMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9taXR0ZW56LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWl0dGVuei17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkhhcHB5IDQyMCBXZWVrZW5kISAtIPCfjoFHaXZlYXdheXPwn46BIHx8ICE0MjAgIWVmdDQyMCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Ik1pdHRlbnoiLCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjkzMzY5MTUyLCJuYW1lIjoibWl0dGVueiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA2LTEzVDAzOjAwOjEyLjU2ODc2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU3OjEyLjI3Mjc2OVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yNTc0MjY2Yi0wMDkxLTRhMjMtYWQ3MC02M2QxMmQ3MTNiZjQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMTE5Njk3NTItN2Q1NC00MTQ5LTgwOGUtYTgwNjE5MzkwZDM5LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzhhNWRlYjljLTkyYzktNGZhYy1iM2IxLTc2MjNkODI0ZmJkOC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9taXR0ZW56Iiwidmlld3MiOjQwMjQ2MTMsImZvbGxvd2VycyI6NDAyNDUsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiIgRXNjYXBlIEZyb20gVGFya292IHx8IERhcmsgRmFudGFzeSB8fCBGb2xsb3cgQEl0c19NaXR0ZW56IiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19fSx7ImltYWdlIjoiaHR0cHM6Ly9zLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9ob3N0ZWRfaW1hZ2VzL2xpdmliZWVfZnAiLCJwcmlvcml0eSI6MTAsInNjaGVkdWxlZCI6ZmFsc2UsInNwb25zb3JlZCI6ZmFsc2UsInRleHQiOiJcdTAwM2NwXHUwMDNlTGl2aWJlZSwgUXVlZW4gb2YgdGhlIFN3YXJtXHUwMDNjL3BcdTAwM2VcbiIsInRpdGxlIjoiTGl2aWJlZSIsInN0cmVhbSI6eyJfaWQiOjM3MzkzNTg2MTkyLCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI1MiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNTozNjo0OVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGl2aWJlZS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGl2aWJlZS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xpdmliZWUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9saXZpYmVlLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTGl2aWJlZSB8IE5ldyBTdHJlYW0gU2V0dXAgMjAyMCBWaWRlbyEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJMaXZpYmVlIiwiZ2FtZSI6IkFuaW1hbCBDcm9zc2luZzogTmV3IEhvcml6b25zIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MjAwOTA5NDgsIm5hbWUiOiJsaXZpYmVlIiwiY3JlYXRlZF9hdCI6IjIwMTEtMDItMDNUMTM6MzY6MjMuOTk0NTAyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjM1LjgyMjczWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2xpdmliZWUtcHJvZmlsZV9pbWFnZS03MTYxZTA3ZmM5ZjZkNjY4LTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85ZGE0YjkxMC1kZmJjLTRjNTMtOTllNS1iNGIyOGNhYjJkNDAtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDE1OTFhMjAtMWFmMy00YmRkLWE1MmQtODczMTE5MTk0M2NiLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2xpdmliZWUiLCJ2aWV3cyI6NzgzODE2NSwiZm9sbG93ZXJzIjoxMDU0ODcsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJHJ2RheSBCZWUgRnJpZW5kcyEgV2VsY29tZSB0byB0aGUgQmVlSGl2ZS4gSGVyZSB5b3Ugd2lsbCBjYXRjaCB0aGUgQmVlIGJ1enppbmcgYXJvdW5kIFx1MDAyNiBwbGF5aW5nIGdhbWVzISBTdHJlYW1pbmcgZnVsbCB0aW1lIGZvciA3IHlycyB3aXRoIGhlciBmYXZvdXJpdGUgZ2FtZSBTdGFyY3JhZnQgSUkuIEJlZSBsb3ZlcyB0byBwbGF5IGdhbWVzIHdpdGggbXkgY29tbXVuaXR5IGFzIHdlbGwsIHNvIHBsZWFzZSBmZWVsIHdlbGNvbWUgdG8gam9pbiEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX19XX0= + http_version: null + recorded_at: Sun, 05 Apr 2020 12:58:00 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/follow_status/when_does_not_follow.yml b/spec/cassettes/follow_status/when_does_not_follow.yml new file mode 100644 index 0000000..79b1fc5 --- /dev/null +++ b/spec/cassettes/follow_status/when_does_not_follow.yml @@ -0,0 +1,58 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889/follows/channels/129454141 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 404 + message: Not Found + headers: + connection: + - keep-alive + content-length: + - '63' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:18 GMT + x-served-by: + - cache-sea4454-SEA, cache-hel6830-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091438.921432,VS0,VS0,VE200 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Not Found","status":404,"message":"Follow not found"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:18 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/follow_status/when_follows.yml b/spec/cassettes/follow_status/when_follows.yml new file mode 100644 index 0000000..b1fff06 --- /dev/null +++ b/spec/cassettes/follow_status/when_follows.yml @@ -0,0 +1,60 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/117474239/follows/channels/128644134 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '837' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:17 GMT + x-served-by: + - cache-sea4446-SEA, cache-hel6825-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091438.586972,VS0,VS0,VE205 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"created_at":"2019-09-07T14:16:55Z","channel":{"mature":true,"status":" + ","broadcaster_language":"ru","broadcaster_software":"unknown_rtmp","display_name":"SAD_SATONT","game":"Dota + 2","language":"en","_id":128644134,"name":"sad_satont","created_at":"2016-07-05T15:26:30.944267Z","updated_at":"2020-04-05T12:01:15.176781Z","partner":false,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/2fc1ef8e-af26-429c-8317-c761f400a255-profile_image-300x300.png","video_banner":null,"profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/bfd3eed0-a6ca-4699-bc7f-8536a3a46212-profile_banner-480.jpeg","profile_banner_background_color":"","url":"https://www.twitch.tv/sad_satont","views":34580,"followers":909,"broadcaster_type":"affiliate","description":"","private_video":false,"privacy_options_enabled":false},"notifications":true}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:17 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed/with_options.yml b/spec/cassettes/followed/with_options.yml new file mode 100644 index 0000000..1d044c6 --- /dev/null +++ b/spec/cassettes/followed/with_options.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889/follows/channels + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:17 GMT + x-served-by: + - cache-sea4479-SEA, cache-hel6834-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091437.214911,VS0,VS0,VE219 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJfdG90YWwiOjc2LCJmb2xsb3dzIjpbeyJjcmVhdGVkX2F0IjoiMjAxOS0wMi0wOFQxNjo1MTozMFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlRXM0s6IExpdSBCZWkgZmlyc3QgcGxheXRocm91Z2gsIHBhcnQgMSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkZhbWlDb2xpbiIsImdhbWUiOiJUb3RhbCBXYXI6IFRocmVlIEtpbmdkb21zIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjEyMTQ1NDc4MyIsIm5hbWUiOiJmYW1pY29saW4iLCJjcmVhdGVkX2F0IjoiMjAxNi0wNC0xMFQxNjoyNDo1OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0xOFQyMjozOToyOVoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYmE5ZTk0YjItZDllYi00ZDNjLTliYmQtZTNmZmRhYzk3ODY1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYmZkMTBmZGEtMmYwMS00NTA3LTkxYTEtYmZkMTRlNjU4NWRiLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2ZhbWljb2xpbiIsInZpZXdzIjoxNzk5LCJmb2xsb3dlcnMiOjE1OCwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTAxLTExVDAwOjI5OjE5WiIsImNoYW5uZWwiOnsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiJBbmltYWwgQ3Jvc3NpbmcgUG9nQ2hhbXAiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJEYW5ueUthbXBzR2FtZXoiLCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNTc5NjQxNjMiLCJuYW1lIjoiZGFubnlrYW1wc2dhbWV6IiwiY3JlYXRlZF9hdCI6IjIwMTQtMDMtMDFUMTM6MTY6NDFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMDA6Mzk6NTdaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Rhbm55a2FtcHNnYW1lei1wcm9maWxlX2ltYWdlLTY5YTVmOWY2NTExMTRmYzUtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2QzZGYyOTkwLWZlYWYtNGY2Mi05OTE4LTJlYjljNjViYTI5Ny1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mOTk1ODQ5OS04MGU2LTQ3MWQtYmE3Zi1jOGNkNGExMzIzOGQtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjMDBmZjM0IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2Rhbm55a2FtcHNnYW1leiIsInZpZXdzIjo4MDQ5LCJmb2xsb3dlcnMiOjc3OSwiYnJvYWRjYXN0ZXJfdHlwZSI6ImFmZmlsaWF0ZSIsImRlc2NyaXB0aW9uIjoiSGkiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTItMjBUMDM6MTk6MDZaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJicmF2ZXIgbmV3IHNlYWJsb2NrIC0gZXAwMSAtIHdlIHN0YXJ0IHdpdGggbG9naXN0aWNzISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6InJhaW45NDQxIiwiZ2FtZSI6IkZhY3RvcmlvIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjE2MjYzNDc1MiIsIm5hbWUiOiJyYWluOTQ0MSIsImNyZWF0ZWRfYXQiOiIyMDE3LTA3LTAzVDE2OjI0OjI4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI2OjU2WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzc5YTE0Nzg0LWYyMzEtNDA3OS1hMTI3LTQ2MDY1YTAzODNkZi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85YzdmNGU3Mi0wNWRkLTQ0Y2EtYWYyMy04N2FmYWFiMzE2NDItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Y4ZTk1NTdmLWU3ZGItNDkwZC04NjMyLTdhZDk2ZGIwNWRlNS1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9yYWluOTQ0MSIsInZpZXdzIjoxNTA1MTYsImZvbGxvd2VycyI6NDk3OCwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkN1cnJlbnRseSBhIEZhY3RvcmlvIGFkZGljdCBpbiBzZWFyY2ggb2YgdGhlIHNvbG8gYW5kIG11bHRpcGxheWVyIHNwZWVkIHJ1bm5pbmcgdGl0bGVzLiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMi0xMVQwNjo1NDozMloiLCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiMyB2IDYgaGFyZCBBSSBjb21wLXN0b21wIChub3JtYWwgc3BlZWRzLCBmYXN0IHJlc2VhcmNoLCBmYXN0ZXIgc2hpcHMpIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQmlnSGVhZFdhbnREb2xseSIsImdhbWUiOiJTaW5zIG9mIGEgU29sYXIgRW1waXJlOiBSZWJlbGxpb24iLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMTEyMjc2NzQzIiwibmFtZSI6ImJpZ2hlYWR3YW50ZG9sbHkiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMS0xMFQwMjo0NDo1NloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0xNVQyMjoyNDo1MFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDY4M2Y5MzRjMDQ0YThmMS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2JpZ2hlYWR3YW50ZG9sbHkiLCJ2aWV3cyI6NTg1LCJmb2xsb3dlcnMiOjE1LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJBbmdyaWx5IHBsYXlpbmcgYSB2YXJpZXR5IG9mIHZpZGVvIGdhbWVzIHNpbmNlIDE4MDEuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTEyLTA3VDIwOjExOjA1WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi8J+UtFtMSVZFXSBCT05VUyBTVFJFQU0hIOKAoiBCaXJ0aGRheSBNb250aCDigKIgIWdpdmVhd2F5ICF2b29kb28gIWRiaCDigKIg4p6kRFVSSUFOIEZSVUlU8J+UpSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlRoZU9ubHlSeWFubiIsImdhbWUiOiJUaGUgU3VyZ2UgMiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI2MjMzNDcxOSIsIm5hbWUiOiJ0aGVvbmx5cnlhbm4iLCJjcmVhdGVkX2F0IjoiMjAxNC0wNS0wOVQwMTo1OToyMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyNjo1NFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hMzcyZTAyMy1kZTQyLTQyYjQtYmMzNy1kZWQ5Y2VkMjY2ZWYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGhlb25seXJ5YW5uLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS00YWE0Njk0MjIwYThmN2I5LTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E4NmRkOWYwLWYyY2ItNGI5My1hMTVhLTIwOWVhZTYxODk2NC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDBiMjAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvdGhlb25seXJ5YW5uIiwidmlld3MiOjI2NTQxNzYsImZvbGxvd2VycyI6MTc2MjMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJCZWNvbWUgYSBIaWdobGFuZGVyIFx1MDAyNiBzaG93Y2FzZSB3aHkgXCJUaGVyZSBjYW4gYmUgb25seSBvbmUhXCIgVmFyaWV0eSBnYW1pbmcgY29tbXVuaXR5LCBjaGFyaXR5IHN1cHBvcnRlciwgd2l0aCBhIHRvdWNoIG9mIHNraWxsLiBMRVQnUyBHTyEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTEtMjhUMTg6NDI6NDBaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IlJlbWVtYmVyaW5nIEhvdyB0byBESiAgLS0gU29jaWFsczogQGl0c0RlcmVrU21pZnoiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJJdHNEZXJla1NtaWZ6IiwiZ2FtZSI6Ik11c2ljIFx1MDAyNiBQZXJmb3JtaW5nIEFydHMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiOTgwMzQxNzgiLCJuYW1lIjoiaXRzZGVyZWtzbWlmeiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA4LTAyVDE3OjQyOjQ4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDIwOjA2OjQyWiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZDUxOGQzNy1jZGE5LTRhZDktOTQ0Zi01NWYwODRhYmRjNDAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDU1MTUxNzYtMDQwOS00M2MzLTk2MjQtOTEyNTlkMmYyMTgyLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzlhZjNlZTBhLTU1OWItNGVhNy04NzViLWE2OTVmNDEwZjA5Ni1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2l0c2RlcmVrc21pZnoiLCJ2aWV3cyI6NTA2MiwiZm9sbG93ZXJzIjozODEsImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkxpZmVsb25nIHZpZGVvIGdhbWUgZW50aHVzaWFzdCwgYmVlbiBwbGF5aW5nIHNldmVyYWwgdHlwZXMgb2YgZ2FtZXMgc2luY2UgYSBraWQuIE15IHN0cmVhbSBpcyBhbGwgYWJvdXQgaGFuZ2luZyBvdXQgYW5kIGhhdmluZyBncmVhdCBjb252ZXJzYXRpb25zLi5Gcm9tIE1NTydzIHRvIEZQUywgYW5kIGFsbCB0aGUgZ2FtZXMvZ2VucmVzIGluIGJldHdlZW4uIFdlIHRyeSB0byBkaXAgb3VyIHRvZXMgaW4gZXZlcnl0aGluZy4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTEtMDdUMTk6MDE6MjRaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJQaWNraW5nIGEgRGVjayBmb3IgdGhlIE15dGhpYyBQb2ludCBRdWFsaWZpZXIg8J+MtyB+ICFjZmIgIW1hZHJpbmFzICFzdGVlbHNlcmllcyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkdhYnlTcGFydHoiLCJnYW1lIjoiTWFnaWM6IFRoZSBHYXRoZXJpbmciLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNTcwMDk4MzMiLCJuYW1lIjoiZ2FieXNwYXJ0eiIsImNyZWF0ZWRfYXQiOiIyMDE0LTAyLTE3VDE4OjAzOjMwWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjAzOjI2WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY2NjMzYWE4LWQ1MmItNDk5NC1hOGQyLWU5ODVmYjA4NjRkOS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85MzNlMjE0Mi0xZDQ1LTRmYTUtODE1ZS0yYTA3M2Y5YzM3YTItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvN2RiZjFjMjcxY2ZkZGRjZC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiM0MDUxOTIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZ2FieXNwYXJ0eiIsInZpZXdzIjo0NTIxMTk3LCJmb2xsb3dlcnMiOjg0MTM1LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiUGFydG5lcmVkIFN0cmVhbWVyIHwgI1RlYW1DRkIgbWVtYmVyIHwgV3JpdGVyIFx1MDAyNiBCcm9hZGNhc3RlciBmb3IgTWFnaWM6IFRoZSBHYXRoZXJpbmcgfCBTcG9uc29yZWQgYnkgQ2hhbm5lbCBGaXJlYmFsbCwgU3RlZWxzZXJpZXMgYW5kIE1hZHJpbmFzIHwgc3BhcnR6YnVzaW5lc3NAZ21haWwuY29tIHwgSSBzdHJpdmUgZm9yIHRoaXMgY2hhbm5lbCB0byBiZSBhIHBsYWNlIHlvdSB3YW50IHRvIGNvbWUgdG8gZXZlcnlkYXkgOikiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTEtMDJUMDE6MzY6MzhaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IkJhY2sgdG8gUmFuZG9tbHkgd2hhdGV2ZXIgSSBmZWVsIGxpa2UgYXQgdGhlIG1vbWVudC4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJEYWVkYWxSb2d1ZSIsImdhbWUiOiJNb25zdGVyIEh1bnRlciBXb3JsZCIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI0NTI4NzkwMCIsIm5hbWUiOiJkYWVkYWxyb2d1ZSIsImNyZWF0ZWRfYXQiOiIyMDEzLTA2LTI3VDE5OjM3OjMwWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTAyVDA0OjA4OjI3WiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMTA5NDlhOS0xNWMwLTRlYjktOTkyOC1jMGJjNWI5MDU2M2EtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9kYWVkYWxyb2d1ZSIsInZpZXdzIjo1ODEsImZvbGxvd2VycyI6MTUsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMC0yNlQxOTo1MDo1MFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IihDaGVycnkgQmxvc3NvbSBGYXJtaW5nKSBEYW5pbWFsIENyb3NzaW5nIC0gTm8gVGltZXNraXBwaW5nIC0gTGV0J3MgYnVpbGQgYSBwYXJrIHRvZGF5ISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkRhbnNHYW1pbmciLCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNzIzNjY5MiIsIm5hbWUiOiJkYW5zZ2FtaW5nIiwiY3JlYXRlZF9hdCI6IjIwMDktMDctMTVUMDM6MDI6NDFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6MDBaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMzJiNjg4MTMtZWE3MC00M2JmLWE4ZTQtYTU1ZjMwOTZmNDA4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzg3OGI4M2U4LTcyYzItNDNhNy05ZjMzLWM1NGQ5OWZjOWUwNC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zODBjZTcyZC03ZmU1LTQyOTUtYTYyMS04Mjk4ZDU1NWU5YWQtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjZjZmNmY2IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2RhbnNnYW1pbmciLCJ2aWV3cyI6MTE5NzM2NDg2LCJmb2xsb3dlcnMiOjgxMDM4OSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkRhbiBpcyBhIHJlZ3VsYXIgZ3V5IHdpdGggYSBwYXNzaW9uIGZvciBnYW1lcyEgUGxheWluZyBhbGwgZ2FtZXMgbmV3IHRvIG9sZC4gTGl2ZSBldmVyeWRheSBhdCA5YW0gUFNUIC8vIDVwbSBHTVQiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTAtMjZUMTQ6MTU6MjhaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IlJlc2lkZW50IE1hcmF0aG9uISAhc2NhcmUgIWhlYXJ0cmF0ZSAhY2hhcml0eSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlN0cmVoRm94IiwiZ2FtZSI6IlJlc2lkZW50IEV2aWwgMyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI4NDkxMTY4NSIsIm5hbWUiOiJzdHJlaGZveCIsImNyZWF0ZWRfYXQiOiIyMDE1LTAzLTExVDAwOjQzOjI0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDIwOjM1OjI2WiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zOGNkZWNjYy03YWE1LTRhNzMtYTUzZC03ZWU0NTgyZTk4NDQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOGRjZDk5M2JjMzliOTlmNC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvc3RyZWhmb3gtcHJvZmlsZV9iYW5uZXItZDg3ZTc3OTA2ZWNiNTEwYy00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9zdHJlaGZveCIsInZpZXdzIjozMjY1LCJmb2xsb3dlcnMiOjEzMSwiYnJvYWRjYXN0ZXJfdHlwZSI6ImFmZmlsaWF0ZSIsImRlc2NyaXB0aW9uIjoiRm9yZXZlciBpbiBzZWFyY2ggb2YgaGlkZGVuIGdlbXMgb2YgdGhlIGhvcnJvci12ZXJzZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMC0wMVQwMTozODowOVoiLCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiTmljZSB0byBNZWF0IHlvdSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImZpcmUiLCJnYW1lIjoiU3VwZXIgTWVhdCBCb3kiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMTU4MTc4OTUiLCJuYW1lIjoiZmlyZSIsImNyZWF0ZWRfYXQiOiIyMDEwLTA5LTE5VDIxOjIwOjI2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA3OjE1OjM1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzZhNWVjMTM2LTFjYjgtNGE2NS1hZmIyLTg5YWM4MzZiNjJjMC1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9maXJlLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS1mMTNmMTc5ZmY3MzAxNDg5LTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZmlyZS1wcm9maWxlX2Jhbm5lci1lYTEzZWZiZTY0MzhhZGM1LTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZmlyZSIsInZpZXdzIjo2NzM5MiwiZm9sbG93ZXJzIjo1ODU5LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSSBmaXggcGVvcGxlJ3MgcHJvYmxlbXMgYW5kIG9jY2FzaW9uYWxseSBzdHJlYW0uICIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6dHJ1ZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA3LTE1VDAzOjE5OjA3WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiQmFyaXN0YUpvc2ggfCBDb2ZmZWUgQXJ0ISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InNkayIsImRpc3BsYXlfbmFtZSI6IkJhcmlzdGFKb3NoIiwiZ2FtZSI6IkFydCIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiIxNDQzOTE4MzciLCJuYW1lIjoiYmFyaXN0YWpvc2giLCJjcmVhdGVkX2F0IjoiMjAxNy0wMS0xMFQxMDoyNjo0NFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wMlQyMTowODoyMFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmNhNDlhMTU4OTQxZDNiNi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iYXJpc3Rham9zaC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtNDI1MzdlNjI5MDkyNDNmMS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yN2Y1MzlkNy1kYTQ3LTQ3MmMtYjIzYy03NGRiN2ExZDhlMWUtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9iYXJpc3Rham9zaCIsInZpZXdzIjoxMDEyMywiZm9sbG93ZXJzIjo3MjksImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkJheSBBcmVhIEJhcmlzdGEgIElHOiBCYXJpc3RhSmFzaCAgSSBzdHJlYW0gTGF0dGUgQXJ0IDpEIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE0VDIwOjM0OjE2WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiV2VkbmVzZGF5IE5pZ2h0IE1hZ2ljISBUaGVyb3MgRHJhZnRpbmciLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJkc2F2aWxsaWFuIiwiZ2FtZSI6Ik1hZ2ljOiBUaGUgR2F0aGVyaW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjcyNTAzMTQzIiwibmFtZSI6ImRzYXZpbGxpYW4iLCJjcmVhdGVkX2F0IjoiMjAxNC0xMC0wNVQxNTo1MToxMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0zMVQwMDoyNzoxMFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzQ2MTMxM2M4MzA4NWVhZS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZHNhdmlsbGlhbiIsInZpZXdzIjoxMjg3MSwiZm9sbG93ZXJzIjo2NjIsImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkFsdGhvdWdoIEkgbW9zdGx5IHBsYXkgTVRHLCBJIGNhbiBiZSBmb3VuZCBwbGF5aW5nIHNvbWUgb2YgbXkgb3RoZXIgZmF2b3VyaXRlIGdhbWVzIG9uIG9jY2FzaW9uISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNS0zMVQwMzowMTowMFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiQ1JJTU1BUyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlJTUyIsImdhbWUiOiJEZXN0aW55IDIiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNTQwODM5NzkiLCJuYW1lIjoicnNzIiwiY3JlYXRlZF9hdCI6IjIwMTMtMTItMjlUMjM6NDI6MDlaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6NTM6NTNaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNGI0ZTY3M2UtN2Y5OC00ZWE3LWI3YWEtZGI0ZTM3YmNhOWRlLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzRhZWI4YTQxMGJmNDA3N2ItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZGEyNmUzYmQtMGE0MC00N2JmLWIxZGEtNDBhYzJkNjg2MTg2LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcnNzIiwidmlld3MiOjI3ODI4LCJmb2xsb3dlcnMiOjE4MjIsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJNdXNpY2lhbiwgcG9kY2FzdGVyLCB3YXRjaGVyIG9mIHN0cmVhbXMsIGxvdmVyIG9mIFR3aXRjaC4gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI0VDIxOjAzOjI3WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiW0RSQUZUXSBJIHdpbGwgYmUgd2luZGluZyBkb3duIHRoZSBzdHJlYW0gc2NoZWR1bGUgdG8gXCJPY2Nhc2lvbmFsbHlcIiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IklzZXJvYyIsImdhbWUiOiJNYWdpYzogVGhlIEdhdGhlcmluZyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI1MDIzNDA4NSIsIm5hbWUiOiJpc2Vyb2MiLCJjcmVhdGVkX2F0IjoiMjAxMy0xMC0xNlQxNDo1MTozNVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wM1QyMTozMDoyM1oiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaXNlcm9jLXByb2ZpbGVfaW1hZ2UtMThmOWM5ZTE4NzdhMjhiYi0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2JkNmEwOWFjZTc1NTA3ZGYtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvaXNlcm9jIiwidmlld3MiOjc0MjExLCJmb2xsb3dlcnMiOjI3OTksImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IlR3byBGaW5uaXNoIGd1eXMgc3RyZWFtaW5nIE1hZ2ljIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTIzVDIzOjE5OjQzWiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTWF0aGlsIC0gSW50IHN0YWNrIERlYWRleWUgQ29icmEgTGFzaCAoSG9XQSksIG1vc3Qgb2YgdGhlIGNyYWZ0aW5nIGNvbXBsZXRlLCBmaW5ldHVuaW5nIHBhc3NpdmUgdHJlZSBcdTAwMjYgc21hc2hpbmciLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJNYXRoaWwxIiwiZ2FtZSI6IlBhdGggb2YgRXhpbGUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMjU1NzU5OTUiLCJuYW1lIjoibWF0aGlsMSIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTIwVDAwOjEzOjE0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMwOjA1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL21hdGhpbDEtcHJvZmlsZV9pbWFnZS0zOTM3NmY3OTcwNjNhODdiLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL21hdGhpbDEtcHJvZmlsZV9iYW5uZXItOGZhOTJhYWIyZTk4NjlhMS00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjODMwOTA5IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21hdGhpbDEiLCJ2aWV3cyI6MzQzMjA2OTIsImZvbGxvd2VycyI6Mjg1Njc1LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiUGxheWluZyBtYW55IGdhbWVzLCBtb3N0bHkgUG9FIGF0bS4gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOnRydWV9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMTRUMTc6MDg6MTlaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJRdWljayBzdHJlYW0gc28gSSBkb24ndCBmb3JnZXQgaG93IHRvIHN0cmVhbSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Ik1la2EiLCJnYW1lIjoiTXVyZGVyIGJ5IE51bWJlcnMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMTU4MDM4MDA3IiwibmFtZSI6Im1la2EiLCJjcmVhdGVkX2F0IjoiMjAxNy0wNS0yN1QwNToyMDo1OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMzoyMzowMFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMTFlNmEyZWYtZjMwNS00YzlkLWE1MTQtMDYwNmIxMDE1MDc3LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbWVrYSIsInZpZXdzIjozMzEzLCJmb2xsb3dlcnMiOjE2MCwiYnJvYWRjYXN0ZXJfdHlwZSI6ImFmZmlsaWF0ZSIsImRlc2NyaXB0aW9uIjoiVHJ5aW5nIHRvIG1ha2UgYSBoYWJpdCBvZiBzdHJlYW1pbmcgZXZlcnkgd2Vla2VuZC4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOnRydWV9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNS0wOVQyMTo0NzowNFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlJhaWwgKyBEZWF0aCBXb3JsZCBGYWN0b3JpbyB3LyBjby13b3JrZXJzLCBub3cgZmVhdHVyaW5nIExvZ2lzdGljIFRyYWlucyEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJGdWdpIiwiZ2FtZSI6IkZhY3RvcmlvIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjUxODM3MTYxIiwibmFtZSI6ImZ1Z2kiLCJjcmVhdGVkX2F0IjoiMjAxMy0xMS0xOVQyMzowNTozOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNFQwMDoyNjozNFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80MjJhOWE0ZC1jNGFhLTQzNzUtYmFlNi1jN2YyMTA3MjljYjgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9mdWdpIiwidmlld3MiOjE1NzEwLCJmb2xsb3dlcnMiOjExNzQsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIZWxsbz8gQ2FuIGFueWJvZHkgc2VlIHRoaXM/IiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOnRydWV9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMDhUMTU6MDA6MTVaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJGYXJ0IENsb3VkIE1haW4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJkYXZhdHJvbjUwMDAiLCJnYW1lIjoiQXBleCBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjE2MDEyNDY5NyIsIm5hbWUiOiJkYXZhdHJvbjUwMDAiLCJjcmVhdGVkX2F0IjoiMjAxNy0wNi0xM1QxODo1NToyNloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0zMVQxMzoyMjoxOFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmQ4Y2E0YmMtZDcxOC00YWJjLTljOWUtOTY4NmFhZmFhMmM4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzdiYWIwZTFmLTY3ODAtNGRmNC1iYzY5LTNiMDdlZjQxZjQzMy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZGF2YXRyb241MDAwIiwidmlld3MiOjg2MCwiZm9sbG93ZXJzIjoxMDksImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjp0cnVlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTA3VDE2OjE3OjEyWiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiV2VQbGF5IFN0YW5kYXJ0IFRvdXJuZXkgRmluYWxzICIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlNlbXVsaW4iLCJnYW1lIjoiRG90YSBVbmRlcmxvcmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjM3NTM2OTA2IiwibmFtZSI6InNlbXVsaW4iLCJjcmVhdGVkX2F0IjoiMjAxMi0xMS0wOFQyMzowMTowOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzowMFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hYzMyNWY0NS05MWU3LTRjMDQtODViZS1kMDkyYTZiYjVlMzItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvc2VtdWxpbi1jaGFubmVsX29mZmxpbmVfaW1hZ2UtN2I1YWU2NGQ1OWUyY2JlZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yODFmOTc4OC00MTk0LTQ1YzgtOWE5OC1iMDkwNjNlYWQ4N2EtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjNmY2NTY1IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3NlbXVsaW4iLCJ2aWV3cyI6ODg5MjgxLCJmb2xsb3dlcnMiOjE0ODc0LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSSBzdHJlYW0gZ2FtZXMgdGhhdCBhcmUgZnVuISAiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6dHJ1ZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNS0wMlQxOTowNDozNFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlJlcGxheTogSWtvcmlhIEFubm91bmNlbWVudCBTdHJlYW0iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ3YXRjaF9wYXJ0eV9yZXJ1biIsImRpc3BsYXlfbmFtZSI6Ik1hZ2ljIiwiZ2FtZSI6Ik1hZ2ljOiBUaGUgR2F0aGVyaW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjI2OTkxNjEzIiwibmFtZSI6Im1hZ2ljIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMjNUMTg6MDM6NDRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjk6NTlaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNTAzMTA2MTYtYmIzMS00ZmU1LTgyNDktNGUyNzg4NzJiZjNmLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNjZTI4MmJlLTM5ZTQtNDIwMS05NmU3LTA5ODRlN2MwZjBjMi1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjc0N2U0NjUtZGM2Zi00YzZhLWIxMTYtNDBlNjc3NWE0ZTNjLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21hZ2ljIiwidmlld3MiOjExMTkwMzMwNiwiZm9sbG93ZXJzIjozNTg5NzksImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJUaGUgb2ZmaWNpYWwgTWFnaWM6IFRoZSBHYXRoZXJpbmcgYW5kIE1hZ2ljOiBUaGUgR2F0aGVyaW5nIEFyZW5hIFR3aXRjaCBjaGFubmVsIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOnRydWV9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDQtMjZUMTk6NTg6NDNaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJEYXVudGxlc3MgRGV2IFN0cmVhbSB8IERhcmsgSGFydmVzdCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlBsYXlEYXVudGxlc3MiLCJnYW1lIjoiRGF1bnRsZXNzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjEyNTYzMzU4OCIsIm5hbWUiOiJwbGF5ZGF1bnRsZXNzIiwiY3JlYXRlZF9hdCI6IjIwMTYtMDYtMDFUMDY6MDk6MTRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MDE6MzRaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTE0MTJiOGM4NGMzOGIzNy1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMzgwYjJiZWMtMDdiZS00ODEyLThhZjEtYjdhYTk2OTI1NmM4LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMDI4Njk4Yy1lOTYxLTQ4NmItODhhMC02MDM1ODUxYjJiNGEtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcGxheWRhdW50bGVzcyIsInZpZXdzIjo1MDYyODksImZvbGxvd2VycyI6NzEyMiwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkRvd25sb2FkIFx1MDAyNiBwbGF5IGZvciBmcmVlLiBCYXR0bGUgZmVyb2Npb3VzIEJlaGVtb3RocyBvbiBQbGF5U3RhdGlvbiA0LCBYYm94IGFuZCB0aGUgRXBpYyBHYW1lcyBzdG9yZS4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDQtMTRUMjM6MzI6MTJaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJbUkFHRVBSSUxdIFlvdSBjYWxsIHRoZSBiZXN0IHNhbGVzbWFuIGF0IGEgZnVuZXJhbCBob21lIHRoZSBUb3AgVXJuZXIuICFyYWdlIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiWGluaXhpYSIsImdhbWUiOiJTdGlsdCBGZWxsYSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI4OTU5MzI4NyIsIm5hbWUiOiJ4aW5peGlhIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDQtMjZUMTY6Mzg6MThaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMjI6MTE6MzBaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2MyN2Q3NDY1LTI1YzQtNDcxYS1iM2ZjLWMxMzE4NDg0ODU1NS1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMGRlYzJiZS04YmYxLTQ5NTYtOWYwNS00MTI3NWZmOWE0MTQtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvODY0M2QzODktMjYzMi00YzExLWEzOGEtMGY5ZTJiZjQ4YzY0LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYveGluaXhpYSIsInZpZXdzIjo0MDA2NSwiZm9sbG93ZXJzIjo5OTYsImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkknbSBhIDI5IHllYXIgb2xkIGd1eSBmcm9tIFNjb3RsYW5kIHBsYXlpbmcgYSBsYXJnZSB2YXJpZXR5IG9mIGdhbWVzIC0gcHJldHR5IG11Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBvbmxpbmUgY29tcGV0aXRpdmUgaXMgb24gdGhlIHRhYmxlISBIaWdobHkgY2hhdC1mb2N1c2VkIFx1MDAyNiBoZXJlIHRvIG1ha2UgZnJpZW5kcyBcdTAwMjYgdGFsayB1cCBhIHN0b3JtISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wMy0yOVQxNjo0NzowMloiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Imd1bGFnIGdhcnkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJEckx1cG8iLCJnYW1lIjoiQ2FsbCBvZiBEdXR5OiBNb2Rlcm4gV2FyZmFyZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiIyOTgyOTkxMiIsIm5hbWUiOiJkcmx1cG8iLCJjcmVhdGVkX2F0IjoiMjAxMi0wNC0xNlQxNToxMzowOFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjozN1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kMzFhODBlOC00YmRkLTQ0YjgtYTMwMC1mOTVkZGZjNzI1NWUtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjcyMmMyMzFiMTVmM2E3ZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZTA0MGRlZC0zY2EyLTQ4MWItOTMyYS04NWQ0Y2FiYmEwYTktcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjZmZmZmZmIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2RybHVwbyIsInZpZXdzIjoxMDcwODcyNTQsImZvbGxvd2VycyI6Mzg2ODQyMSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlBhcnRuZXJlZCBUd2l0Y2ggYnJvYWRjYXN0ZXIsIGZhdGhlciwgYW5kIGh1c2JhbmQuIC8vIEJlIHN1cmUgdG8gZm9sbG93IG9uIFR3aXR0ZXIsIEluc3RhZ3JhbSwgYW5kIFlvdVR1YmUgLSBARHJMdXBvLiA6KSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wMy0xNlQwMjoxNTowOVoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6InRlc3RpbmciLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJZb2hTdXp1a2kiLCJnYW1lIjpudWxsLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMjIxNTg5OTQiLCJuYW1lIjoieW9oc3V6dWtpIiwiY3JlYXRlZF9hdCI6IjIwMTEtMDUtMDJUMjM6NDU6NTVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMDE6NDQ6MzNaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzk5MjRhMGE3LWMwNzYtNDExOC1hODRkLTg3ZGI0OTc3MWYzNS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy95b2hzdXp1a2ktY2hhbm5lbF9vZmZsaW5lX2ltYWdlLWVkMzU3MzE1YzNmZGY2ZGEtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMveW9oc3V6dWtpLXByb2ZpbGVfYmFubmVyLTY4ZjIxZjk4NTdlNDk1ODYtNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzAwMDAwMCIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di95b2hzdXp1a2kiLCJ2aWV3cyI6NzAwNiwiZm9sbG93ZXJzIjoyOTYsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjp0cnVlfV19 + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:17 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed/without_options.yml b/spec/cassettes/followed/without_options.yml new file mode 100644 index 0000000..9c97b7f --- /dev/null +++ b/spec/cassettes/followed/without_options.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889/follows/channels + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:17 GMT + x-served-by: + - cache-sea4460-SEA, cache-hel6821-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091437.829599,VS0,VS0,VE228 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJfdG90YWwiOjc2LCJmb2xsb3dzIjpbeyJjcmVhdGVkX2F0IjoiMjAxOS0wMi0wOFQxNjo1MTozMFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlRXM0s6IExpdSBCZWkgZmlyc3QgcGxheXRocm91Z2gsIHBhcnQgMSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkZhbWlDb2xpbiIsImdhbWUiOiJUb3RhbCBXYXI6IFRocmVlIEtpbmdkb21zIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjEyMTQ1NDc4MyIsIm5hbWUiOiJmYW1pY29saW4iLCJjcmVhdGVkX2F0IjoiMjAxNi0wNC0xMFQxNjoyNDo1OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0xOFQyMjozOToyOVoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYmE5ZTk0YjItZDllYi00ZDNjLTliYmQtZTNmZmRhYzk3ODY1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYmZkMTBmZGEtMmYwMS00NTA3LTkxYTEtYmZkMTRlNjU4NWRiLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2ZhbWljb2xpbiIsInZpZXdzIjoxNzk5LCJmb2xsb3dlcnMiOjE1OCwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTAxLTExVDAwOjI5OjE5WiIsImNoYW5uZWwiOnsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiJBbmltYWwgQ3Jvc3NpbmcgUG9nQ2hhbXAiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJEYW5ueUthbXBzR2FtZXoiLCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNTc5NjQxNjMiLCJuYW1lIjoiZGFubnlrYW1wc2dhbWV6IiwiY3JlYXRlZF9hdCI6IjIwMTQtMDMtMDFUMTM6MTY6NDFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMDA6Mzk6NTdaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Rhbm55a2FtcHNnYW1lei1wcm9maWxlX2ltYWdlLTY5YTVmOWY2NTExMTRmYzUtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2QzZGYyOTkwLWZlYWYtNGY2Mi05OTE4LTJlYjljNjViYTI5Ny1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mOTk1ODQ5OS04MGU2LTQ3MWQtYmE3Zi1jOGNkNGExMzIzOGQtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjMDBmZjM0IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2Rhbm55a2FtcHNnYW1leiIsInZpZXdzIjo4MDQ5LCJmb2xsb3dlcnMiOjc3OSwiYnJvYWRjYXN0ZXJfdHlwZSI6ImFmZmlsaWF0ZSIsImRlc2NyaXB0aW9uIjoiSGkiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTItMjBUMDM6MTk6MDZaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJicmF2ZXIgbmV3IHNlYWJsb2NrIC0gZXAwMSAtIHdlIHN0YXJ0IHdpdGggbG9naXN0aWNzISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6InJhaW45NDQxIiwiZ2FtZSI6IkZhY3RvcmlvIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjE2MjYzNDc1MiIsIm5hbWUiOiJyYWluOTQ0MSIsImNyZWF0ZWRfYXQiOiIyMDE3LTA3LTAzVDE2OjI0OjI4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI2OjU2WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzc5YTE0Nzg0LWYyMzEtNDA3OS1hMTI3LTQ2MDY1YTAzODNkZi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85YzdmNGU3Mi0wNWRkLTQ0Y2EtYWYyMy04N2FmYWFiMzE2NDItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Y4ZTk1NTdmLWU3ZGItNDkwZC04NjMyLTdhZDk2ZGIwNWRlNS1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9yYWluOTQ0MSIsInZpZXdzIjoxNTA1MTYsImZvbGxvd2VycyI6NDk3OCwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkN1cnJlbnRseSBhIEZhY3RvcmlvIGFkZGljdCBpbiBzZWFyY2ggb2YgdGhlIHNvbG8gYW5kIG11bHRpcGxheWVyIHNwZWVkIHJ1bm5pbmcgdGl0bGVzLiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMi0xMVQwNjo1NDozMloiLCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiMyB2IDYgaGFyZCBBSSBjb21wLXN0b21wIChub3JtYWwgc3BlZWRzLCBmYXN0IHJlc2VhcmNoLCBmYXN0ZXIgc2hpcHMpIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiQmlnSGVhZFdhbnREb2xseSIsImdhbWUiOiJTaW5zIG9mIGEgU29sYXIgRW1waXJlOiBSZWJlbGxpb24iLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMTEyMjc2NzQzIiwibmFtZSI6ImJpZ2hlYWR3YW50ZG9sbHkiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMS0xMFQwMjo0NDo1NloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0xNVQyMjoyNDo1MFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDY4M2Y5MzRjMDQ0YThmMS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2JpZ2hlYWR3YW50ZG9sbHkiLCJ2aWV3cyI6NTg1LCJmb2xsb3dlcnMiOjE1LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJBbmdyaWx5IHBsYXlpbmcgYSB2YXJpZXR5IG9mIHZpZGVvIGdhbWVzIHNpbmNlIDE4MDEuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTEyLTA3VDIwOjExOjA1WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi8J+UtFtMSVZFXSBCT05VUyBTVFJFQU0hIOKAoiBCaXJ0aGRheSBNb250aCDigKIgIWdpdmVhd2F5ICF2b29kb28gIWRiaCDigKIg4p6kRFVSSUFOIEZSVUlU8J+UpSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlRoZU9ubHlSeWFubiIsImdhbWUiOiJUaGUgU3VyZ2UgMiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI2MjMzNDcxOSIsIm5hbWUiOiJ0aGVvbmx5cnlhbm4iLCJjcmVhdGVkX2F0IjoiMjAxNC0wNS0wOVQwMTo1OToyMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyNjo1NFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hMzcyZTAyMy1kZTQyLTQyYjQtYmMzNy1kZWQ5Y2VkMjY2ZWYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGhlb25seXJ5YW5uLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS00YWE0Njk0MjIwYThmN2I5LTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E4NmRkOWYwLWYyY2ItNGI5My1hMTVhLTIwOWVhZTYxODk2NC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDBiMjAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvdGhlb25seXJ5YW5uIiwidmlld3MiOjI2NTQxNzYsImZvbGxvd2VycyI6MTc2MjMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJCZWNvbWUgYSBIaWdobGFuZGVyIFx1MDAyNiBzaG93Y2FzZSB3aHkgXCJUaGVyZSBjYW4gYmUgb25seSBvbmUhXCIgVmFyaWV0eSBnYW1pbmcgY29tbXVuaXR5LCBjaGFyaXR5IHN1cHBvcnRlciwgd2l0aCBhIHRvdWNoIG9mIHNraWxsLiBMRVQnUyBHTyEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTEtMjhUMTg6NDI6NDBaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IlJlbWVtYmVyaW5nIEhvdyB0byBESiAgLS0gU29jaWFsczogQGl0c0RlcmVrU21pZnoiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJJdHNEZXJla1NtaWZ6IiwiZ2FtZSI6Ik11c2ljIFx1MDAyNiBQZXJmb3JtaW5nIEFydHMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiOTgwMzQxNzgiLCJuYW1lIjoiaXRzZGVyZWtzbWlmeiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA4LTAyVDE3OjQyOjQ4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDIwOjA2OjQyWiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZDUxOGQzNy1jZGE5LTRhZDktOTQ0Zi01NWYwODRhYmRjNDAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMDU1MTUxNzYtMDQwOS00M2MzLTk2MjQtOTEyNTlkMmYyMTgyLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzlhZjNlZTBhLTU1OWItNGVhNy04NzViLWE2OTVmNDEwZjA5Ni1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2l0c2RlcmVrc21pZnoiLCJ2aWV3cyI6NTA2MiwiZm9sbG93ZXJzIjozODEsImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkxpZmVsb25nIHZpZGVvIGdhbWUgZW50aHVzaWFzdCwgYmVlbiBwbGF5aW5nIHNldmVyYWwgdHlwZXMgb2YgZ2FtZXMgc2luY2UgYSBraWQuIE15IHN0cmVhbSBpcyBhbGwgYWJvdXQgaGFuZ2luZyBvdXQgYW5kIGhhdmluZyBncmVhdCBjb252ZXJzYXRpb25zLi5Gcm9tIE1NTydzIHRvIEZQUywgYW5kIGFsbCB0aGUgZ2FtZXMvZ2VucmVzIGluIGJldHdlZW4uIFdlIHRyeSB0byBkaXAgb3VyIHRvZXMgaW4gZXZlcnl0aGluZy4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTEtMDdUMTk6MDE6MjRaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJQaWNraW5nIGEgRGVjayBmb3IgdGhlIE15dGhpYyBQb2ludCBRdWFsaWZpZXIg8J+MtyB+ICFjZmIgIW1hZHJpbmFzICFzdGVlbHNlcmllcyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkdhYnlTcGFydHoiLCJnYW1lIjoiTWFnaWM6IFRoZSBHYXRoZXJpbmciLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNTcwMDk4MzMiLCJuYW1lIjoiZ2FieXNwYXJ0eiIsImNyZWF0ZWRfYXQiOiIyMDE0LTAyLTE3VDE4OjAzOjMwWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjAzOjI2WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY2NjMzYWE4LWQ1MmItNDk5NC1hOGQyLWU5ODVmYjA4NjRkOS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85MzNlMjE0Mi0xZDQ1LTRmYTUtODE1ZS0yYTA3M2Y5YzM3YTItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvN2RiZjFjMjcxY2ZkZGRjZC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiM0MDUxOTIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZ2FieXNwYXJ0eiIsInZpZXdzIjo0NTIxMTk3LCJmb2xsb3dlcnMiOjg0MTM1LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiUGFydG5lcmVkIFN0cmVhbWVyIHwgI1RlYW1DRkIgbWVtYmVyIHwgV3JpdGVyIFx1MDAyNiBCcm9hZGNhc3RlciBmb3IgTWFnaWM6IFRoZSBHYXRoZXJpbmcgfCBTcG9uc29yZWQgYnkgQ2hhbm5lbCBGaXJlYmFsbCwgU3RlZWxzZXJpZXMgYW5kIE1hZHJpbmFzIHwgc3BhcnR6YnVzaW5lc3NAZ21haWwuY29tIHwgSSBzdHJpdmUgZm9yIHRoaXMgY2hhbm5lbCB0byBiZSBhIHBsYWNlIHlvdSB3YW50IHRvIGNvbWUgdG8gZXZlcnlkYXkgOikiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTEtMDJUMDE6MzY6MzhaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IkJhY2sgdG8gUmFuZG9tbHkgd2hhdGV2ZXIgSSBmZWVsIGxpa2UgYXQgdGhlIG1vbWVudC4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJEYWVkYWxSb2d1ZSIsImdhbWUiOiJNb25zdGVyIEh1bnRlciBXb3JsZCIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI0NTI4NzkwMCIsIm5hbWUiOiJkYWVkYWxyb2d1ZSIsImNyZWF0ZWRfYXQiOiIyMDEzLTA2LTI3VDE5OjM3OjMwWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTAyVDA0OjA4OjI3WiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMTA5NDlhOS0xNWMwLTRlYjktOTkyOC1jMGJjNWI5MDU2M2EtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9kYWVkYWxyb2d1ZSIsInZpZXdzIjo1ODEsImZvbGxvd2VycyI6MTUsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMC0yNlQxOTo1MDo1MFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IihDaGVycnkgQmxvc3NvbSBGYXJtaW5nKSBEYW5pbWFsIENyb3NzaW5nIC0gTm8gVGltZXNraXBwaW5nIC0gTGV0J3MgYnVpbGQgYSBwYXJrIHRvZGF5ISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IkRhbnNHYW1pbmciLCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNzIzNjY5MiIsIm5hbWUiOiJkYW5zZ2FtaW5nIiwiY3JlYXRlZF9hdCI6IjIwMDktMDctMTVUMDM6MDI6NDFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6MDBaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMzJiNjg4MTMtZWE3MC00M2JmLWE4ZTQtYTU1ZjMwOTZmNDA4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzg3OGI4M2U4LTcyYzItNDNhNy05ZjMzLWM1NGQ5OWZjOWUwNC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zODBjZTcyZC03ZmU1LTQyOTUtYTYyMS04Mjk4ZDU1NWU5YWQtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjZjZmNmY2IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2RhbnNnYW1pbmciLCJ2aWV3cyI6MTE5NzM2NDg2LCJmb2xsb3dlcnMiOjgxMDM4OSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkRhbiBpcyBhIHJlZ3VsYXIgZ3V5IHdpdGggYSBwYXNzaW9uIGZvciBnYW1lcyEgUGxheWluZyBhbGwgZ2FtZXMgbmV3IHRvIG9sZC4gTGl2ZSBldmVyeWRheSBhdCA5YW0gUFNUIC8vIDVwbSBHTVQiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMTAtMjZUMTQ6MTU6MjhaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IlJlc2lkZW50IE1hcmF0aG9uISAhc2NhcmUgIWhlYXJ0cmF0ZSAhY2hhcml0eSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlN0cmVoRm94IiwiZ2FtZSI6IlJlc2lkZW50IEV2aWwgMyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI4NDkxMTY4NSIsIm5hbWUiOiJzdHJlaGZveCIsImNyZWF0ZWRfYXQiOiIyMDE1LTAzLTExVDAwOjQzOjI0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDIwOjM1OjI2WiIsInBhcnRuZXIiOmZhbHNlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zOGNkZWNjYy03YWE1LTRhNzMtYTUzZC03ZWU0NTgyZTk4NDQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOGRjZDk5M2JjMzliOTlmNC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvc3RyZWhmb3gtcHJvZmlsZV9iYW5uZXItZDg3ZTc3OTA2ZWNiNTEwYy00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9zdHJlaGZveCIsInZpZXdzIjozMjY1LCJmb2xsb3dlcnMiOjEzMSwiYnJvYWRjYXN0ZXJfdHlwZSI6ImFmZmlsaWF0ZSIsImRlc2NyaXB0aW9uIjoiRm9yZXZlciBpbiBzZWFyY2ggb2YgaGlkZGVuIGdlbXMgb2YgdGhlIGhvcnJvci12ZXJzZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMC0wMVQwMTozODowOVoiLCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiTmljZSB0byBNZWF0IHlvdSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImZpcmUiLCJnYW1lIjoiU3VwZXIgTWVhdCBCb3kiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMTU4MTc4OTUiLCJuYW1lIjoiZmlyZSIsImNyZWF0ZWRfYXQiOiIyMDEwLTA5LTE5VDIxOjIwOjI2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA3OjE1OjM1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzZhNWVjMTM2LTFjYjgtNGE2NS1hZmIyLTg5YWM4MzZiNjJjMC1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9maXJlLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS1mMTNmMTc5ZmY3MzAxNDg5LTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZmlyZS1wcm9maWxlX2Jhbm5lci1lYTEzZWZiZTY0MzhhZGM1LTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZmlyZSIsInZpZXdzIjo2NzM5MiwiZm9sbG93ZXJzIjo1ODU5LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSSBmaXggcGVvcGxlJ3MgcHJvYmxlbXMgYW5kIG9jY2FzaW9uYWxseSBzdHJlYW0uICIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6dHJ1ZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA3LTE1VDAzOjE5OjA3WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiQmFyaXN0YUpvc2ggfCBDb2ZmZWUgQXJ0ISIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InNkayIsImRpc3BsYXlfbmFtZSI6IkJhcmlzdGFKb3NoIiwiZ2FtZSI6IkFydCIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiIxNDQzOTE4MzciLCJuYW1lIjoiYmFyaXN0YWpvc2giLCJjcmVhdGVkX2F0IjoiMjAxNy0wMS0xMFQxMDoyNjo0NFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wMlQyMTowODoyMFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmNhNDlhMTU4OTQxZDNiNi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iYXJpc3Rham9zaC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtNDI1MzdlNjI5MDkyNDNmMS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yN2Y1MzlkNy1kYTQ3LTQ3MmMtYjIzYy03NGRiN2ExZDhlMWUtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9iYXJpc3Rham9zaCIsInZpZXdzIjoxMDEyMywiZm9sbG93ZXJzIjo3MjksImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkJheSBBcmVhIEJhcmlzdGEgIElHOiBCYXJpc3RhSmFzaCAgSSBzdHJlYW0gTGF0dGUgQXJ0IDpEIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE0VDIwOjM0OjE2WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiV2VkbmVzZGF5IE5pZ2h0IE1hZ2ljISBUaGVyb3MgRHJhZnRpbmciLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJkc2F2aWxsaWFuIiwiZ2FtZSI6Ik1hZ2ljOiBUaGUgR2F0aGVyaW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjcyNTAzMTQzIiwibmFtZSI6ImRzYXZpbGxpYW4iLCJjcmVhdGVkX2F0IjoiMjAxNC0xMC0wNVQxNTo1MToxMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0zMVQwMDoyNzoxMFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzQ2MTMxM2M4MzA4NWVhZS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZHNhdmlsbGlhbiIsInZpZXdzIjoxMjg3MSwiZm9sbG93ZXJzIjo2NjIsImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkFsdGhvdWdoIEkgbW9zdGx5IHBsYXkgTVRHLCBJIGNhbiBiZSBmb3VuZCBwbGF5aW5nIHNvbWUgb2YgbXkgb3RoZXIgZmF2b3VyaXRlIGdhbWVzIG9uIG9jY2FzaW9uISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNS0zMVQwMzowMTowMFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiQ1JJTU1BUyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlJTUyIsImdhbWUiOiJEZXN0aW55IDIiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiNTQwODM5NzkiLCJuYW1lIjoicnNzIiwiY3JlYXRlZF9hdCI6IjIwMTMtMTItMjlUMjM6NDI6MDlaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6NTM6NTNaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNGI0ZTY3M2UtN2Y5OC00ZWE3LWI3YWEtZGI0ZTM3YmNhOWRlLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzRhZWI4YTQxMGJmNDA3N2ItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZGEyNmUzYmQtMGE0MC00N2JmLWIxZGEtNDBhYzJkNjg2MTg2LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcnNzIiwidmlld3MiOjI3ODI4LCJmb2xsb3dlcnMiOjE4MjIsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJNdXNpY2lhbiwgcG9kY2FzdGVyLCB3YXRjaGVyIG9mIHN0cmVhbXMsIGxvdmVyIG9mIFR3aXRjaC4gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI0VDIxOjAzOjI3WiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiW0RSQUZUXSBJIHdpbGwgYmUgd2luZGluZyBkb3duIHRoZSBzdHJlYW0gc2NoZWR1bGUgdG8gXCJPY2Nhc2lvbmFsbHlcIiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IklzZXJvYyIsImdhbWUiOiJNYWdpYzogVGhlIEdhdGhlcmluZyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI1MDIzNDA4NSIsIm5hbWUiOiJpc2Vyb2MiLCJjcmVhdGVkX2F0IjoiMjAxMy0xMC0xNlQxNDo1MTozNVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wM1QyMTozMDoyM1oiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaXNlcm9jLXByb2ZpbGVfaW1hZ2UtMThmOWM5ZTE4NzdhMjhiYi0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2JkNmEwOWFjZTc1NTA3ZGYtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvaXNlcm9jIiwidmlld3MiOjc0MjExLCJmb2xsb3dlcnMiOjI3OTksImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IlR3byBGaW5uaXNoIGd1eXMgc3RyZWFtaW5nIE1hZ2ljIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOmZhbHNlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTIzVDIzOjE5OjQzWiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTWF0aGlsIC0gSW50IHN0YWNrIERlYWRleWUgQ29icmEgTGFzaCAoSG9XQSksIG1vc3Qgb2YgdGhlIGNyYWZ0aW5nIGNvbXBsZXRlLCBmaW5ldHVuaW5nIHBhc3NpdmUgdHJlZSBcdTAwMjYgc21hc2hpbmciLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJNYXRoaWwxIiwiZ2FtZSI6IlBhdGggb2YgRXhpbGUiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMjU1NzU5OTUiLCJuYW1lIjoibWF0aGlsMSIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTIwVDAwOjEzOjE0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMwOjA1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL21hdGhpbDEtcHJvZmlsZV9pbWFnZS0zOTM3NmY3OTcwNjNhODdiLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL21hdGhpbDEtcHJvZmlsZV9iYW5uZXItOGZhOTJhYWIyZTk4NjlhMS00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjODMwOTA5IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21hdGhpbDEiLCJ2aWV3cyI6MzQzMjA2OTIsImZvbGxvd2VycyI6Mjg1Njc1LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiUGxheWluZyBtYW55IGdhbWVzLCBtb3N0bHkgUG9FIGF0bS4gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOnRydWV9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMTRUMTc6MDg6MTlaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJRdWljayBzdHJlYW0gc28gSSBkb24ndCBmb3JnZXQgaG93IHRvIHN0cmVhbSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6Ik1la2EiLCJnYW1lIjoiTXVyZGVyIGJ5IE51bWJlcnMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMTU4MDM4MDA3IiwibmFtZSI6Im1la2EiLCJjcmVhdGVkX2F0IjoiMjAxNy0wNS0yN1QwNToyMDo1OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMzoyMzowMFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMTFlNmEyZWYtZjMwNS00YzlkLWE1MTQtMDYwNmIxMDE1MDc3LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbWVrYSIsInZpZXdzIjozMzEzLCJmb2xsb3dlcnMiOjE2MCwiYnJvYWRjYXN0ZXJfdHlwZSI6ImFmZmlsaWF0ZSIsImRlc2NyaXB0aW9uIjoiVHJ5aW5nIHRvIG1ha2UgYSBoYWJpdCBvZiBzdHJlYW1pbmcgZXZlcnkgd2Vla2VuZC4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOnRydWV9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNS0wOVQyMTo0NzowNFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlJhaWwgKyBEZWF0aCBXb3JsZCBGYWN0b3JpbyB3LyBjby13b3JrZXJzLCBub3cgZmVhdHVyaW5nIExvZ2lzdGljIFRyYWlucyEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJGdWdpIiwiZ2FtZSI6IkZhY3RvcmlvIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjUxODM3MTYxIiwibmFtZSI6ImZ1Z2kiLCJjcmVhdGVkX2F0IjoiMjAxMy0xMS0xOVQyMzowNTozOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNFQwMDoyNjozNFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80MjJhOWE0ZC1jNGFhLTQzNzUtYmFlNi1jN2YyMTA3MjljYjgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9mdWdpIiwidmlld3MiOjE1NzEwLCJmb2xsb3dlcnMiOjExNzQsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJIZWxsbz8gQ2FuIGFueWJvZHkgc2VlIHRoaXM/IiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOnRydWV9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMDhUMTU6MDA6MTVaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJGYXJ0IENsb3VkIE1haW4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJkYXZhdHJvbjUwMDAiLCJnYW1lIjoiQXBleCBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjE2MDEyNDY5NyIsIm5hbWUiOiJkYXZhdHJvbjUwMDAiLCJjcmVhdGVkX2F0IjoiMjAxNy0wNi0xM1QxODo1NToyNloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0zMVQxMzoyMjoxOFoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmQ4Y2E0YmMtZDcxOC00YWJjLTljOWUtOTY4NmFhZmFhMmM4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzdiYWIwZTFmLTY3ODAtNGRmNC1iYzY5LTNiMDdlZjQxZjQzMy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZGF2YXRyb241MDAwIiwidmlld3MiOjg2MCwiZm9sbG93ZXJzIjoxMDksImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjp0cnVlfSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTA3VDE2OjE3OjEyWiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiV2VQbGF5IFN0YW5kYXJ0IFRvdXJuZXkgRmluYWxzICIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlNlbXVsaW4iLCJnYW1lIjoiRG90YSBVbmRlcmxvcmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjM3NTM2OTA2IiwibmFtZSI6InNlbXVsaW4iLCJjcmVhdGVkX2F0IjoiMjAxMi0xMS0wOFQyMzowMTowOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzowMFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hYzMyNWY0NS05MWU3LTRjMDQtODViZS1kMDkyYTZiYjVlMzItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvc2VtdWxpbi1jaGFubmVsX29mZmxpbmVfaW1hZ2UtN2I1YWU2NGQ1OWUyY2JlZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yODFmOTc4OC00MTk0LTQ1YzgtOWE5OC1iMDkwNjNlYWQ4N2EtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjNmY2NTY1IiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3NlbXVsaW4iLCJ2aWV3cyI6ODg5MjgxLCJmb2xsb3dlcnMiOjE0ODc0LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiSSBzdHJlYW0gZ2FtZXMgdGhhdCBhcmUgZnVuISAiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6dHJ1ZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNS0wMlQxOTowNDozNFoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlJlcGxheTogSWtvcmlhIEFubm91bmNlbWVudCBTdHJlYW0iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ3YXRjaF9wYXJ0eV9yZXJ1biIsImRpc3BsYXlfbmFtZSI6Ik1hZ2ljIiwiZ2FtZSI6Ik1hZ2ljOiBUaGUgR2F0aGVyaW5nIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjI2OTkxNjEzIiwibmFtZSI6Im1hZ2ljIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMjNUMTg6MDM6NDRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjk6NTlaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNTAzMTA2MTYtYmIzMS00ZmU1LTgyNDktNGUyNzg4NzJiZjNmLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNjZTI4MmJlLTM5ZTQtNDIwMS05NmU3LTA5ODRlN2MwZjBjMi1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjc0N2U0NjUtZGM2Zi00YzZhLWIxMTYtNDBlNjc3NWE0ZTNjLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21hZ2ljIiwidmlld3MiOjExMTkwMzMwNiwiZm9sbG93ZXJzIjozNTg5NzksImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJUaGUgb2ZmaWNpYWwgTWFnaWM6IFRoZSBHYXRoZXJpbmcgYW5kIE1hZ2ljOiBUaGUgR2F0aGVyaW5nIEFyZW5hIFR3aXRjaCBjaGFubmVsIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sIm5vdGlmaWNhdGlvbnMiOnRydWV9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDQtMjZUMTk6NTg6NDNaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJEYXVudGxlc3MgRGV2IFN0cmVhbSB8IERhcmsgSGFydmVzdCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlBsYXlEYXVudGxlc3MiLCJnYW1lIjoiRGF1bnRsZXNzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6IjEyNTYzMzU4OCIsIm5hbWUiOiJwbGF5ZGF1bnRsZXNzIiwiY3JlYXRlZF9hdCI6IjIwMTYtMDYtMDFUMDY6MDk6MTRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MDE6MzRaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTE0MTJiOGM4NGMzOGIzNy1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMzgwYjJiZWMtMDdiZS00ODEyLThhZjEtYjdhYTk2OTI1NmM4LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMDI4Njk4Yy1lOTYxLTQ4NmItODhhMC02MDM1ODUxYjJiNGEtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcGxheWRhdW50bGVzcyIsInZpZXdzIjo1MDYyODksImZvbGxvd2VycyI6NzEyMiwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkRvd25sb2FkIFx1MDAyNiBwbGF5IGZvciBmcmVlLiBCYXR0bGUgZmVyb2Npb3VzIEJlaGVtb3RocyBvbiBQbGF5U3RhdGlvbiA0LCBYYm94IGFuZCB0aGUgRXBpYyBHYW1lcyBzdG9yZS4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwibm90aWZpY2F0aW9ucyI6ZmFsc2V9LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDQtMTRUMjM6MzI6MTJaIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJbUkFHRVBSSUxdIFlvdSBjYWxsIHRoZSBiZXN0IHNhbGVzbWFuIGF0IGEgZnVuZXJhbCBob21lIHRoZSBUb3AgVXJuZXIuICFyYWdlIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiWGluaXhpYSIsImdhbWUiOiJTdGlsdCBGZWxsYSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiI4OTU5MzI4NyIsIm5hbWUiOiJ4aW5peGlhIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDQtMjZUMTY6Mzg6MThaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMjI6MTE6MzBaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2MyN2Q3NDY1LTI1YzQtNDcxYS1iM2ZjLWMxMzE4NDg0ODU1NS1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMGRlYzJiZS04YmYxLTQ5NTYtOWYwNS00MTI3NWZmOWE0MTQtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvODY0M2QzODktMjYzMi00YzExLWEzOGEtMGY5ZTJiZjQ4YzY0LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYveGluaXhpYSIsInZpZXdzIjo0MDA2NSwiZm9sbG93ZXJzIjo5OTYsImJyb2FkY2FzdGVyX3R5cGUiOiJhZmZpbGlhdGUiLCJkZXNjcmlwdGlvbiI6IkknbSBhIDI5IHllYXIgb2xkIGd1eSBmcm9tIFNjb3RsYW5kIHBsYXlpbmcgYSBsYXJnZSB2YXJpZXR5IG9mIGdhbWVzIC0gcHJldHR5IG11Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBvbmxpbmUgY29tcGV0aXRpdmUgaXMgb24gdGhlIHRhYmxlISBIaWdobHkgY2hhdC1mb2N1c2VkIFx1MDAyNiBoZXJlIHRvIG1ha2UgZnJpZW5kcyBcdTAwMjYgdGFsayB1cCBhIHN0b3JtISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wMy0yOVQxNjo0NzowMloiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Imd1bGFnIGdhcnkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJEckx1cG8iLCJnYW1lIjoiQ2FsbCBvZiBEdXR5OiBNb2Rlcm4gV2FyZmFyZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOiIyOTgyOTkxMiIsIm5hbWUiOiJkcmx1cG8iLCJjcmVhdGVkX2F0IjoiMjAxMi0wNC0xNlQxNToxMzowOFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjozN1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kMzFhODBlOC00YmRkLTQ0YjgtYTMwMC1mOTVkZGZjNzI1NWUtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjcyMmMyMzFiMTVmM2E3ZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mZTA0MGRlZC0zY2EyLTQ4MWItOTMyYS04NWQ0Y2FiYmEwYTktcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjZmZmZmZmIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2RybHVwbyIsInZpZXdzIjoxMDcwODcyNTQsImZvbGxvd2VycyI6Mzg2ODQyMSwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IlBhcnRuZXJlZCBUd2l0Y2ggYnJvYWRjYXN0ZXIsIGZhdGhlciwgYW5kIGh1c2JhbmQuIC8vIEJlIHN1cmUgdG8gZm9sbG93IG9uIFR3aXR0ZXIsIEluc3RhZ3JhbSwgYW5kIFlvdVR1YmUgLSBARHJMdXBvLiA6KSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjpmYWxzZX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wMy0xNlQwMjoxNTowOVoiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6InRlc3RpbmciLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJZb2hTdXp1a2kiLCJnYW1lIjpudWxsLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoiMjIxNTg5OTQiLCJuYW1lIjoieW9oc3V6dWtpIiwiY3JlYXRlZF9hdCI6IjIwMTEtMDUtMDJUMjM6NDU6NTVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMDE6NDQ6MzNaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzk5MjRhMGE3LWMwNzYtNDExOC1hODRkLTg3ZGI0OTc3MWYzNS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy95b2hzdXp1a2ktY2hhbm5lbF9vZmZsaW5lX2ltYWdlLWVkMzU3MzE1YzNmZGY2ZGEtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMveW9oc3V6dWtpLXByb2ZpbGVfYmFubmVyLTY4ZjIxZjk4NTdlNDk1ODYtNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzAwMDAwMCIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di95b2hzdXp1a2kiLCJ2aWV3cyI6NzAwNiwiZm9sbG93ZXJzIjoyOTYsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJub3RpZmljYXRpb25zIjp0cnVlfV19 + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:17 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed_streams/with_actual_access_token.yml b/spec/cassettes/followed_streams/with_actual_access_token.yml new file mode 100644 index 0000000..eace018 --- /dev/null +++ b/spec/cassettes/followed_streams/with_actual_access_token.yml @@ -0,0 +1,61 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '807' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:19 GMT + x-served-by: + - cache-sea4454-SEA, cache-hel6827-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091439.914916,VS0,VS0,VE206 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: ASCII-8BIT + string: '{"streams":[{"_id":37392938416,"game":"Tom Clancy''s The Division 2","broadcast_platform":"live","community_id":"","community_ids":[],"viewers":654,"video_height":1080,"average_fps":60,"delay":0,"created_at":"2020-04-05T04:39:30Z","is_playlist":false,"stream_type":"live","preview":{"small":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-80x45.jpg","medium":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-320x180.jpg","large":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-640x360.jpg","template":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-{width}x{height}.jpg"},"channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false}}]}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:19 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed_streams/with_outdated_access_token/with_refresh_token.yml b/spec/cassettes/followed_streams/with_outdated_access_token/with_refresh_token.yml new file mode 100644 index 0000000..8ec19b1 --- /dev/null +++ b/spec/cassettes/followed_streams/with_outdated_access_token/with_refresh_token.yml @@ -0,0 +1,153 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:19 GMT + x-served-by: + - cache-sea4443-SEA, cache-hel6828-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091439.263234,VS0,VS0,VE192 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:19 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token= + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 200 + message: OK + headers: + date: + - Sun, 05 Apr 2020 12:57:20 GMT + content-type: + - application/json + content-length: + - '301' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5b0-9b1c38e602d049e4140aa35a + body: + encoding: UTF-8 + string: '{"access_token":"","expires_in":14119,"refresh_token":"","scope":["bits:read","channel_commercial","channel_editor","channel_read","channel_stream","user:read:email","user_blocks_edit","user_read"],"token_type":"bearer"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:20 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth dycgk946fyxyp9rg1yv7wj87uh76ev + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '807' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:20 GMT + x-served-by: + - cache-sea4440-SEA, cache-hel6828-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091441.542041,VS0,VS0,VE207 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: ASCII-8BIT + string: '{"streams":[{"_id":37392938416,"game":"Tom Clancy''s The Division 2","broadcast_platform":"live","community_id":"","community_ids":[],"viewers":654,"video_height":1080,"average_fps":60,"delay":0,"created_at":"2020-04-05T04:39:30Z","is_playlist":false,"stream_type":"live","preview":{"small":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-80x45.jpg","medium":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-320x180.jpg","large":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-640x360.jpg","template":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-{width}x{height}.jpg"},"channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false}}]}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:20 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed_streams/with_outdated_access_token/without_refresh_token.yml b/spec/cassettes/followed_streams/with_outdated_access_token/without_refresh_token.yml new file mode 100644 index 0000000..d527d55 --- /dev/null +++ b/spec/cassettes/followed_streams/with_outdated_access_token/without_refresh_token.yml @@ -0,0 +1,95 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:21 GMT + x-served-by: + - cache-sea4427-SEA, cache-hel6826-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091441.887489,VS0,VS0,VE195 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:21 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 400 + message: Bad Request + headers: + date: + - Sun, 05 Apr 2020 12:57:21 GMT + content-type: + - application/json + content-length: + - '49' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5b1-c45395e976d861e1832fec34 + body: + encoding: UTF-8 + string: '{"status":400,"message":"missing refresh token"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:21 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed_videos/with_actual_access_token.yml b/spec/cassettes/followed_videos/with_actual_access_token.yml new file mode 100644 index 0000000..f193d15 --- /dev/null +++ b/spec/cassettes/followed_videos/with_actual_access_token.yml @@ -0,0 +1,117 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/videos/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:22 GMT + x-served-by: + - cache-sea4447-SEA, cache-hel6834-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091442.071378,VS0,VS0,VE220 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"videos":[{"title":"[24/7 LIVE] the grind for loot - Safer @ Home + Support Group","description":null,"description_html":null,"broadcast_id":37392938416,"broadcast_type":"archive","status":"recording","tag_list":"","views":5,"url":"https://www.twitch.tv/videos/583765344","language":"en","created_at":"2020-04-05T04:39:38Z","viewable":"public","viewable_at":null,"published_at":"2020-04-05T04:39:38Z","delete_at":"2020-06-04T04:39:38Z","_id":"v583765344","recorded_at":"2020-04-05T04:39:38Z","game":"Tom + Clancy''s The Division 2","length":29864,"preview":{"small":"https://vod-secure.twitch.tv/_404/404_processing_80x45.png","medium":"https://vod-secure.twitch.tv/_404/404_processing_320x180.png","large":"https://vod-secure.twitch.tv/_404/404_processing_640x360.png","template":"https://vod-secure.twitch.tv/_404/404_processing_{width}x{height}.png"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/1f32ae531988fbce59a1_streamerhouse_37392938416_1405865485/storyboards/583765344-strip-0.jpg","thumbnails":{"small":[],"medium":[],"large":[],"template":[]},"fps":{"160p30":30,"360p30":30,"480p30":30,"720p30":30,"720p60":60,"audio_only":0,"chunked":61},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/1f32ae531988fbce59a1_streamerhouse_37392938416_1405865485/storyboards/583765344-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22583765344%22%2C%22type%22%3A%22vod%22%7D"},{"title":"[24/7 + LIVE] Safer @ Home Support Group","description":null,"description_html":null,"broadcast_id":37365816960,"broadcast_type":"archive","status":"recorded","tag_list":"","views":83,"url":"https://www.twitch.tv/videos/582025756","language":"en","created_at":"2020-04-03T04:39:20Z","viewable":"public","viewable_at":null,"published_at":"2020-04-03T04:39:20Z","delete_at":"2020-06-02T04:39:20Z","_id":"v582025756","recorded_at":"2020-04-03T04:39:19Z","game":"Tom + Clancy''s The Division 2","length":172803,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/storyboards/582025756-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99154219097427,"360p30":29.99154219097427,"480p30":29.99154219097427,"720p30":29.99154219097427,"720p60":59.93243729422379,"chunked":59.93243729422379},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/storyboards/582025756-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22582025756%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Occupy + White Walls","description":"https://bit.ly/3aDXCrN","description_html":"\u003ca + href=\"https://bit.ly/3aDXCrN\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003ehttps://bit.ly/3aDXCrN\u003c/a\u003e\u003cbr\u003e","broadcast_id":1,"broadcast_type":"highlight","status":"recorded","tag_list":"","views":9,"url":"https://www.twitch.tv/videos/581759004","language":"en","created_at":"2020-04-02T21:51:07Z","viewable":"public","viewable_at":null,"published_at":"2020-04-02T21:51:07Z","_id":"v581759004","recorded_at":"2020-04-02T21:51:07Z","game":"Occupy + White Walls","length":4239,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-80x45.jpeg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-320x180.jpeg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-640x360.jpeg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-{width}x{height}.jpeg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/storyboards/581759004-strip-0.jpg","thumbnails":{"small":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-80x45.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-80x45.jpg"}],"medium":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-320x180.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-320x180.jpg"}],"large":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-640x360.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-640x360.jpg"}],"template":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-{width}x{height}.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-{width}x{height}.jpg"}]},"fps":{"160p30":30,"360p30":30,"480p30":30,"720p30":30,"720p60":60,"audio_only":0,"chunked":61},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/storyboards/581759004-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","audio_only":"","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22581759004%22%2C%22type%22%3A%22vod%22%7D"},{"title":"#Safer@Home + !BANLORD - Visit Streamerhouse.com While You Can!","description":null,"description_html":null,"broadcast_id":37352810384,"broadcast_type":"archive","status":"recorded","tag_list":"","views":77,"url":"https://www.twitch.tv/videos/581199691","language":"en","created_at":"2020-04-02T04:14:11Z","viewable":"public","viewable_at":null,"published_at":"2020-04-02T04:14:11Z","delete_at":"2020-06-01T04:14:11Z","_id":"v581199691","recorded_at":"2020-04-02T04:14:11Z","game":"Mount + \u0026 Blade II: Bannerlord","length":87166,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/storyboards/581199691-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.932964592434676,"360p30":29.932964592434676,"480p30":29.932978328487067,"720p30":29.932978328487067,"720p60":59.799864474888835,"chunked":59.79988242684736},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/storyboards/581199691-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22581199691%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Safer + @ Home Support Group - Visit StreamerHouse.com While You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37328913856,"broadcast_type":"archive","status":"recorded","tag_list":"","views":184,"url":"https://www.twitch.tv/videos/579597219","language":"en","created_at":"2020-03-31T04:13:15Z","viewable":"public","viewable_at":null,"published_at":"2020-03-31T04:13:15Z","delete_at":"2020-05-30T04:13:15Z","_id":"v579597219","recorded_at":"2020-03-31T04:13:14Z","game":"Mount + \u0026 Blade II: Bannerlord","length":172763,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/storyboards/579597219-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.9693479433434,"360p30":29.9693479433434,"480p30":29.96934655557879,"720p30":29.96934655557879,"720p60":59.91633191349719,"chunked":59.91633770176145},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/storyboards/579597219-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22579597219%22%2C%22type%22%3A%22vod%22%7D"},{"title":"24/7 + - Stay At Home Support Group - Visit StreamerHouse.com While You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37307265584,"broadcast_type":"archive","status":"recorded","tag_list":"","views":186,"url":"https://www.twitch.tv/videos/578076839","language":"en","created_at":"2020-03-29T04:12:56Z","viewable":"public","viewable_at":null,"published_at":"2020-03-29T04:12:56Z","delete_at":"2020-05-28T04:12:56Z","_id":"v578076839","recorded_at":"2020-03-29T04:12:56Z","game":"Last + Oasis","length":172803,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/storyboards/578076839-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99841745148417,"360p30":29.99841745148417,"480p30":29.99841745148417,"720p30":29.998417433167802,"720p60":59.995193963780544,"chunked":59.995193963780544},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/storyboards/578076839-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22578076839%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Stay + At Home Support Group - Last Oasis - Fear is the Mind Killer - Visit StreamerHouse.com + While You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37282386384,"broadcast_type":"archive","status":"recorded","tag_list":"","views":117,"url":"https://www.twitch.tv/videos/576427124","language":"en","created_at":"2020-03-27T04:12:38Z","viewable":"public","viewable_at":null,"published_at":"2020-03-27T04:12:38Z","delete_at":"2020-05-26T04:12:38Z","_id":"v576427124","recorded_at":"2020-03-27T04:12:37Z","game":"Last + Oasis","length":172803,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/storyboards/576427124-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99067235840782,"360p30":29.99067235840782,"480p30":29.99067235840782,"720p30":29.99067235840782,"720p60":59.97828343791112,"chunked":59.97828343791112},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/storyboards/576427124-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22576427124%22%2C%22type%22%3A%22vod%22%7D"},{"title":"24/7 + Quarantine Since 2013 - !glitch fixed !ui bug - Visit StreamerHouse.com While + You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37258997952,"broadcast_type":"archive","status":"recorded","tag_list":"","views":137,"url":"https://www.twitch.tv/videos/574862728","language":"en","created_at":"2020-03-25T04:12:19Z","viewable":"public","viewable_at":null,"published_at":"2020-03-25T04:12:19Z","delete_at":"2020-05-24T04:12:19Z","_id":"v574862728","recorded_at":"2020-03-25T04:12:18Z","game":"Tom + Clancy''s The Division 2","length":172802,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/storyboards/574862728-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":30.001030771551605,"360p30":30.001030771551605,"480p30":30.001030771551605,"720p30":30.001030771551605,"720p60":59.999058105100524,"chunked":59.99905811600192},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/storyboards/574862728-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22574862728%22%2C%22type%22%3A%22vod%22%7D"},{"title":"The + Grind is Real. - 24/7 Voluntary Quarantine - Visit StreamerHouse.com While + You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37236078048,"broadcast_type":"archive","status":"recorded","tag_list":"","views":154,"url":"https://www.twitch.tv/videos/573322436","language":"en","created_at":"2020-03-23T04:12:01Z","viewable":"public","viewable_at":null,"published_at":"2020-03-23T04:12:01Z","delete_at":"2020-05-22T04:12:01Z","_id":"v573322436","recorded_at":"2020-03-23T04:12:00Z","game":"Tom + Clancy''s The Division 2","length":172802,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/storyboards/573322436-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99854979050665,"360p30":29.99854979050665,"480p30":29.99854979050665,"720p30":29.99854979050665,"720p60":59.99590168250921,"chunked":59.99590168250921},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/storyboards/573322436-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22573322436%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Bless + Unleashed ","description":"","description_html":"","broadcast_id":1,"broadcast_type":"highlight","status":"recorded","tag_list":"","views":7,"url":"https://www.twitch.tv/videos/573197901","language":"en","created_at":"2020-03-23T00:25:38Z","viewable":"public","viewable_at":null,"published_at":"2020-03-23T00:25:38Z","_id":"v573197901","recorded_at":"2020-03-23T00:25:38Z","game":"Bless + Unleashed","length":7570,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001/storyboards/573197901-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-{width}x{height}.jpg"}]},"fps":{"160p30":29.994176248922646,"360p30":29.994176316346774,"480p30":29.994176316346774,"720p30":29.994176316346774,"720p60":59.971982133139534,"audio_only":0,"chunked":59.97198245751094},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001/storyboards/573197901-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","audio_only":"","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22573197901%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Bless + Unleashed ","description":"","description_html":"","broadcast_id":1,"broadcast_type":"highlight","status":"recorded","tag_list":"","views":3,"url":"https://www.twitch.tv/videos/573193508","language":"en","created_at":"2020-03-23T00:18:37Z","viewable":"public","viewable_at":null,"published_at":"2020-03-23T00:18:37Z","_id":"v573193508","recorded_at":"2020-03-23T00:18:37Z","game":"Bless + Unleashed","length":6912,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340/storyboards/573193508-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-{width}x{height}.jpg"}]},"fps":{"160p30":30.003740276909337,"360p30":30.003740276909337,"480p30":30.003740276909337,"720p30":30.003740276909337,"720p60":59.97495445259627,"audio_only":0,"chunked":59.974969434678826},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340/storyboards/573193508-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","audio_only":"","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22573193508%22%2C%22type%22%3A%22vod%22%7D"}]}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:22 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed_videos/with_outdated_access_token/with_refresh_token.yml b/spec/cassettes/followed_videos/with_outdated_access_token/with_refresh_token.yml new file mode 100644 index 0000000..06052db --- /dev/null +++ b/spec/cassettes/followed_videos/with_outdated_access_token/with_refresh_token.yml @@ -0,0 +1,209 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/videos/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:22 GMT + x-served-by: + - cache-sea4478-SEA, cache-hel6821-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091443.502490,VS0,VS0,VE196 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:22 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token= + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 200 + message: OK + headers: + date: + - Sun, 05 Apr 2020 12:57:23 GMT + content-type: + - application/json + content-length: + - '301' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5b3-1cdf23006fd5f140caa4f140 + body: + encoding: UTF-8 + string: '{"access_token":"","expires_in":13050,"refresh_token":"","scope":["bits:read","channel_commercial","channel_editor","channel_read","channel_stream","user:read:email","user_blocks_edit","user_read"],"token_type":"bearer"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:23 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/videos/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth i2oe2xis8euvvdwt837pavsvoyzd8p + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:23 GMT + x-served-by: + - cache-sea4424-SEA, cache-hel6826-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091444.784632,VS0,VS0,VE215 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"videos":[{"title":"[24/7 LIVE] the grind for loot - Safer @ Home + Support Group","description":null,"description_html":null,"broadcast_id":37392938416,"broadcast_type":"archive","status":"recording","tag_list":"","views":5,"url":"https://www.twitch.tv/videos/583765344","language":"en","created_at":"2020-04-05T04:39:38Z","viewable":"public","viewable_at":null,"published_at":"2020-04-05T04:39:38Z","delete_at":"2020-06-04T04:39:38Z","_id":"v583765344","recorded_at":"2020-04-05T04:39:38Z","game":"Tom + Clancy''s The Division 2","length":29864,"preview":{"small":"https://vod-secure.twitch.tv/_404/404_processing_80x45.png","medium":"https://vod-secure.twitch.tv/_404/404_processing_320x180.png","large":"https://vod-secure.twitch.tv/_404/404_processing_640x360.png","template":"https://vod-secure.twitch.tv/_404/404_processing_{width}x{height}.png"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/1f32ae531988fbce59a1_streamerhouse_37392938416_1405865485/storyboards/583765344-strip-0.jpg","thumbnails":{"small":[],"medium":[],"large":[],"template":[]},"fps":{"160p30":30,"360p30":30,"480p30":30,"720p30":30,"720p60":60,"audio_only":0,"chunked":61},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/1f32ae531988fbce59a1_streamerhouse_37392938416_1405865485/storyboards/583765344-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22583765344%22%2C%22type%22%3A%22vod%22%7D"},{"title":"[24/7 + LIVE] Safer @ Home Support Group","description":null,"description_html":null,"broadcast_id":37365816960,"broadcast_type":"archive","status":"recorded","tag_list":"","views":83,"url":"https://www.twitch.tv/videos/582025756","language":"en","created_at":"2020-04-03T04:39:20Z","viewable":"public","viewable_at":null,"published_at":"2020-04-03T04:39:20Z","delete_at":"2020-06-02T04:39:20Z","_id":"v582025756","recorded_at":"2020-04-03T04:39:19Z","game":"Tom + Clancy''s The Division 2","length":172803,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/storyboards/582025756-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99154219097427,"360p30":29.99154219097427,"480p30":29.99154219097427,"720p30":29.99154219097427,"720p60":59.93243729422379,"chunked":59.93243729422379},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/8f0750b317ed55ac8919_streamerhouse_37365816960_1404167689/storyboards/582025756-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22582025756%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Occupy + White Walls","description":"https://bit.ly/3aDXCrN","description_html":"\u003ca + href=\"https://bit.ly/3aDXCrN\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003ehttps://bit.ly/3aDXCrN\u003c/a\u003e\u003cbr\u003e","broadcast_id":1,"broadcast_type":"highlight","status":"recorded","tag_list":"","views":9,"url":"https://www.twitch.tv/videos/581759004","language":"en","created_at":"2020-04-02T21:51:07Z","viewable":"public","viewable_at":null,"published_at":"2020-04-02T21:51:07Z","_id":"v581759004","recorded_at":"2020-04-02T21:51:07Z","game":"Occupy + White Walls","length":4239,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-80x45.jpeg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-320x180.jpeg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-640x360.jpeg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-{width}x{height}.jpeg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/storyboards/581759004-strip-0.jpg","thumbnails":{"small":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-80x45.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-80x45.jpg"}],"medium":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-320x180.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-320x180.jpg"}],"large":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-640x360.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-640x360.jpg"}],"template":[{"type":"custom","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/thumb/custom-77b44bdb-946b-4922-b89e-5d7d5b956a50-{width}x{height}.jpeg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125//thumb/thumb581759004-{width}x{height}.jpg"}]},"fps":{"160p30":30,"360p30":30,"480p30":30,"720p30":30,"720p60":60,"audio_only":0,"chunked":61},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/9a7efbb2ffae45a6551b_streamerhouse_13085657306_4811659125/storyboards/581759004-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","audio_only":"","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22581759004%22%2C%22type%22%3A%22vod%22%7D"},{"title":"#Safer@Home + !BANLORD - Visit Streamerhouse.com While You Can!","description":null,"description_html":null,"broadcast_id":37352810384,"broadcast_type":"archive","status":"recorded","tag_list":"","views":77,"url":"https://www.twitch.tv/videos/581199691","language":"en","created_at":"2020-04-02T04:14:11Z","viewable":"public","viewable_at":null,"published_at":"2020-04-02T04:14:11Z","delete_at":"2020-06-01T04:14:11Z","_id":"v581199691","recorded_at":"2020-04-02T04:14:11Z","game":"Mount + \u0026 Blade II: Bannerlord","length":87166,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/storyboards/581199691-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.932964592434676,"360p30":29.932964592434676,"480p30":29.932978328487067,"720p30":29.932978328487067,"720p60":59.799864474888835,"chunked":59.79988242684736},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/e560adef84a6310f4a96_streamerhouse_37352810384_1403353748/storyboards/581199691-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22581199691%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Safer + @ Home Support Group - Visit StreamerHouse.com While You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37328913856,"broadcast_type":"archive","status":"recorded","tag_list":"","views":184,"url":"https://www.twitch.tv/videos/579597219","language":"en","created_at":"2020-03-31T04:13:15Z","viewable":"public","viewable_at":null,"published_at":"2020-03-31T04:13:15Z","delete_at":"2020-05-30T04:13:15Z","_id":"v579597219","recorded_at":"2020-03-31T04:13:14Z","game":"Mount + \u0026 Blade II: Bannerlord","length":172763,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/storyboards/579597219-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.9693479433434,"360p30":29.9693479433434,"480p30":29.96934655557879,"720p30":29.96934655557879,"720p60":59.91633191349719,"chunked":59.91633770176145},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/25153041bfe30eec0db3_streamerhouse_37328913856_1401859497/storyboards/579597219-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22579597219%22%2C%22type%22%3A%22vod%22%7D"},{"title":"24/7 + - Stay At Home Support Group - Visit StreamerHouse.com While You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37307265584,"broadcast_type":"archive","status":"recorded","tag_list":"","views":186,"url":"https://www.twitch.tv/videos/578076839","language":"en","created_at":"2020-03-29T04:12:56Z","viewable":"public","viewable_at":null,"published_at":"2020-03-29T04:12:56Z","delete_at":"2020-05-28T04:12:56Z","_id":"v578076839","recorded_at":"2020-03-29T04:12:56Z","game":"Last + Oasis","length":172803,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/storyboards/578076839-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99841745148417,"360p30":29.99841745148417,"480p30":29.99841745148417,"720p30":29.998417433167802,"720p60":59.995193963780544,"chunked":59.995193963780544},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/fdd1c318fe62600d060b_streamerhouse_37307265584_1400504207/storyboards/578076839-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22578076839%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Stay + At Home Support Group - Last Oasis - Fear is the Mind Killer - Visit StreamerHouse.com + While You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37282386384,"broadcast_type":"archive","status":"recorded","tag_list":"","views":117,"url":"https://www.twitch.tv/videos/576427124","language":"en","created_at":"2020-03-27T04:12:38Z","viewable":"public","viewable_at":null,"published_at":"2020-03-27T04:12:38Z","delete_at":"2020-05-26T04:12:38Z","_id":"v576427124","recorded_at":"2020-03-27T04:12:37Z","game":"Last + Oasis","length":172803,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/storyboards/576427124-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99067235840782,"360p30":29.99067235840782,"480p30":29.99067235840782,"720p30":29.99067235840782,"720p60":59.97828343791112,"chunked":59.97828343791112},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/44ad69e97d7d4b253a4c_streamerhouse_37282386384_1398946152/storyboards/576427124-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22576427124%22%2C%22type%22%3A%22vod%22%7D"},{"title":"24/7 + Quarantine Since 2013 - !glitch fixed !ui bug - Visit StreamerHouse.com While + You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37258997952,"broadcast_type":"archive","status":"recorded","tag_list":"","views":137,"url":"https://www.twitch.tv/videos/574862728","language":"en","created_at":"2020-03-25T04:12:19Z","viewable":"public","viewable_at":null,"published_at":"2020-03-25T04:12:19Z","delete_at":"2020-05-24T04:12:19Z","_id":"v574862728","recorded_at":"2020-03-25T04:12:18Z","game":"Tom + Clancy''s The Division 2","length":172802,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/storyboards/574862728-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":30.001030771551605,"360p30":30.001030771551605,"480p30":30.001030771551605,"720p30":30.001030771551605,"720p60":59.999058105100524,"chunked":59.99905811600192},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/4b1d323571c7cf140177_streamerhouse_37258997952_1397481435/storyboards/574862728-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22574862728%22%2C%22type%22%3A%22vod%22%7D"},{"title":"The + Grind is Real. - 24/7 Voluntary Quarantine - Visit StreamerHouse.com While + You Still Can!!!!!","description":null,"description_html":null,"broadcast_id":37236078048,"broadcast_type":"archive","status":"recorded","tag_list":"","views":154,"url":"https://www.twitch.tv/videos/573322436","language":"en","created_at":"2020-03-23T04:12:01Z","viewable":"public","viewable_at":null,"published_at":"2020-03-23T04:12:01Z","delete_at":"2020-05-22T04:12:01Z","_id":"v573322436","recorded_at":"2020-03-23T04:12:00Z","game":"Tom + Clancy''s The Division 2","length":172802,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/storyboards/573322436-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-80x45.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-320x180.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-640x360.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb0-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb1-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb2-{width}x{height}.jpg"},{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/thumb/thumb3-{width}x{height}.jpg"}]},"fps":{"160p30":29.99854979050665,"360p30":29.99854979050665,"480p30":29.99854979050665,"720p30":29.99854979050665,"720p60":59.99590168250921,"chunked":59.99590168250921},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/a2e7768c7b19b21cf68a_streamerhouse_37236078048_1396045591/storyboards/573322436-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22573322436%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Bless + Unleashed ","description":"","description_html":"","broadcast_id":1,"broadcast_type":"highlight","status":"recorded","tag_list":"","views":7,"url":"https://www.twitch.tv/videos/573197901","language":"en","created_at":"2020-03-23T00:25:38Z","viewable":"public","viewable_at":null,"published_at":"2020-03-23T00:25:38Z","_id":"v573197901","recorded_at":"2020-03-23T00:25:38Z","game":"Bless + Unleashed","length":7570,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001/storyboards/573197901-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001//thumb/thumb573197901-{width}x{height}.jpg"}]},"fps":{"160p30":29.994176248922646,"360p30":29.994176316346774,"480p30":29.994176316346774,"720p30":29.994176316346774,"720p60":59.971982133139534,"audio_only":0,"chunked":59.97198245751094},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/8ce48d244fb9ec908fd9_streamerhouse_22796975993_4176081001/storyboards/573197901-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","audio_only":"","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22573197901%22%2C%22type%22%3A%22vod%22%7D"},{"title":"Bless + Unleashed ","description":"","description_html":"","broadcast_id":1,"broadcast_type":"highlight","status":"recorded","tag_list":"","views":3,"url":"https://www.twitch.tv/videos/573193508","language":"en","created_at":"2020-03-23T00:18:37Z","viewable":"public","viewable_at":null,"published_at":"2020-03-23T00:18:37Z","_id":"v573193508","recorded_at":"2020-03-23T00:18:37Z","game":"Bless + Unleashed","length":6912,"preview":{"small":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-80x45.jpg","medium":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-320x180.jpg","large":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-640x360.jpg","template":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-{width}x{height}.jpg"},"animated_preview_url":"https://d2nvs31859zcd8.cloudfront.net/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340/storyboards/573193508-strip-0.jpg","thumbnails":{"small":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-80x45.jpg"}],"medium":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-320x180.jpg"}],"large":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-640x360.jpg"}],"template":[{"type":"generated","url":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340//thumb/thumb573193508-{width}x{height}.jpg"}]},"fps":{"160p30":30.003740276909337,"360p30":30.003740276909337,"480p30":30.003740276909337,"720p30":30.003740276909337,"720p60":59.97495445259627,"audio_only":0,"chunked":59.974969434678826},"seek_previews_url":"https://d2nvs31859zcd8.cloudfront.net/660ddc8f8dfa5bada386_streamerhouse_65777271399_6352663340/storyboards/573193508-info.json","resolutions":{"160p30":"284x160","360p30":"640x360","480p30":"852x480","720p30":"1280x720","720p60":"1280x720","audio_only":"","chunked":"1920x1080"},"restriction":"","channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"unknown_rtmp","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"partner","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false},"increment_view_count_url":"https://countess.twitch.tv/ping.gif?u=%7B%22id%22%3A%22573193508%22%2C%22type%22%3A%22vod%22%7D"}]}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:24 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/followed_videos/with_outdated_access_token/without_refresh_token.yml b/spec/cassettes/followed_videos/with_outdated_access_token/without_refresh_token.yml new file mode 100644 index 0000000..eab95c2 --- /dev/null +++ b/spec/cassettes/followed_videos/with_outdated_access_token/without_refresh_token.yml @@ -0,0 +1,95 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/videos/followed + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:24 GMT + x-served-by: + - cache-sea4443-SEA, cache-hel6822-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091444.159340,VS0,VS0,VE196 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:24 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 400 + message: Bad Request + headers: + date: + - Sun, 05 Apr 2020 12:57:25 GMT + content-type: + - application/json + content-length: + - '49' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5b5-6dc1d78d39ecb7d903b6e726 + body: + encoding: UTF-8 + string: '{"status":400,"message":"missing refresh token"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:25 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/following/with_options.yml b/spec/cassettes/following/with_options.yml new file mode 100644 index 0000000..b6eef7c --- /dev/null +++ b/spec/cassettes/following/with_options.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/channels/44322889/follows?limit=25&offset=25 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:16 GMT + x-served-by: + - cache-sea4446-SEA, cache-hel6829-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091436.475270,VS0,VS0,VE216 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJfdG90YWwiOjI1NCwiX2N1cnNvciI6IjE1MjUwMjExODg0MTMwNzc1NTEiLCJmb2xsb3dzIjpbeyJjcmVhdGVkX2F0IjoiMjAxOC0xMi0yNlQxMzowODoxN1oiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJhbmdlMzA1IiwiX2lkIjoiNDA0Mzk2NDc0IiwibmFtZSI6ImFuZ2UzMDUiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMTItMjZUMTE6MTA6MTIuODc4MTU4WiIsInVwZGF0ZWRfYXQiOiIyMDE4LTEyLTI2VDExOjExOjI5LjM5NDAzM1oiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC91c2VyLWRlZmF1bHQtcGljdHVyZXMtdXYvMjE1YjczNDItZGVmOS0xMWU5LTlhNjYtNzg0ZjQzODIyZTgwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMi0xNlQwNDoxMzoyMVoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJnb3BpeGVsc2dhbWluZyIsIl9pZCI6IjE3ODg4NzEyOSIsIm5hbWUiOiJnb3BpeGVsc2dhbWluZyIsInR5cGUiOiJ1c2VyIiwiYmlvIjoiUGxheSB5b3VyIGZhdm9yaXRlIGdhbWVzIHdpdGggeW91ciBmYXZvcml0ZSBnYW1lcnMuIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMjNUMTE6MjE6MzIuOTYxOTQyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDIxOjEzOjE1LjEzMDU5MloiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mM2E5MzQ0YzU4NjU1YjcyLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMi0xNFQwNjo0MzoyOVoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJOYW9zX18iLCJfaWQiOiI4MDg4NzkwMSIsIm5hbWUiOiJuYW9zX18iLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMjVUMTg6NTc6NDkuNDA4MzQ4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEwOjMyOjMyLjQ1ODA0MVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9uYW9zX18tcHJvZmlsZV9pbWFnZS0zYzc2ZjgzYmY5MDYxZTlmLTMwMHgzMDAuanBlZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTEyLTEwVDE4OjA0OjI0WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiSXRzRGVyZWtTbWlmeiIsIl9pZCI6Ijk4MDM0MTc4IiwibmFtZSI6Iml0c2RlcmVrc21pZnoiLCJ0eXBlIjoidXNlciIsImJpbyI6IkxpZmVsb25nIHZpZGVvIGdhbWUgZW50aHVzaWFzdCwgYmVlbiBwbGF5aW5nIHNldmVyYWwgdHlwZXMgb2YgZ2FtZXMgc2luY2UgYSBraWQuIE15IHN0cmVhbSBpcyBhbGwgYWJvdXQgaGFuZ2luZyBvdXQgYW5kIGhhdmluZyBncmVhdCBjb252ZXJzYXRpb25zLi5Gcm9tIE1NTydzIHRvIEZQUywgYW5kIGFsbCB0aGUgZ2FtZXMvZ2VucmVzIGluIGJldHdlZW4uIFdlIHRyeSB0byBkaXAgb3VyIHRvZXMgaW4gZXZlcnl0aGluZy4iLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0wMlQxNzo0Mjo0OC41OTE4NzdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMjA6MDY6NDIuMTQ1MTRaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZmQ1MThkMzctY2RhOS00YWQ5LTk0NGYtNTVmMDg0YWJkYzQwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0xMS0yNFQyMToxNjozN1oiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJmeF9zdGFyeV9uYV9wbGVjYWNoIiwiX2lkIjoiMTQxMDkwMjQ0IiwibmFtZSI6ImZ4X3N0YXJ5X25hX3BsZWNhY2giLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTYtMTItMDRUMTk6Mzc6MDUuMjk5MjU1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTAxVDE4OjM3OjQ4Ljk2MjMxMVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yMTllOTUxMC0xOGQ3LTQ4MGMtOGU3OS0wNmI4Y2ZlNGE2OGMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTExLTE1VDEwOjE1OjUzWiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiZWxlY3Ryb25zeiIsIl9pZCI6IjI2ODQ4MDIxMCIsIm5hbWUiOiJlbGVjdHJvbnN6IiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE4LTEwLTIxVDA5OjIwOjA0LjI1MDg3NVoiLCJ1cGRhdGVkX2F0IjoiMjAxOC0xMS0xNVQxMzoxMjoxMS45NDg1MDNaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvdXNlci1kZWZhdWx0LXBpY3R1cmVzLXV2L2ViYjg0NTYzLWRiODEtNGI5Yy04OTQwLTY0ZWQzM2NjZmM3Yi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDktMjhUMDY6MTE6MzJaIiwibm90aWZpY2F0aW9ucyI6ZmFsc2UsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoicjN2ZDB4IiwiX2lkIjoiMjYzMDc0NDY1IiwibmFtZSI6InIzdmQweCIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOC0wOS0yN1QyMDo1MDo1NS40OTQ5OTNaIiwidXBkYXRlZF9hdCI6IjIwMTktMDUtMzBUMjA6MDU6NDguMDY5MzUyWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di80MTc4MGI1YS1kZWY4LTExZTktOTRkOS03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA5LTEwVDEwOjAxOjI3WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiYXBwbmluZ3NkZXYiLCJfaWQiOiIyNTYyMzEyNzIiLCJuYW1lIjoiYXBwbmluZ3NkZXYiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDktMDhUMTA6MDk6MTguMDQyNzUyWiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA0LTA4VDEwOjIwOjQxLjY4NjcxOFoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC91c2VyLWRlZmF1bHQtcGljdHVyZXMtdXYvZWJiODQ1NjMtZGI4MS00YjljLTg5NDAtNjRlZDMzY2NmYzdiLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNy0yMFQxNDoxODowN1oiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJQZWN1bmlvdXMiLCJfaWQiOiIxMzE3MDM1MTIiLCJuYW1lIjoicGVjdW5pb3VzIiwidHlwZSI6InVzZXIiLCJiaW8iOiJSaWNoIGFzIGZ1Y2siLCJjcmVhdGVkX2F0IjoiMjAxNi0wOC0wOFQyMzowMzoyNS45NjIxNTdaIiwidXBkYXRlZF9hdCI6IjIwMTktMDgtMjhUMDY6MDI6MjcuNTI2MzU2WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2U4NjFiZDkzLTAwM2MtNDVhYy05NGU3LTE3ZjA5ZDM3NWY5MS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDctMThUMDM6NDQ6NDNaIiwibm90aWZpY2F0aW9ucyI6ZmFsc2UsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoicmlua3VhcHBsaWNhdGlvbiIsIl9pZCI6IjIzOTAzNzIyNyIsIm5hbWUiOiJyaW5rdWFwcGxpY2F0aW9uIiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE4LTA3LTE2VDExOjExOjA5LjQwOTA2NloiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNy0xOVQwNzowMDozMC44MjM4MTVaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvdXNlci1kZWZhdWx0LXBpY3R1cmVzLXV2LzEzZTVmYTc0LWRlZmEtMTFlOS04MDljLTc4NGY0MzgyMmU4MC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDctMTBUMTc6MzE6MDJaIiwibm90aWZpY2F0aW9ucyI6ZmFsc2UsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoic1RoZUNMbG92IiwiX2lkIjoiMjI2NzA3MDQ2IiwibmFtZSI6InN0aGVjbGxvdiIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOFQwNToyNjowOS43NTE4MDlaIiwidXBkYXRlZF9hdCI6IjIwMTgtMTItMjZUMjA6MDI6MTEuOTgxODg4WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di9jZTU3NzAwYS1kZWY5LTExZTktODQyZC03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA3LTA2VDEzOjQ1OjQ3WiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6IklkYW5MbyIsIl9pZCI6IjU4MjE1MzAwIiwibmFtZSI6ImlkYW5sbyIsInR5cGUiOiJ1c2VyIiwiYmlvIjoiU3RhcnRpbmcgVG8gU1RSRUFNISBKb2luIE1lIEFuZCBIYXZlIEZ1bjopXHJJJ20gcGxheWluZyBDUzpHTywgSSBhbSBvbmx5IHN0YXJ0aW5nIHNvIHBsZWFzZSBjb21lIHdhdGNoIGFuZCB0ZWxsIG1lIGluIGNoYXQgd2hhdCB0byBjaGFuZ2U6KSIsImNyZWF0ZWRfYXQiOiIyMDE0LTAzLTA0VDE5OjM1OjQ5LjEzMDY3M1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0xOVQxMDowMToyMC4yNzM3MzhaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvaWRhbmxvLXByb2ZpbGVfaW1hZ2UtZGQ4NTQyNGZkYTZhM2Y2ZS0zMDB4MzAwLmpwZWcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNi0xNlQwNTo1OTozMVoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJwYXBhTUxHIiwiX2lkIjoiMjMxNzk5NTc1IiwibmFtZSI6InBhcGFtbGciLCJ0eXBlIjoidXNlciIsImJpbyI6InBhcGFNTEciLCJjcmVhdGVkX2F0IjoiMjAxOC0wNi0xNlQwNTo1MjowMy43MTYzMTdaIiwidXBkYXRlZF9hdCI6IjIwMTktMTEtMDRUMjA6NTY6MDUuOTI3NDQzWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzA3Y2I4YTJkLWMxMDQtNDMxNy04YzhkLThmMTIwYjY5NzY2Yi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMDhUMjM6NDc6MzFaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJha19mb3N0ZXIiLCJfaWQiOiIxMjY0MzIwMDciLCJuYW1lIjoiYWtfZm9zdGVyIiwidHlwZSI6InVzZXIiLCJiaW8iOiJJJ20ganVzdCBhIGd1eSB3aG8gbGlrZXMgdG8gcGxheSB2aWRlbyBnYW1lcy4iLCJjcmVhdGVkX2F0IjoiMjAxNi0wNi0xMFQxNzo1ODoyMS4wNzg3NDJaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMTZUMjA6MjI6NDQuNTQ0OTc1WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2FrX2Zvc3Rlci1wcm9maWxlX2ltYWdlLWVhYzMyOGExMTVmYjc4ZTItMzAweDMwMC5qcGVnIn19LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMDVUMjM6MDI6NDJaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJibGFja2llY2hhbjM4IiwiX2lkIjoiMzkzNDU4MTUiLCJuYW1lIjoiYmxhY2tpZWNoYW4zOCIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xNFQyMTo1OTozOS4wMjM0NTNaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMTQ6MTY6MjUuNzYyNTM5WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2YwOTk1YWNjLTk3YjYtNGZhMS04OWM1LTc2ZTE1M2RmNWU5Zi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMDVUMjI6NTE6MDNaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJHbGl0dGVyR2xvY2sxOSIsIl9pZCI6IjE2MjU4Nzk0MyIsIm5hbWUiOiJnbGl0dGVyZ2xvY2sxOSIsInR5cGUiOiJ1c2VyIiwiYmlvIjoiSSBsaWtlIHRvIHNob290IHN0dWZmISIsImNyZWF0ZWRfYXQiOiIyMDE3LTA3LTAzVDA2OjI4OjU2LjQ2NTEyMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMDowOTowMC41NjYzMzFaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmYzYWM3MDdhNDcxYmY4Yy1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTA1VDIyOjQ5OjQ5WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiTXJIZHNob3ciLCJfaWQiOiI1ODM4NTI0MSIsIm5hbWUiOiJtcmhkc2hvdyIsInR5cGUiOiJ1c2VyIiwiYmlvIjoi8J+RgCIsImNyZWF0ZWRfYXQiOiIyMDE0LTAzLTA4VDAwOjAwOjU0Ljk0MTExMVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0yNlQxMTozMDozNi4xNTQ1MTRaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmYwZDk1MWMtMWYzNC00ZTg3LWE1NjMtNjMyMzJjNTM3MDdmLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNC0yOVQxODo1NTo1N1oiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJhX2xpbF9jbGFtIiwiX2lkIjoiMTM4NTk0NDM0IiwibmFtZSI6ImFfbGlsX2NsYW0iLCJ0eXBlIjoidXNlciIsImJpbyI6IllvdSBzYWlkIGl0J3MgYSBjaGlwLi4gV2VsbCB3aGVyZSdzIHRoZSBkaXA/IiwiY3JlYXRlZF9hdCI6IjIwMTYtMTEtMDNUMDA6NTE6MjkuNDQ3OTE4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTAxVDAwOjA0OjE0Ljc5NjU5NVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lMDYyNGE4OS02ZTYzLTQxY2YtODI3Yi00MjNiZjA4MmVkMGItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA0LTI5VDE3OjIwOjI4WiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6IkhvYm9taWxrbWFuIiwiX2lkIjoiMzY0MjE1NjYiLCJuYW1lIjoiaG9ib21pbGttYW4iLCJ0eXBlIjoidXNlciIsImJpbyI6IkhpIiwiY3JlYXRlZF9hdCI6IjIwMTItMDktMjRUMDc6Mzg6NDUuNzAxNDU0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTIxVDE3OjQyOjAyLjIyNjc3OFoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85ODdlMmU1MmUzN2U4NWU4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNC0yOVQxNzoxNjowOFoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJTYWx0eXBhcmNobWVudCIsIl9pZCI6IjYxODU1ODQ3IiwibmFtZSI6InNhbHR5cGFyY2htZW50IiwidHlwZSI6InVzZXIiLCJiaW8iOiJJIGRvbWluYXRlIGV2ZXJ5b25lIEkgcGxheSBhZ2FpbnN0LCBzaW1wbGUuIiwiY3JlYXRlZF9hdCI6IjIwMTQtMDQtMzBUMDU6NDE6MjIuNzQzMjM3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTAzVDA2OjEwOjUzLjk2MjY0NFoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9zYWx0eXBhcmNobWVudC1wcm9maWxlX2ltYWdlLTIyOTIzZWEzYzA3ZDc3YWUtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOC0wNC0yOVQxNzoxMTo1MFoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJ0aGVkYWlseXNsYXllciIsIl9pZCI6IjExODk5MDQ3NSIsIm5hbWUiOiJ0aGVkYWlseXNsYXllciIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxNi0wMy0xN1QyMzoyNTowNS42MjQ1MjZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMDhUMTY6MDI6MTAuMzIzNzUxWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di9jZGQ1MTdmZS1kZWY0LTExZTktOTQ4ZS03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA0LTI5VDE3OjA3OjAxWiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6Ik5ldmUyOXRoIiwiX2lkIjoiNzkzNzkxOTQiLCJuYW1lIjoibmV2ZTI5dGgiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMDlUMjM6NTY6MDIuOTY4MzQ4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTIyVDAwOjM1OjQ4LjM0NTU1WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di9lYmI4NDU2My1kYjgxLTRiOWMtODk0MC02NGVkMzNjY2ZjN2ItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA0LTI5VDE3OjA0OjIxWiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6IlBleXR0aGVQVU5LIiwiX2lkIjoiMzgyNDk4NDEiLCJuYW1lIjoicGV5dHRoZXB1bmsiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTItMTItMDZUMDE6NDc6NTIuOTExMDQ3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAxLTAyVDAyOjM4OjIxLjIxNzUyWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di9jZGQ1MTdmZS1kZWY0LTExZTktOTQ4ZS03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTA0LTI5VDE2OjU5OjQ4WiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6Ikl0c0hhYmVyIiwiX2lkIjoiNTE5OTYxODUiLCJuYW1lIjoiaXRzaGFiZXIiLCJ0eXBlIjoidXNlciIsImJpbyI6IlBsZWFzZSBzdWJzY3JpYmUuIEkgaGF2ZSBjaGlsZHJlbiB0byBmZWVkLiIsImNyZWF0ZWRfYXQiOiIyMDEzLTExLTIyVDIzOjM5OjUwLjk5NjkzM1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNFQyMjo0ODoyMi4xMTc2WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzYzYzI2ZWIxLTcxMTUtNDlkMS05Nzg0LTQ0ZTA4NWMxOGJiYS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19XX0= + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:16 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/following/without_options.yml b/spec/cassettes/following/without_options.yml new file mode 100644 index 0000000..bc0ced8 --- /dev/null +++ b/spec/cassettes/following/without_options.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/channels/44322889/follows + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:16 GMT + x-served-by: + - cache-sea4461-SEA, cache-hel6826-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091436.157409,VS0,VS0,VE199 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJfdG90YWwiOjI1NCwiX2N1cnNvciI6IjE1NDU4NDcyOTk4OTU5ODY4OTAiLCJmb2xsb3dzIjpbeyJjcmVhdGVkX2F0IjoiMjAyMC0wMy0xMlQwNzoxMToxMFoiLCJub3RpZmljYXRpb25zIjp0cnVlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6Im5hbW9uYWsxIiwiX2lkIjoiNDk4ODM0ODI2IiwibmFtZSI6Im5hbW9uYWsxIiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDIwLTAzLTEyVDA2OjE5OjAwLjQ0NDUyNloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMy0xN1QwODoxNTowNi4xNTA3NjhaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvdXNlci1kZWZhdWx0LXBpY3R1cmVzLXV2L2RlMTMwYWIwLWRlZjctMTFlOS1iNjY4LTc4NGY0MzgyMmU4MC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMjAtMDEtMThUMDM6NDA6MzdaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJzdW5naGFuZ2t5byIsIl9pZCI6IjQ4NTE1NTYwMCIsIm5hbWUiOiJzdW5naGFuZ2t5byIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAyMC0wMS0xMlQwMjowNzoyMi43NTEyODRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMjRUMTA6Mjk6MjkuMDUyNDQ1WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di9jZTU3NzAwYS1kZWY5LTExZTktODQyZC03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDIwLTAxLTE4VDAzOjQwOjI3WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoidG9rZXJhb2UiLCJfaWQiOiI3NDc4MTExMCIsIm5hbWUiOiJ0b2tlcmFvZSIsInR5cGUiOiJ1c2VyIiwiYmlvIjoiTHViaWUgZ3JhxIcgdyBncnkuIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTEtMDhUMjI6MTQ6NTcuMzMzMDY5WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTI0VDIwOjUyOjE0LjM2NjU2WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2U0Yjg5NjkzLWEyMjYtNDBkZi05YzliLTZlMzE3NjI2MmJiZi1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTEyLTIxVDEyOjA4OjE0WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoid2VzdGxpZmUyIiwiX2lkIjoiNDcxMTc3MTM3IiwibmFtZSI6Indlc3RsaWZlMiIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOS0xMS0wNlQxNjozMDowNS43NTgzNTVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMThUMDA6MTI6MzkuMTI4NjA1WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di8yOTRjOThiNS1lMzRkLTQyY2QtYThmMC0xNDBiNzJmYmE5YjAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTEyLTIxVDEyOjA4OjAyWiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiMDA0a2hhbGVlc2lnb3QiLCJfaWQiOiI0NzQ4NTA2MDciLCJuYW1lIjoiMDA0a2hhbGVlc2lnb3QiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTktMTEtMjdUMDE6MTg6NDcuMzE1MjkzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAyLTEwVDA3OjU0OjE3LjY4ODEwN1oiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9jYTlmNDQ3Yi0yNmI3LTRkNTktYjk1Zi0yYzUxOGU3OWI4N2MtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTEyLTE2VDA4OjU1OjI5WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiZ2hqZGc4OTc2OHVqZTM0MSIsIl9pZCI6IjQ3NzI0MjY0MiIsIm5hbWUiOiJnaGpkZzg5NzY4dWplMzQxIiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE5LTEyLTExVDExOjEyOjA4LjMxMzMxNloiLCJ1cGRhdGVkX2F0IjoiMjAxOS0xMi0xNlQxNDoxMjo1Ni4xMDk2MThaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvdXNlci1kZWZhdWx0LXBpY3R1cmVzLXV2L2NkZDUxN2ZlLWRlZjQtMTFlOS05NDhlLTc4NGY0MzgyMmU4MC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMTItMTZUMDg6NTM6NDBaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiIwMDhraGFsZWVzaWdvdCIsIl9pZCI6IjQ3NDg1Mjc3MSIsIm5hbWUiOiIwMDhraGFsZWVzaWdvdCIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOS0xMS0yN1QwMTozNjoyOS41Nzg0NzVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMjNUMTc6MjI6MjEuODU1NTU3WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Q1OGUzZWM3LTgwZWUtNDI3OC05MzE0LTMxMDE5YWRhZjI2NC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMTItMTZUMDg6NTM6MzNaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJ5b3VzZWZzcHJpbmczNzkiLCJfaWQiOiI0NTgyNTcyNzkiLCJuYW1lIjoieW91c2Vmc3ByaW5nMzc5IiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE5LTA4LTMxVDAyOjMxOjQ2Ljg0ODUxMloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMS0xMlQwNjoyMjoyMS40MDA2MzlaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvdXNlci1kZWZhdWx0LXBpY3R1cmVzLXV2L2ViZTRjZDg5LWI0ZjQtNGNkOS1hZGFjLTJmMzAxNTFiNDIwOS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMTItMTZUMDg6NTI6MTFaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiIwMDZraGFsZWVzaWdvdCIsIl9pZCI6IjQ3NDg1MjA0NiIsIm5hbWUiOiIwMDZraGFsZWVzaWdvdCIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOS0xMS0yN1QwMTozMDoxOC45NzY1MTJaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMjlUMTQ6NDU6MDguODE2NDI2WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Q1N2ZjZDA1LWMwNGMtNDNjMi05YWI4LTVlN2Q5ZTE4YTkxZC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMTItMTZUMDg6NTE6NDdaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJ5aXlpbG9va2R1eSIsIl9pZCI6IjQ3NTAxMzgyNyIsIm5hbWUiOiJ5aXlpbG9va2R1eSIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOS0xMS0yOFQwMTo1MzoxOC4zODY1NzNaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDJUMTE6NTQ6MDkuMDI2MDQzWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di8yOTRjOThiNS1lMzRkLTQyY2QtYThmMC0xNDBiNzJmYmE5YjAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTEyLTE2VDA4OjUxOjAzWiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiZ2hqZGdzNzg2a2pzYWhkMiIsIl9pZCI6IjQ3NzU4MDQ1OSIsIm5hbWUiOiJnaGpkZ3M3ODZranNhaGQyIiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE5LTEyLTEzVDEwOjA2OjExLjU2MjYyNloiLCJ1cGRhdGVkX2F0IjoiMjAxOS0xMi0xNVQwNDoyOTowOS40ODUwNjlaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvdXNlci1kZWZhdWx0LXBpY3R1cmVzLXV2Lzc1MzA1ZDU0LWM3Y2MtNDBkMS1iYjljLTkxZmJlODU5NDNjNy1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMTItMTZUMDg6MTI6MzlaIiwibm90aWZpY2F0aW9ucyI6dHJ1ZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJraW5nZG9tbGlrZXMiLCJfaWQiOiI0NzM0NjI3NzIiLCJuYW1lIjoia2luZ2RvbWxpa2VzIiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE5LTExLTE5VDAyOjUxOjI3LjgwNDYxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAxLTE2VDA2OjUxOjE2Ljg5MTMwOVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC91c2VyLWRlZmF1bHQtcGljdHVyZXMtdXYvOTk4ZjAxYWUtZGVmOC0xMWU5LWI5NWMtNzg0ZjQzODIyZTgwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOS0xMi0xMFQxOTo1Nzo0OVoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJTa2lsa2EiLCJfaWQiOiI1MjEyMjMxNSIsIm5hbWUiOiJza2lsa2EiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTMtMTEtMjRUMTk6MjE6MTUuMTYyMTE4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAyLTIxVDIzOjQ4OjM5LjEyMDg4OFoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC91c2VyLWRlZmF1bHQtcGljdHVyZXMtdXYvZWJiODQ1NjMtZGI4MS00YjljLTg5NDAtNjRlZDMzY2NmYzdiLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOS0xMi0wOFQyMTo0MzoxOVoiLCJub3RpZmljYXRpb25zIjpmYWxzZSwidXNlciI6eyJkaXNwbGF5X25hbWUiOiJSb2JpbmxlbW9ueiIsIl9pZCI6IjIxMjczOTk4NCIsIm5hbWUiOiJyb2JpbmxlbW9ueiIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOC0wNC0wOFQxODoyNTo0My45NzU2ODdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDI6NTM6MDkuOTU2NzYxWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E1YmZkNDFiLTJhNDUtNGQ0Zi05NzM1LWQ4M2M1ZTA4OTcyNi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMTAtMTVUMTA6NDU6NTRaIiwibm90aWZpY2F0aW9ucyI6ZmFsc2UsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiZ2FtYmxlcmFyZWEiLCJfaWQiOiI0MDE2OTIxMjUiLCJuYW1lIjoiZ2FtYmxlcmFyZWEiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMTItMTJUMTQ6MjE6MjYuMDY1MTE2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTMxVDIwOjE4OjEwLjk3MzI5WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di85OThmMDFhZS1kZWY4LTExZTktYjk1Yy03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTA5LTI5VDAzOjMxOjEwWiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6IlRoZUVuZGxlc3MiLCJfaWQiOiI4MzMzMzciLCJuYW1lIjoidGhlZW5kbGVzcyIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAwOC0wNi0yMFQxNzo0MToxOC4wMDg3NzNaIiwidXBkYXRlZF9hdCI6IjIwMTktMTItMjVUMDM6MDI6MzMuMDQ1ODQ2WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RoZWVuZGxlc3MtcHJvZmlsZV9pbWFnZS0zODExMWE3MzRkNGYzNDA1LTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMDgtMDlUMDY6MTU6NDNaIiwibm90aWZpY2F0aW9ucyI6ZmFsc2UsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoicGVhY2hoeXlqdWljZSIsIl9pZCI6IjQyNjY5NjI5MCIsIm5hbWUiOiJwZWFjaGh5eWp1aWNlIiwidHlwZSI6InVzZXIiLCJiaW8iOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE5LTAzLTMwVDAwOjA5OjQ0LjY4OTMwN1oiLCJ1cGRhdGVkX2F0IjoiMjAxOS0xMi0yNlQwMjo1Mjo1MS42NDcwNTVaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOTI1NDRiZTgtNDJkZS00ZWZlLTg1YzItNjVhMjQ0YzgzZGI4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOS0wNC0yMVQxNjoyODo1OVoiLCJub3RpZmljYXRpb25zIjp0cnVlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6IkJyZWFrZXJUViIsIl9pZCI6IjM3MDgyNDM4IiwibmFtZSI6ImJyZWFrZXJ0diIsInR5cGUiOiJ1c2VyIiwiYmlvIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxMi0xMC0yMVQxMjo0OTo0MC4yODA1NjNaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDMtMjlUMTQ6NDA6MTcuODM2Njc1WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3VzZXItZGVmYXVsdC1waWN0dXJlcy11di85OThmMDFhZS1kZWY4LTExZTktYjk1Yy03ODRmNDM4MjJlODAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTA0LTA1VDE5OjQ1OjUwWiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6Ik1yRGFtaWVuIiwiX2lkIjoiODYzMTQwNzkiLCJuYW1lIjoibXJkYW1pZW4iLCJ0eXBlIjoidXNlciIsImJpbyI6IkknbSBhIGhhcmRjb3JlIGdhbWVyLiBPaCBhbmQgSSdtIGR1dGNoIDspIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDMtMjVUMTg6MDY6NTAuODQ0MDcxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTE1VDE4OjE3OjQ3LjI2NzEzNFoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9tcmRhbWllbi1wcm9maWxlX2ltYWdlLWIzNTA5NDMxM2JlMmM1YWEtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOS0wMy0yMVQxMjoyMjo0MloiLCJub3RpZmljYXRpb25zIjp0cnVlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6ImhlZmF5c3RvczEyMyIsIl9pZCI6IjI2ODE5MjYwNiIsIm5hbWUiOiJoZWZheXN0b3MxMjMiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMTAtMjBUMDQ6NDg6MzAuMTA3ODc1WiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA2LTIyVDIwOjE3OjIwLjI5NjcwN1oiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84OTMwYmJlZi0xNTVlLTQ0MzMtOGVjZi00YzFiMTM5NDQyYWYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTAxLTExVDAxOjUwOjM1WiIsIm5vdGlmaWNhdGlvbnMiOnRydWUsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiRGFubnlLYW1wc0dhbWV6IiwiX2lkIjoiNTc5NjQxNjMiLCJuYW1lIjoiZGFubnlrYW1wc2dhbWV6IiwidHlwZSI6InVzZXIiLCJiaW8iOiJIaSIsImNyZWF0ZWRfYXQiOiIyMDE0LTAzLTAxVDEzOjE2OjQxLjE0ODIyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDAwOjM5OjU3LjE3ODc1WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Rhbm55a2FtcHNnYW1lei1wcm9maWxlX2ltYWdlLTY5YTVmOWY2NTExMTRmYzUtMzAweDMwMC5wbmcifX0seyJjcmVhdGVkX2F0IjoiMjAxOS0wMS0wNlQwMjo0Njo1M1oiLCJub3RpZmljYXRpb25zIjp0cnVlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6Im5vbGFLSiIsIl9pZCI6IjE2NzE3OTA1OSIsIm5hbWUiOiJub2xha2oiLCJ0eXBlIjoidXNlciIsImJpbyI6IkNvbXBldGl0aXZlIGdhbWVyIHNpbmNlIDIwMDMuIFBsYXllZCBhdCBudW1lcm91cyBDUEwgdG91cm5hbWVudHMgZm9yIENTIDEuNiBhbmQgQ1M6R08uIFB1YkcgaXMgbm93IG15IGxvdmUhIDopIiwiY3JlYXRlZF9hdCI6IjIwMTctMDctMjhUMjA6NTA6NTIuMzg4MzU1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTAzVDE3OjAwOjE3LjE5OTY2N1oiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84MDM4ZTc3YS1hNWRiLTRiMjEtOTZhZi00ODY0MmJmYTkwNTgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE5LTAxLTA1VDA3OjQ5OjIzWiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6IkFuYWthcmlzUmV4IiwiX2lkIjoiNDAzMDIxNjgiLCJuYW1lIjoiYW5ha2FyaXNyZXgiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTMtMDItMTRUMDA6NTE6MDQuMzA1NjdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDNUMDM6MDA6NTAuOTE5MTg0WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzRjZGRlYTYxLTI1NWUtNDg5OC04NzlmLWNkZGYxNzM1Y2M0NC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIn19LHsiY3JlYXRlZF9hdCI6IjIwMTktMDEtMDJUMTQ6NTA6MzFaIiwibm90aWZpY2F0aW9ucyI6ZmFsc2UsInVzZXIiOnsiZGlzcGxheV9uYW1lIjoiQWR1cnR4aV9FUEIiLCJfaWQiOiIyMTExNjE4MzIiLCJuYW1lIjoiYWR1cnR4aV9lcGIiLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDQtMDNUMDg6MzI6MzYuMTc3OTk1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTE3VDE5OjEwOjU2LjM5NDg0MloiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hNDVlNzNlNi00YTZmLTRiMTUtYTY5ZC02Y2RiMzE0NzJiNTMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyJ9fSx7ImNyZWF0ZWRfYXQiOiIyMDE4LTEyLTI2VDE4OjAxOjM5WiIsIm5vdGlmaWNhdGlvbnMiOmZhbHNlLCJ1c2VyIjp7ImRpc3BsYXlfbmFtZSI6InNuaXR6eWJpbmtsZWJvbyIsIl9pZCI6IjQwNDAyNTY5NSIsIm5hbWUiOiJzbml0enliaW5rbGVib28iLCJ0eXBlIjoidXNlciIsImJpbyI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMTItMjRUMTQ6MTg6NDkuNjEwNjkzWiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA1LTEyVDIxOjEwOjIwLjU1NjIwNloiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC91c2VyLWRlZmF1bHQtcGljdHVyZXMtdXYvZGJkYzkxOTgtZGVmOC0xMWU5LTg2ODEtNzg0ZjQzODIyZTgwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmcifX1dfQ== + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:16 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/ingests.yml b/spec/cassettes/ingests.yml new file mode 100644 index 0000000..d801f8e --- /dev/null +++ b/spec/cassettes/ingests.yml @@ -0,0 +1,113 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/ingests + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '1188' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:18 GMT + x-served-by: + - cache-sea4446-SEA, cache-hel6822-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091438.246836,VS0,VS0,VE195 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: ASCII-8BIT + string: '{"ingests":[{"_id":1,"url_template":"rtmp://live-fra02.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Germany, Frankfurt","default":false},{"_id":2,"url_template":"rtmp://live-dfw.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + Central: Dallas, TX","default":false},{"_id":3,"url_template":"rtmp://live-bkk.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Thailand: Bangkok","default":false},{"_id":4,"url_template":"rtmp://live-ord02.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: Chicago","default":false},{"_id":5,"url_template":"rtmp://live-sin.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Singapore","default":false},{"_id":6,"url_template":"rtmp://live-eze.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED: + South America: Argentina","default":false},{"_id":7,"url_template":"rtmp://live-qro.twitch.tv/app/{stream_key}","availability":1.0,"name":"NA: + Queretaro, Mexico","default":false},{"_id":8,"url_template":"rtmp://live-hel.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Finland, Helsinki","default":false},{"_id":9,"url_template":"rtmp://live-osl.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Norway, Oslo","default":false},{"_id":10,"url_template":"rtmp://live-sjc.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + West: San Jose,CA","default":false},{"_id":11,"url_template":"rtmp://live-slc.twitch.tv/app/{stream_key}","availability":1.0,"name":"Salt + Lake City, UT","default":false},{"_id":12,"url_template":"rtmp://live-lim.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED + South America: Lima, Peru","default":false},{"_id":13,"url_template":"rtmp://live-arn.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Sweden, Stockholm","default":false},{"_id":14,"url_template":"rtmp://live-sea.twitch.tv/app/{stream_key}","availability":1.0,"name":"Seattle, + WA","default":false},{"_id":15,"url_template":"rtmp://live-ymq.twitch.tv/app/{stream_key}","availability":1.0,"name":"NA: + Quebec, Canada","default":false},{"_id":16,"url_template":"rtmp://live-tpe01.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Taipei, Taiwan (1)","default":false},{"_id":17,"url_template":"rtmp://live-mia.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: Miami, FL","default":false},{"_id":18,"url_template":"rtmp://live-sao.twitch.tv/app/{stream_key}","availability":1.0,"name":"South + America: Sao Paulo, Brazil","default":false},{"_id":19,"url_template":"rtmp://live-lhr03.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + UK, London","default":false},{"_id":20,"url_template":"rtmp://live-lax.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + West: Los Angeles, CA","default":false},{"_id":21,"url_template":"rtmp://live-hkg.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Hong Kong","default":false},{"_id":22,"url_template":"rtmp://live-mrs.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + France, Marseille","default":false},{"_id":23,"url_template":"rtmp://live-iad03.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: Ashburn, VA (3)","default":false},{"_id":24,"url_template":"rtmp://live-iad05.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: Ashburn, VA (5)","default":false},{"_id":25,"url_template":"rtmp://live-phx.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + West: Phoenix, AZ","default":false},{"_id":26,"url_template":"rtmp://live-atl.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: Atlanta, GA","default":false},{"_id":27,"url_template":"rtmp://live-sel03.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Seoul, South Korea","default":false},{"_id":28,"url_template":"rtmp://live-sfo.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + West: San Francisco, CA","default":true},{"_id":29,"url_template":"rtmp://live-tyo.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Tokyo, Japan","default":false},{"_id":30,"url_template":"rtmp://live-prg.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Czech Republic, Prague","default":false},{"_id":31,"url_template":"rtmp://live-jfk.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: New York, NY","default":false},{"_id":32,"url_template":"rtmp://live-mde.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED + South America: Medellin, Colombia","default":false},{"_id":33,"url_template":"rtmp://live-den.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + Central: Denver, CO","default":false},{"_id":34,"url_template":"rtmp://live-mad.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Spain, Madrid","default":false},{"_id":35,"url_template":"rtmp://live-sel01.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Seoul, South Korea","default":false},{"_id":36,"url_template":"rtmp://live-ams.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Netherlands, Amsterdam","default":false},{"_id":37,"url_template":"rtmp://live-gru.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED + South America: Sao Paulo, Brazil ","default":false},{"_id":38,"url_template":"rtmp://live-tpe03.twitch.tv/app/{stream_key}","availability":1.0,"name":"Asia: + Taipei, Taiwan (3)","default":false},{"_id":39,"url_template":"rtmp://live-mil.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Italy, Milan","default":false},{"_id":40,"url_template":"rtmp://live-hou.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + Central: Houston, TX","default":false},{"_id":41,"url_template":"rtmp://live-gig.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED + South America: Rio de Janeiro, Brazil","default":false},{"_id":42,"url_template":"rtmp://live-cph.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Copenhagen, Denmark","default":false},{"_id":43,"url_template":"rtmp://live-fra05.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Germany, Frankfurt","default":false},{"_id":44,"url_template":"rtmp://live-pdx.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + West: Portland, Oregon","default":false},{"_id":45,"url_template":"rtmp://live-scl.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED + South America: Chile","default":false},{"_id":46,"url_template":"rtmp://live-lhr04.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + UK, London","default":false},{"_id":47,"url_template":"rtmp://live-yto.twitch.tv/app/{stream_key}","availability":1.0,"name":"NA: + Toronto, Canada","default":false},{"_id":48,"url_template":"rtmp://live-lis.twitch.tv/app/{stream_key}","availability":1.0,"name":"DEPRECATED + Europe: Portugal, Lisbon","default":false},{"_id":49,"url_template":"rtmp://live-cdg.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + France, Paris","default":false},{"_id":50,"url_template":"rtmp://live-waw.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Poland, Warsaw","default":false},{"_id":51,"url_template":"rtmp://live-ber.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Germany, Berlin","default":false},{"_id":52,"url_template":"rtmp://live-syd.twitch.tv/app/{stream_key}","availability":1.0,"name":"Australia: + Sydney","default":false},{"_id":53,"url_template":"rtmp://live-ord03.twitch.tv/app/{stream_key}","availability":1.0,"name":"US + East: Chicago","default":false},{"_id":54,"url_template":"rtmp://live-rio.twitch.tv/app/{stream_key}","availability":1.0,"name":"South + America: Rio de Janeiro, Brazil","default":false},{"_id":55,"url_template":"rtmp://live-vie.twitch.tv/app/{stream_key}","availability":1.0,"name":"Europe: + Austria, Vienna","default":false}]}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:18 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/root.yml b/spec/cassettes/root.yml new file mode 100644 index 0000000..a810b51 --- /dev/null +++ b/spec/cassettes/root.yml @@ -0,0 +1,58 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '374' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:18 GMT + x-served-by: + - cache-sea4446-SEA, cache-hel6833-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091439.565120,VS0,VS0,VE201 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"token":{"valid":true,"authorization":{"scopes":["bits:read","channel_commercial","channel_editor","channel_read","channel_stream","user:read:email","user_blocks_edit","user_read"],"created_at":"2020-04-05T10:30:30Z","updated_at":"2020-04-05T10:30:30Z"},"user_name":"streamassistantbot","user_id":"277558749","client_id":"","expires_in":4654}}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:18 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/stream.yml b/spec/cassettes/stream.yml new file mode 100644 index 0000000..796d14c --- /dev/null +++ b/spec/cassettes/stream.yml @@ -0,0 +1,61 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams/44741426 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '805' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:13 GMT + x-served-by: + - cache-sea4440-SEA, cache-hel6834-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091434.796940,VS0,VS0,VE199 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: ASCII-8BIT + string: '{"stream":{"_id":37392938416,"game":"Tom Clancy''s The Division 2","broadcast_platform":"live","community_id":"","community_ids":[],"viewers":654,"video_height":1080,"average_fps":60,"delay":0,"created_at":"2020-04-05T04:39:30Z","is_playlist":false,"stream_type":"live","preview":{"small":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-80x45.jpg","medium":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-320x180.jpg","large":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-640x360.jpg","template":"https://static-cdn.jtvnw.net/previews-ttv/live_user_streamerhouse-{width}x{height}.jpg"},"channel":{"mature":false,"status":"[24/7 + LIVE] the grind for loot - Safer @ Home Support Group","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamerHouse","game":"Tom + Clancy''s The Division 2","language":"en","_id":44741426,"name":"streamerhouse","created_at":"2013-06-14T15:50:41.377211Z","updated_at":"2020-04-05T12:30:41.088169Z","partner":true,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/1e6654c9-aa39-4cf2-a745-d59b779862d8-profile_image-300x300.png","video_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/streamerhouse-channel_offline_image-643a63b6ee788b02-1920x1080.jpeg","profile_banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/74d167c7-0a68-466d-82d4-9e4a0e1dcff1-profile_banner-480.png","profile_banner_background_color":"#ffffff","url":"https://www.twitch.tv/streamerhouse","views":57282456,"followers":628241,"broadcaster_type":"","description":"Twitch''s + Only Live 24/7 Gaming House! http://Facebook.com/StreamerHouse http://Youtube.com/StreamerHouse","private_video":false,"privacy_options_enabled":false}}}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:14 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/streams/with_game.yml b/spec/cassettes/streams/with_game.yml new file mode 100644 index 0000000..0b68c95 --- /dev/null +++ b/spec/cassettes/streams/with_game.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams?game=League+of+Legends + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:14 GMT + x-served-by: + - cache-sea4425-SEA, cache-hel6826-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091435.513294,VS0,VS0,VE217 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJzdHJlYW1zIjpbeyJfaWQiOjM3MzkzNjE5Mzc2LCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjQ1NDU1LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA1OjQwOjA3WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sY2stODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xjay0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xjay02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xjay17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkRXRyB2cy4gVDEgLSBBUEsgdnMuIEdSRiAtIEhMRSB2cy4gQUYgWzIwMjAgTENLIFNwcmluZyBTcGxpdF0iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJMQ0siLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxMjQ0MjU1MDEsIm5hbWUiOiJsY2siLCJjcmVhdGVkX2F0IjoiMjAxNi0wNS0xNlQxODozNToyMi4wODMwNFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyOTo0NC4wNTg3ODVaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNGRjZmNhNWYtYjMzNC00YTAzLWEyNzMtMjlmODY1YzllZTkwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2MxMThiZTMyLWE5MDUtNGU0Mi1iNDVkLTExMzZhNzIxOTMwZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZGJiMGVmMmEtY2VmOS00ZWRmLWI4ZWYtMWNhMWQxNzQ0OTc4LXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9sY2siLCJ2aWV3cyI6NzI3NDc2MzIsImZvbGxvd2VycyI6NzUxMTI5LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2NoZWR1bGVzIGFuZCBzdGF0cyBoZWFkIHRvIGxvbGVzcG9ydHMuY29tIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjozNzM5MzYxNDE2MCwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo0MjE0MiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNTozOTozNloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGNrX2tvcmVhLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sY2tfa29yZWEtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sY2tfa29yZWEtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sY2tfa29yZWEte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJbMjAyMCDsmrDrpqzsnYDtlokgTENLIFNwcmluZyBTcGxpdF0gRFdHIHZzLiBUMSAtIEFQSyB2cy4gR1JGIC0gSExFIHZzLiBBRiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoia28iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkxDS19Lb3JlYSIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjE5MDgzNTg5MiwibmFtZSI6Imxja19rb3JlYSIsImNyZWF0ZWRfYXQiOiIyMDE4LTAxLTE1VDAxOjQwOjA5LjU3Nzg0NFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjowOC4xMTE4NTZaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzY4YTYzZmMtNWIzMy00MTA2LWFlYmQtOGU4ZjMyNzI5YmQwLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY0ZGZkMDVlLTcyZDEtNDBlYS05NDBlLTYyYjg0ZmZkMjdhOC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNTdmNTc2MDAtYWFlOC00OTEyLTg4OWMtMTgxZGQ5NTg2ZDIxLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9sY2tfa29yZWEiLCJ2aWV3cyI6MTQwMzY0NjcyLCJmb2xsb3dlcnMiOjUyNDM5NywiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjozNzM5MzA2Mzg0MCwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyMzcwNywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNDo0OTo1N1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbHBsLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9scGwtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9scGwtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9scGwte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJKREcgdnMuIExORyB8IEJMRyB2cy4gRURHIHwgUk5HIHZzLiBJRyAtIFdlZWsgNSBEYXkgNiB8IExQTCBTcHJpbmcgKDIwMjApIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiTFBMIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJ6aC1jbiIsIl9pZCI6MTI0NDI1NjI3LCJuYW1lIjoibHBsIiwiY3JlYXRlZF9hdCI6IjIwMTYtMDUtMTZUMTg6Mzc6MDMuNTI3NDk0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjA4LjE1Mzc5NloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9scGwtcHJvZmlsZV9pbWFnZS02N2JjOTU0MTc0MWE1Mzk0LTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9scGwtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLWU3MzM3MWY5NjY5Nzk3NDYtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9scGwtcHJvZmlsZV9iYW5uZXItMWYxOTU2NDE3NWM2NzBkZS00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9scGwiLCJ2aWV3cyI6MzQxMzIyMzQsImZvbGxvd2VycyI6MzAzNzg5LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2NoZWR1bGVzIGFuZCBzdGF0cyBoZWFkIHRvIGxvbGVzcG9ydHMuY29tIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg5ODQzOTUzLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjEwMDY2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjM5OjQyWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yaW90Z2FtZXNydS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmlvdGdhbWVzcnUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yaW90Z2FtZXNydS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Jpb3RnYW1lc3J1LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi0JrQvtC90YLQuNC90LXQvdGC0LDQu9GM0L3QsNGPINC70LjQs9CwIHwg0JLQtdGB0L3QsCAyMDIwIHwg0J3QtdC00LXQu9GPIDYgfCDQlNC10L3RjCAyICPQu9GD0YfRiNC10LTQvtC80LBcbiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoicnUiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IlJpb3RHYW1lc1JVIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJydSIsIl9pZCI6NzI5Nzc2NDUsIm5hbWUiOiJyaW90Z2FtZXNydSIsImNyZWF0ZWRfYXQiOiIyMDE0LTEwLTEzVDEyOjU5OjQyLjg0MjY3NFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODoxNy44ODI4NTlaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNWYzMzg3MTgtZjlkOS00NThlLWIxZmEtOTlkYjQ1ZjJhN2M1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzUwNGE0MDhiLWQ3MjctNGZhMy1hNjY4LWNlZTlhYTVkYmE5NS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xYzg2MjJlYy1mYjJmLTQ0NTAtOTExMS1kYjhiNjQ2NDQ2YzAtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcmlvdGdhbWVzcnUiLCJ2aWV3cyI6MzAyMjcxMTYsImZvbGxvd2VycyI6MTI3ODkxLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJPZmZpY2lhbCDQoWhhbm5lbCBvZiBSaW90IEdhbWVzIFJ1c3NpYSBcdTAwMjYgQ0lTIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg5MzY1MDU3LCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjg4NzIsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NTQ6MzBaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2thbWV0MC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FtZXQwLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FtZXQwLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FtZXQwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiS0FNRVRPIENPUlAgVlMgVEVBTSBPUExPTiBDQVNUIEJZIEtBTUVUTywgS09URUkgXHUwMDI2IEJJQkkgI0RpdjJMb0wgI0tDb3JwRmlnaHRpbmcgI0JsdWVXYWxsICNVbHRyYXNLQ29ycCAoIXByaW1lKSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZnIiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkthbWV0MCIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZnIiLCJfaWQiOjI3MTE1OTE3LCJuYW1lIjoia2FtZXQwIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMzBUMTE6MTc6MzEuMDM3NDEzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU1OjIzLjE2ODgwNFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85ZTEyODYyZC1hOGQwLTRkZjItODFhYS1lMjI0MTAyMmRjOTgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTJmOGM1ZTctNzk1NC00YmJmLWE0ZWItNTk0Y2M4YjU3YmMxLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2M4MDJiYTJhLWMyYzgtNDA3MS04Y2Y4LTI1YTU3NTMwYzAwNS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9rYW1ldDAiLCJ2aWV3cyI6MjUwMDMxNzQsImZvbGxvd2VycyI6NDM3MTI2LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJjb250YWN0IDoga2FtZXRvY29ycEBnbWFpbC5jb20iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODgyODE0MDksImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6ODc2NSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTozMzozMloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfeGF5b29fLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl94YXlvb18tMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl94YXlvb18tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl94YXlvb18te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJub3d5IGZvbGxvdyBhbGVydCBwb2djemVtcCDwn5iO8J+RjCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoicGwiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IlhheW9vXyIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoicGwiLCJfaWQiOjEwNzQxODczMSwibmFtZSI6InhheW9vXyIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTE4VDE2OjI2OjM5LjkyMDEzOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozMDowNC4wNDY5NjRaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZjM1MjgyOTktMTYxYS00ODY3LWIwN2ItNDAyYmE1OWYxY2E1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzk5OTAzNTVlLTkyZjgtNDZiZi04MzE5LWMzNjlhODc2ZTQyNS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy94YXlvb18tcHJvZmlsZV9iYW5uZXItZDU1MTJkMzg4ZDZjMDEyMS00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYveGF5b29fIiwidmlld3MiOjI4OTM5MTQ2LCJmb2xsb3dlcnMiOjQ0NTMzMSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiZWxvIGZham55IHN0cmltZWsiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODg3NDYwMzMsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6ODQ5MSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMDo0Mjo0NFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmlvdGdhbWVzdHVya2lzaC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmlvdGdhbWVzdHVya2lzaC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Jpb3RnYW1lc3R1cmtpc2gtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yaW90Z2FtZXN0dXJraXNoLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiR0FMIHZzIElXIHwgQkpLIHZzIEFVUiB8IEZCIHZzIFNVUCB8IDVSIHZzIFJZTCAtIFZGxZ5MIDIwMjAgS8SxxZ8gTWV2c2ltaSA4LiBIYWZ0YSAyLiBHw7xuIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJ0ciIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiUmlvdEdhbWVzVHVya2lzaCIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjM2NTEzNzYwLCJuYW1lIjoicmlvdGdhbWVzdHVya2lzaCIsImNyZWF0ZWRfYXQiOiIyMDEyLTA5LTI5VDAxOjAxOjUwLjIzNDQ2MloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODoyOS45MzQyNFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80ZWFiMDQxZS0wZTU2LTQ0YWMtOTJmYi1iNWM2YzdmYzIzNzQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTRkOGY0OTgtZmQxZS00YjcyLThkMzUtNDMxNWI2OTQ1Njk1LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzNiNDlkMzkxLTBhZGUtNDEzMy05ODVmLTJjYzQyYTIzYmUxMS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9yaW90Z2FtZXN0dXJraXNoIiwidmlld3MiOjE0MjYwOTQ2OSwiZm9sbG93ZXJzIjo2MjY3MzksImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IlZvZGFmb25lIEZyZWVab25lIMWeYW1waXlvbmx1ayBMaWdpIHlhecSxbmxhcsSxeWxhIGhlbSBlc3BvciBoZW0gTGVhZ3VlIG9mIExlZ2VuZHMgaGV5ZWNhbsSxIGhlciBoYWZ0YSBSaW90IEdhbWVzIFTDvHJraXllIFR3aXRjaCBrYW5hbMSxbmRhISIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MTA4NzI5OTIwMSwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo4MjI2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA1OjAzOjE2WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zb2xhcnktODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NvbGFyeS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NvbGFyeS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3NvbGFyeS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Ik1JREkgQ0hBUEkgU1RBQ0tJTkcgT05MWSArMTIgT05MWSBOQVNVUyBPTkxZIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJmciIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiU29sYXJ5IiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJmciIsIl9pZCI6MTc0OTU1MzY2LCJuYW1lIjoic29sYXJ5IiwiY3JlYXRlZF9hdCI6IjIwMTctMDktMjFUMTI6MTY6NDIuMzI4MDczWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjEzLjc5NTI1OVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMmM1ZTJhNi1mYjUyLTQ5MmMtYjc2ZS1iYWIyODgwOWVmODItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzM5YTAyOGZiYjVmYjlhOTMtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzE4ZDViNGVlLWJjMGItNDViZS1iMTI5LTI3OGJkMzkzMzU2ZC1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvc29sYXJ5Iiwidmlld3MiOjEwNjYzMjA4NCwiZm9sbG93ZXJzIjo0MzMxMzYsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkVzcG9ydCBvcmdhbml6YXRpb24gXHUwMDI2IFdlYlRWIG9uIEZvcnRuaXRlLCBMZWFndWUgb2YgTGVnZW5kcyBcdTAwMjYgSGVhcnRoU3RvbmUg8J+Hq/Cfh7cgcG93ZXJlZCBieSBMb2dpdGVjaEdGcmFuY2UgUHJlZGF0b3JGcmFuY2UgXHUwMDI2IE9iamVjdGlmIENvZGUgI1NMWVdJTiDwn5OnIGNvbnRhY3RAc29sYXJ5LmZyIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjozNzM5MDQ5NTYzMiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo3NzE2LCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDAxOjU1OjIwWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl91enJhLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl91enJhLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdXpyYS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3V6cmEte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLjgJBKVCBVenJh44CRMTAwJeWwiOazqCArVSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiemgiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6InV6cmEiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6InpoLXR3IiwiX2lkIjoxMTY5MjY5NCwibmFtZSI6InV6cmEiLCJjcmVhdGVkX2F0IjoiMjAxMC0wNC0wOFQwODo1Mzo0MC44ODc3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI5OjU0LjkzNzM4MloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy91enJhLXByb2ZpbGVfaW1hZ2UtZTYwYWU1NTc2ZmEzZmQ4YS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOTFlOTZkYzItZDNjYy00NjBmLTkzNTAtMDNhNTE5YWVkM2IwLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3V6cmEtcHJvZmlsZV9iYW5uZXItY2I2ZjNlMTBkMDhjMGIxMS00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di91enJhIiwidmlld3MiOjU4OTEwMzIxLCJmb2xsb3dlcnMiOjE3NzE1MCwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiMTIzIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjozNzM5Mzc1NzY4MCwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo3MDIxLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA1OjU0OjUyWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9rYW5ncXVpLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9rYW5ncXVpLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FuZ3F1aS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2thbmdxdWkte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLsnbzsmpTsnbwiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImtvIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiLqsJXtgLQiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImtvIiwiX2lkIjozMTI2NTM1OSwibmFtZSI6ImthbmdxdWkiLCJjcmVhdGVkX2F0IjoiMjAxMi0wNi0xMlQxNDoxOTo0My40Njk4NTFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6NDQuODc0OTIyWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2thbmdxdWktcHJvZmlsZV9pbWFnZS1mNzhlY2ZmNjBmZDE2OTJiLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2thbmdxdWktcHJvZmlsZV9iYW5uZXItOWZjM2EyMWNjY2RkOGExMy00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYva2FuZ3F1aSIsInZpZXdzIjo3OTcwMDg0LCJmb2xsb3dlcnMiOjUxNTAwLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODg2MzczOTMsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NTc5MCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMDoyNzo0N1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZWxtaWlsbG9yLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lbG1paWxsb3ItMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lbG1paWxsb3ItNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lbG1paWxsb3Ite3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiIjYWQgIVRZS0lBIDE2OjAwIEdpdmVhd2F5IGQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxIHwgQGVsbWlpbGxvciIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZXMiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkVsbWlpbGxvUiIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZXMiLCJfaWQiOjQ0ODgwOTQ0LCJuYW1lIjoiZWxtaWlsbG9yIiwiY3JlYXRlZF9hdCI6IjIwMTMtMDYtMTdUMTg6NTQ6MDguOTg3NzlaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzI6MDUuOTU1NjcyWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzVmYjdlNjBjYmI4ZTQwMzUtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2UyOTg3ZjQ0ZTkwYmRmYS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hZmRkMzY4NjVhN2E2NGNkLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2VsbWlpbGxvciIsInZpZXdzIjozNjYyMjEwNiwiZm9sbG93ZXJzIjo0NjYwOTEsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6Ik1hc3RlciBUaWVyIGp1bmdsZSBtYWluLCB0ZWFjaGluZyB5b3UgdGhlIHNlY3JldHMgb2Ygc29sb1EiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3Mzk1ODI2OTc2LCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjUyMzAsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzM6MTRaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JlbGF4aW5nMjM0LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yZWxheGluZzIzNC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3JlbGF4aW5nMjM0LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmVsYXhpbmcyMzQte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLjgJAgU3RhbmxleSDjgJE0LzA1ICDlk63npZ7pmL/mnKjmnKjkuIrot6/kupTpgKPli53kuK0gIOmbmeevgOaXpeWKoOaMgeW3sumBjiAg5aW95oOz6Ly45LiA5aC0IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJ6aCIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoicmVsYXhpbmcyMzQiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6InpoLXR3IiwiX2lkIjoyNjc3OTYyNCwibmFtZSI6InJlbGF4aW5nMjM0IiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMTRUMDg6NTg6MDkuMjg4NDE1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMyOjUzLjQ0MzYyN1oiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvcmVsYXhpbmcyMzQtcHJvZmlsZV9pbWFnZS1kY2E4NmFkMjY5NWZjYWFjLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84ZWYwM2EwOC1jYzI2LTQ0ZGUtYWM3MC02ZThjODVhMmMxNzYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3JlbGF4aW5nMjM0LXByb2ZpbGVfYmFubmVyLWM1YjZkYWY4ODk0OGRhMGItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzAwMDAwMCIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9yZWxheGluZzIzNCIsInZpZXdzIjoxNDIzMDQyOSwiZm9sbG93ZXJzIjoyMjI1MzMsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkxlYWd1ZSBvZiBsZWdlbmRzIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjozNzM5MzUyNTA1NiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo0ODAzLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA1OjMwOjQ0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sY2tfamFwYW4tODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xja19qYXBhbi0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xja19qYXBhbi02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xja19qYXBhbi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Ilvml6XmnKzoqp5dIDIwMjAgTENLIFNwcmluZyBTcGxpdCAtIERXRyB2cyBUMSwgQVBLIHZzIEdSRiwgSExFIHZzIEFGIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJqYSIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiTENLX0phcGFuIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJqYSIsIl9pZCI6NDk1NDE1NDkyLCJuYW1lIjoibGNrX2phcGFuIiwiY3JlYXRlZF9hdCI6IjIwMjAtMDItMjZUMTM6NDg6NTQuMjA5ODY1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjQwLjE0ODMyN1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wMDQyYTU4ZC0zZmFmLTRiOTItYmY1My04YWExMzUwNmVkNzYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZjFiYzM5ZWEtNjAyNy00NDBjLTg2NzQtN2Y5ZTYyZWZmMzJkLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzVkOWE0Mzk5LWI2ZDEtNGE1OC1hMTVhLWVhNDNiMDA3NzI1OC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9sY2tfamFwYW4iLCJ2aWV3cyI6NTkzNDA1LCJmb2xsb3dlcnMiOjEwNzQ5LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODc3MTkyNDksImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NDQ0MywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzozMToyNFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfb2dhbWluZ2xvbC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfb2dhbWluZ2xvbC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX29nYW1pbmdsb2wtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9vZ2FtaW5nbG9sLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTENLIFNwcmluZyAyMDIwIC0gQUYgdnMgSExFIC0gVzdENSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZnIiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6Ik9nYW1pbmdMb0wiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImZyIiwiX2lkIjo3MTg1MjUzMywibmFtZSI6Im9nYW1pbmdsb2wiLCJjcmVhdGVkX2F0IjoiMjAxNC0wOS0yNFQxNDo1OTo0Ny4wOTU4MTNaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6NDguOTk4NDgxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzhkYmNlN2JiLWJiNmUtNGEzYi04MTIxLWZmMjYyYjcxN2M4MS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9jY2RlYTg1OC02YjNiLTQyYTItOTZkZC1kYzRiZDUxNWQyMDItY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY0YTA4Mzk5LWNlODQtNDZjNy05ZWYyLTU4YWNkYjA0ZTc3Zi1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjYjI1NjAwIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L29nYW1pbmdsb2wiLCJ2aWV3cyI6MTg2NjUzNjc1LCJmb2xsb3dlcnMiOjQ3MjE4NywiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiTGEgY2hhw65uZSBPJ0dhbWluZyAxMDAlIExlYWd1ZSBvZiBMZWdlbmRzICEiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3Mzk0MTQ5NzkyLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjQxMTQsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDY6Mzk6NTVaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2tpbWRvZS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2ltZG9lLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2ltZG9lLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2ltZG9lLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiLroaQgTE9MIDHsirnsvKDsmZUgKOu4jOuhoOymiDMpIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJrbyIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoi6rmA64+EIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJrbyIsIl9pZCI6MTAyODQ1OTcwLCJuYW1lIjoia2ltZG9lIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDktMjNUMDg6NTU6NDQuMjcwMTM3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjA0LjczMTkyWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2tpbWRvZS1wcm9maWxlX2ltYWdlLTM1NGVjZWE5YTQyYzQxZTktMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzExYTE2N2IyLTNiZjQtNGZlOC1hNzU4LTlkMzgyMjc4NjRkOS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9raW1kb2UtcHJvZmlsZV9iYW5uZXItYzc4MTU4M2Y4ZWM4NDExMi00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9raW1kb2UiLCJ2aWV3cyI6MzU5NzU2MjYsImZvbGxvd2VycyI6Mjg0NDM1LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiLtirgt7ZWYIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg4NDM3NDczLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjM2MTMsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDk6NTg6NDVaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xvbF9uZW1lc2lzLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sb2xfbmVtZXNpcy0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xvbF9uZW1lc2lzLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbG9sX25lbWVzaXMte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJGTkFUSUMgTmVtZXNpcyBjb2xsZWN0aW5nIHR3aXRjaCBwcmltZXNcbiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6ImxvbF9uZW1lc2lzIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6ODYxMzE1OTksIm5hbWUiOiJsb2xfbmVtZXNpcyIsImNyZWF0ZWRfYXQiOiIyMDE1LTAzLTI0VDE2OjQyOjM2LjYzOTM3OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjoyMi4yMDE1MDlaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMGU1YmViNmEtMDc1OS00NjhkLWI0M2UtMjEwM2IzYzQwYzc2LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2U0YWNlODUzLTgwZTItNDQ3OC1iMGE3LWJlNjlmMTEzYzFlYi1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83ZTU1YjM5Yi1jMjA3LTQ5MjAtODJlZi0yODhhZDVkN2UyODYtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbG9sX25lbWVzaXMiLCJ2aWV3cyI6MzEyODAxNSwiZm9sbG93ZXJzIjoxMzI1OTMsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTQ0OTUxNjgsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MzE0NCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzoyNzo1NloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfd3RmX3dpbmRzMTIzLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl93dGZfd2luZHMxMjMtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl93dGZfd2luZHMxMjMtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl93dGZfd2luZHMxMjMte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLjgJBXaW5kc+OAkTQvNSDlvYjmgKfnqY3liIbpgKPli53lnJjjgIIiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InpoIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiLlpKfkuLgiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6InpoLXR3IiwiX2lkIjoyOTU0Njc0NSwibmFtZSI6Ind0Zl93aW5kczEyMyIsImNyZWF0ZWRfYXQiOiIyMDEyLTA0LTA2VDA4OjUzOjUzLjk4MzAxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjQwLjA3MDA0MloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy93dGZfd2luZHMxMjMtcHJvZmlsZV9pbWFnZS02MmFmZmRmZWRjZWQyZjY2LTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjMjQyMDIwIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3d0Zl93aW5kczEyMyIsInZpZXdzIjozNzY4NTcxNiwiZm9sbG93ZXJzIjoyNDkwNDIsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTUxMzk0NzIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjcyNiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTozNjoxOVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWlkYmVhc3QtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21pZGJlYXN0LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbWlkYmVhc3QtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9taWRiZWFzdC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlJBTksgMSBLT1JFQU4gTUFTVEVSIFBST01PIFBMQVlFUiBHUklORElORyBTTyBIQVJEIEkgTmV3IFplZCAhdmlkZW8gb3V0IG5vdyEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJtaWRiZWFzdCIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjkyMTEzODkwLCJuYW1lIjoibWlkYmVhc3QiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yOFQxMzo0MjoxOS4yNjQ5NzdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6NTUuODkzOTY4WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzA3YTM5Yjk2LTM5ZDQtNDI2ZC1iNThjLTA2YTMyY2YxYzMyZS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zZGRjYWY3NTEzMDVhZWZlLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzQyMGQ2YWUyLWFjOTQtNGY1Mi1hOTAzLTM5N2M5ZWUzZjE5Ny1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9taWRiZWFzdCIsInZpZXdzIjoxMjQ3MDg4MSwiZm9sbG93ZXJzIjoyNzI1NzQsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkF1c3RyYWxpYW4gcGVyZmVjdGlvbiwgbGVhZ3VlIG9mIGxlZ2VuZHMgZm9ybWVyIHByb2Zlc3Npb25hbCwgY3VycmVudCB3YXNoZWQgdXAgc3RyZWFtZXIgdHVybmVkIGRvcGEgd2FubmFibGUgdHVybmVkIHphYyBlZnJvbiBsb29rYWxpa2UgdHVybmVkIG1hbGQuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg2OTg3MjMzLCJnYW1lIjoibGVhZ3VlIG9mIGxlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjI0NjMsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDM6MjI6NTVaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dyYXRpczE1MG1sLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9ncmF0aXMxNTBtbC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dyYXRpczE1MG1sLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ3JhdGlzMTUwbWwte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJMT0wgLSBHUkFURVJBIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJwdCIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiZ3JhdGlzMTUwbWwiLCJnYW1lIjoibGVhZ3VlIG9mIGxlZ2VuZHMiLCJsYW5ndWFnZSI6InB0LWJyIiwiX2lkIjo1MjIwMzE0NCwibmFtZSI6ImdyYXRpczE1MG1sIiwiY3JlYXRlZF9hdCI6IjIwMTMtMTEtMjZUMTQ6MTY6NTQuNzc3NDA5WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjU4LjE1NTkzMVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83NzRkY2YwNy1hMTQ1LTRmZGYtOGY1ZC0yZTJmMjRhN2NiMGYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZ3JhdGlzMTUwbWwtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTczY2YzNGM1N2Y3YzBjNGUtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZGU2YmU4MzAtOWU4NS00ZTc1LWIxM2EtZGYyYzdiZTVhODE5LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzhmOGI4ZiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9ncmF0aXMxNTBtbCIsInZpZXdzIjo1NTkzNjU3MCwiZm9sbG93ZXJzIjo2ODMyMjQsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkxlYWd1ZSBvZiBsZWdlbmRzLCBjaGFsbGVuZ2VyLCBtYWluIGhlaW1lcmRpbmdlciwgdG9wMSBkb25ndWVyIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjozNzM5NTc2MTQyNCwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyMzIzLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjE2OjIzWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9nb3N1LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9nb3N1LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ29zdS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dvc3Ute3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJHb3N1IC0gU29sb1EgLyBBcGV4IGluIFEgIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiR29zdSIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjQxOTM5MjY2LCJuYW1lIjoiZ29zdSIsImNyZWF0ZWRfYXQiOiIyMDEzLTAzLTMxVDIxOjEyOjE0LjQzMDI2NVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjozMi4xMzk2NTVaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYjMwODI4YmEzZWZkNTFhNS1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZ29zdS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtNDYyZDgyMzIyMzFiMjNlNC0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kYzgwOGEzOTg4MDQ1ZjRlLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2dvc3UiLCJ2aWV3cyI6MTE3NDM5ODU2LCJmb2xsb3dlcnMiOjE2NzMzNDksImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkNoYWxsZW5nZXIgQUQgQ2FycnkuIEJ1c2luZXNzIElucXVpcmllczogdHNtZ29zdTE5OTRAZ21haWwuY29tXHJcciIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MTA4NzkzNTI4MSwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoyMjQxLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA4OjI3OjQwWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9vdmVycG93LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9vdmVycG93LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfb3ZlcnBvdy02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX292ZXJwb3cte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IuODhCB0byB0eWxrbyBuaWV0cmFmaWFqxIVjeSDFvGFkbsSFIHVtaWVqxJl0bm/Fm2NpxIUsIG5pZWlzdG90bnkgZ3JhY3ogIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJwbCIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiT3ZlcnBvdyIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoicGwiLCJfaWQiOjg4MjIzMDMsIm5hbWUiOiJvdmVycG93IiwiY3JlYXRlZF9hdCI6IjIwMDktMTAtMjRUMTU6MjM6MDUuOTgzNjg0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjE3LjA1MTE0NFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84ZDA5MDE4YjJhN2ZmNmJhLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8wNTY4NTE2MC1iMjFlLTQ1MjctYmUwMi00Y2IxYmEwNjU5NWMtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNTk2YzFjN2ItY2I0My00YjRmLThjZjgtYzBmZDI1MzY1OTQzLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L292ZXJwb3ciLCJ2aWV3cyI6MzQ5MTk3MjIsImZvbGxvd2VycyI6MjQ4ODUxLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJBbWF0b3IgbGlnaSBsZWdlbmQgaSBpbm55Y2ggZ2llciBtb2JhLiBLYXBwYSBmb3IgbGlmZS4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODY1OTc3NDUsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjIyNCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMTo1MToyN1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfamVhbl9tYWdvLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qZWFuX21hZ28tMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qZWFuX21hZ28tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qZWFuX21hZ28te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJKZWFuIE1hZ28gLSBuYSBwZWdhZGEgZG8gdG9wIDEgIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJwdCIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiamVhbl9tYWdvIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJwdC1iciIsIl9pZCI6MjQ1ODI5NTg4LCJuYW1lIjoiamVhbl9tYWdvIiwiY3JlYXRlZF9hdCI6IjIwMTgtMDgtMDZUMDA6MjU6NTYuMDM2MDI0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI4OjQyLjg3NDM4M1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85NDNmNjFlYy04ODZmLTQzZDktOTAxYy1jNGY1MmI1ZTM5ZjEtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzE1N2IzMGItNGM3My00NjgxLTkyMzgtOWRiY2FjYWYzNjI0LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2YyODhlNzE3LTUzZDQtNGI2NS04ZDc5LTI4NmRlMDYwYjY0ZC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9qZWFuX21hZ28iLCJ2aWV3cyI6NDg3Njg2NSwiZm9sbG93ZXJzIjoxOTI0ODAsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkplYW4gTWFnbywgQ2hhbGxlbmdlciBkZXNkZSBvcyAxNCBhbm9zIGV4IHRvcCAxIGJyIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg4MjY0MTc3LCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjIxMjgsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDk6MzA6MjlaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3VuaWxpZ2FnZy04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdW5pbGlnYWdnLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdW5pbGlnYWdnLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdW5pbGlnYWdnLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiVW5pbGlnYSBSaXZhbHMgMjAyMCAtIEdydXBwZW5waGFzZSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZGUiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IlVuaWxpZ2FHRyIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZGUiLCJfaWQiOjgzOTgxOTU2LCJuYW1lIjoidW5pbGlnYWdnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDItMjhUMDg6NDE6MjQuMzU0MDM5WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI5OjE3Ljg2MTY2MVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81Mzc0ZWEzZS0xMzVlLTQ5NmMtOWVjNC1iZmIwOGQ1Yzc4MmQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYThjM2YwZTYtYmQ2NC00MTNjLWI1M2MtNjYyODI4ZjVkODAwLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mYTVmZjU0NS0zMTcyLTRiYjAtOGFhOS02NDk1MGY2YTg0NDUtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3VuaWxpZ2FnZyIsInZpZXdzIjo3NDkwNjMwLCJmb2xsb3dlcnMiOjc3MjcsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkRhcyBUZWFtIHZvbiBcIlVuaXZlcnNpdHkgZVNwb3J0cyBHZXJtYW55XCIgZXJtw7ZnbGljaHQgZVNwb3J0LVR1cm5pZXJlIHVuZCBMaWdlbiBmw7xyIFN0dWRlbnRlbiwgaW4gZGVuZW4gc2ljaCBkZXV0c2NoZSBVbmlzIHVuZCBGYWNoaG9jaHNjaHVsZW4gbWl0ZWluYW5kZXIgbWVzc2VuIGvDtm5uZW4uIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg3NjkyNTEzLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjE3MzYsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDc6MjM6MzJaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2t1Ym9uXy04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vib25fLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vib25fLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa3Vib25fLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRGlhbWVudD9UbyBuaWUgamVnbyBkeXdpemphIHdrcmFjemFzeiB3xYJhc25pZSBuYSBzdHJlYW0gbmFqd3nFvGVqIHVwbGFzb3dhbmVnbyBwb2xza2llZ28gc3RyZWFtZXJhIHdpZWxraWVqIG5hZHppZWkgb2xkYm95w7N3LyFwcmltZSFnaXZlYXdheSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoicGwiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6Ikt1Ym9uXyIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoicGwiLCJfaWQiOjI4NTcyMDkzLCJuYW1lIjoia3Vib25fIiwiY3JlYXRlZF9hdCI6IjIwMTItMDItMjdUMTk6NTE6MTcuMzE0MTkxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjMzLjgyMDQ5N1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9rdWJvbl8tcHJvZmlsZV9pbWFnZS0zMmMzZDk1OWE1MTdlY2U5LTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81MjVhMzNlYi00ZTc3LTRmNjgtOWFhMC02MTgyZjQzMTMxZTAtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9rdWJvbl8iLCJ2aWV3cyI6MzE3NTY3MjksImZvbGxvd2VycyI6MjU3OTcyLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODc2NTI0MzMsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MTYxNCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzoxMToxNloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfYWd1cmluLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hZ3VyaW4tMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hZ3VyaW4tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9hZ3VyaW4te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJSYW5rIDEgYW0gc211cmZlbiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZGUiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6ImFndXJpbiIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZGUiLCJfaWQiOjMxNTQ1MjIzLCJuYW1lIjoiYWd1cmluIiwiY3JlYXRlZF9hdCI6IjIwMTItMDYtMjJUMTY6NTU6NDIuNjcyODAxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjQ2LjEwMzg2MVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zY2E2NWM3Mi0yNmJjLTRmY2ItODc4ZC1jYzI5ZDJmNDViZmUtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzE3ZTFiOWItZjZjNS00ZDJkLWJjNjgtYzAyMzQ5MGRkNTg2LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzkyZjRlOGM4ZDMyZjRiYWItcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYWd1cmluIiwidmlld3MiOjIwODczMTcsImZvbGxvd2VycyI6NDkyNzIsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkxlYWd1ZSBvZiBMZWdlbmRzIENoYWxsZW5nZXIgSnVuZ2xlIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19XX0= + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:14 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/streams/without_options.yml b/spec/cassettes/streams/without_options.yml new file mode 100644 index 0000000..cb428f1 --- /dev/null +++ b/spec/cassettes/streams/without_options.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/streams + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:14 GMT + x-served-by: + - cache-sea4452-SEA, cache-hel6821-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091434.121754,VS0,VS0,VE214 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJzdHJlYW1zIjpbeyJfaWQiOjEwODkyODk1ODUsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NjY2NDcsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjU5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NDY6MzlaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2VzbF9jc2dvLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lc2xfY3Nnby0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2VzbF9jc2dvLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZXNsX2NzZ28te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJMSVZFOiBGYVplIENsYW4gdnMuIEZuYXRpYyAtIEVTTCBQcm8gTGVhZ3VlIFNlYXNvbiAxMSAtIFN0YWdlIDIiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJFU0xfQ1NHTyIsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjMxMjM5NTAzLCJuYW1lIjoiZXNsX2NzZ28iLCJjcmVhdGVkX2F0IjoiMjAxMi0wNi0xMVQxMzozNjoyMS42MTgzMzhaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6MjguOTg2MjMzWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzE5NzViMThmLWZhN2QtNDQzZi1iMTkxLWZiYTA4ZjkyZjNhMi1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvN2Q3ZWY2ZTEtN2RiMC00NDVjLThlOGMtMWM5NjNhZmQ0Y2Q2LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iOTQ5NTVmMi1iOWY2LTQyMDAtODE3OS0zYmRmNWUwMzJiZGYtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzAwMDAwMCIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9lc2xfY3NnbyIsInZpZXdzIjo0NTQ0NzU4NzcsImZvbGxvd2VycyI6MzcwODU3MiwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiaHR0cDovL2VzbGdhbWluZy5jb20iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3Mzk1NDY4MTQ0LCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NTE1MzcsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6MDA6NTNaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pkbTIwODgtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2pkbTIwODgtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9qZG0yMDg4LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfamRtMjA4OC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IuyVheyWtCDrp4jtgazsl5DsnbTsp4A0UiAy67aAIDog7Iqk7Yq466as66i47ISc67KEIOuJtOudteuniOydhCBPUEVOIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJrbyIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoi7JWF7Ja0IiwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJsYW5ndWFnZSI6ImtvIiwiX2lkIjoxMzgxMTc1MDgsIm5hbWUiOiJqZG0yMDg4IiwiY3JlYXRlZF9hdCI6IjIwMTYtMTAtMjhUMTI6MjE6MjIuMjY1MDY3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjQ3Ljc5OTc1NFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9qZG0yMDg4LXByb2ZpbGVfaW1hZ2UtYzQ2ZmQ4M2JkODExNWRiMi0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDU5OGYzMDYtMGRmZi00ZTNhLThlOGYtOWZhOWZiMzlmOTQ0LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY1MTRmMDBlLTc1ZjMtNDBjOC1iYTNmLWY5ZjkwN2UxMzhmZS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9qZG0yMDg4Iiwidmlld3MiOjM3Nzk4MDQsImZvbGxvd2VycyI6MjI5NDU2LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODgwMjY1NzcsImdhbWUiOiJEb3RhIDIiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjQ1NjcyLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA4OjQ4OjIyWiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kb3RhMm1jX3J1LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kb3RhMm1jX3J1LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZG90YTJtY19ydS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2RvdGEybWNfcnUte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJbUlVdIE5hdHVzIFZpbmNlcmUgdnMgVGVhbSBVbmlxdWUgKDAtMCkgQk8zIHwgRVNMIE9uZSBMb3MgQW5nZWxlcyAyMDIwIGJ5IEBPbHNpb3IgXHUwMDI2IEBiYWZpa2siLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InJ1IiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJkb3RhMm1jX3J1IiwiZ2FtZSI6IkRvdGEgMiIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjIxMzc0OTEyMiwibmFtZSI6ImRvdGEybWNfcnUiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNC0xMlQxNDo1MDoxMi40Mjg5OFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NTozNC4wMTUxNDNaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOWE2N2ViNjYtNjZiOC00N2ZhLWIzODgtNjFmMmY3NGNlMjEzLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2U0ZDk4YTE1LTlkZDAtNDQxYi1hZmI2LTZkMWMwNWNmMmMyNC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85MDA2MTY2Yy04NGNiLTQwNzQtYjM2OS1mM2ZhMTk3N2UwOGYtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZG90YTJtY19ydSIsInZpZXdzIjo2MDAwMDY3OSwiZm9sbG93ZXJzIjozNzc5NTUsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTM2MTkzNzYsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6NDU0NTUsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjU5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6NDA6MDdaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xjay04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGNrLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGNrLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbGNrLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRFdHIHZzLiBUMSAtIEFQSyB2cy4gR1JGIC0gSExFIHZzLiBBRiBbMjAyMCBMQ0sgU3ByaW5nIFNwbGl0XSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkxDSyIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjEyNDQyNTUwMSwibmFtZSI6ImxjayIsImNyZWF0ZWRfYXQiOiIyMDE2LTA1LTE2VDE4OjM1OjIyLjA4MzA0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI5OjQ0LjA1ODc4NVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80ZGNmY2E1Zi1iMzM0LTRhMDMtYTI3My0yOWY4NjVjOWVlOTAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzExOGJlMzItYTkwNS00ZTQyLWI0NWQtMTEzNmE3MjE5MzBlLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kYmIwZWYyYS1jZWY5LTRlZGYtYjhlZi0xY2ExZDE3NDQ5NzgtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2xjayIsInZpZXdzIjo3Mjc0NzYzMiwiZm9sbG93ZXJzIjo3NTExMjksImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkZvciBtb3JlIGluZm9ybWF0aW9uLCBzY2hlZHVsZXMgYW5kIHN0YXRzIGhlYWQgdG8gbG9sZXNwb3J0cy5jb20iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3MzkzNjE0MTYwLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjQyMTQyLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA1OjM5OjM2WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9sY2tfa29yZWEtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xja19rb3JlYS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xja19rb3JlYS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xja19rb3JlYS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlsyMDIwIOyasOumrOydgO2WiSBMQ0sgU3ByaW5nIFNwbGl0XSBEV0cgdnMuIFQxIC0gQVBLIHZzLiBHUkYgLSBITEUgdnMuIEFGIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJrbyIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiTENLX0tvcmVhIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MTkwODM1ODkyLCJuYW1lIjoibGNrX2tvcmVhIiwiY3JlYXRlZF9hdCI6IjIwMTgtMDEtMTVUMDE6NDA6MDkuNTc3ODQ0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjA4LjExMTg1NloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83NjhhNjNmYy01YjMzLTQxMDYtYWViZC04ZThmMzI3MjliZDAtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNjRkZmQwNWUtNzJkMS00MGVhLTk0MGUtNjJiODRmZmQyN2E4LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81N2Y1NzYwMC1hYWU4LTQ5MTItODg5Yy0xODFkZDk1ODZkMjEtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2xja19rb3JlYSIsInZpZXdzIjoxNDAzNjQ2NzIsImZvbGxvd2VycyI6NTI0Mzk3LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODkzMDYzNTMsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjQ2NTUsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjU5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NDg6MjdaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2NzZ29tY19ydS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY3Nnb21jX3J1LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY3Nnb21jX3J1LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY3Nnb21jX3J1LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiW1JVXSBGQVpFIHZzIEZOQVRJQyAoMC0wKSBCTzMgfCBFU0wgUFJPIExFQUdVRSBTRUFTT04gMTEgIGJ5IEB0YWZhdHYgXHUwMDI2IEBzbDRtdHYiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InJ1IiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJjc2dvbWNfcnUiLCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJsYW5ndWFnZSI6InJ1IiwiX2lkIjoyMTM3NDg2NDEsIm5hbWUiOiJjc2dvbWNfcnUiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNC0xMlQxNDo0NzozMS4yOTM2ODVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTY6MzMuMTk5NTY4WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzRiZjM3Njg4LTdiMTktNGQzZi05ZDU2LTExNzQwYWQzOGM0ZC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iZjE3ZjIyYy0yMmU5LTQ3NWMtYTJjZi0xN2NjZWQ5MTNhYmQtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOWVlMWQ0MzYtNWFhNC00ODJjLWEzM2YtZGU3ZWIzOTYzMTViLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2NzZ29tY19ydSIsInZpZXdzIjoyNTcwNjcxMSwiZm9sbG93ZXJzIjozMzg4NDQsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTMwNjM4NDAsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MjM3MDcsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjU5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDQ6NDk6NTdaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2xwbC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbHBsLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbHBsLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbHBsLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiSkRHIHZzLiBMTkcgfCBCTEcgdnMuIEVERyB8IFJORyB2cy4gSUcgLSBXZWVrIDUgRGF5IDYgfCBMUEwgU3ByaW5nICgyMDIwKSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkxQTCIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiemgtY24iLCJfaWQiOjEyNDQyNTYyNywibmFtZSI6ImxwbCIsImNyZWF0ZWRfYXQiOiIyMDE2LTA1LTE2VDE4OjM3OjAzLjUyNzQ5NFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjowOC4xNTM3OTZaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbHBsLXByb2ZpbGVfaW1hZ2UtNjdiYzk1NDE3NDFhNTM5NC0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbHBsLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS1lNzMzNzFmOTY2OTc5NzQ2LTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbHBsLXByb2ZpbGVfYmFubmVyLTFmMTk1NjQxNzVjNjcwZGUtNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbHBsIiwidmlld3MiOjM0MTMyMjM0LCJmb2xsb3dlcnMiOjMwMzc4OSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNjaGVkdWxlcyBhbmQgc3RhdHMgaGVhZCB0byBsb2xlc3BvcnRzLmNvbSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTUyNDgzMzYsImdhbWUiOiJZdS1HaS1PaCEgRHVlbCBMaW5rcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MTU0MjYsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjU5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTA6MDM6MjRaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2RkYWh5b25pLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9kZGFoeW9uaS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2RkYWh5b25pLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZGRhaHlvbmkte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLtirjqsozrjZTrnbzsnbTruIwgRVAuMyDrlLDtmqjri4jsnZgg67Cw7YuA7Iuc7YuwISAo6rO17ZiB7KSALCDrlLDtmqjri4gsIOyduOqwhOygpOumrCwg7ZmN7LCoLCDquLDrrLTquLDtm4gpIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJrbyIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoi65Sw7Zqo64uIIiwiZ2FtZSI6Ill1LUdpLU9oISBEdWVsIExpbmtzIiwibGFuZ3VhZ2UiOiJrbyIsIl9pZCI6MTAyMzgxMjAxLCJuYW1lIjoiZGRhaHlvbmkiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOS0xN1QxMTo1NzoyOC4zOTg2MVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NTozOC45OTg0MVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85NDMzZDYyYy0yYzM4LTQ0ZmUtOWU4Zi02ODc1YTIzYWFhYzQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMjM3MDBhMGMtYThhMS00N2RlLWI3NDctOWRmOTJlNjJjODExLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84OGU5NWFkNzQ2NjI0ZGQ0LXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiNmZmZmZmYiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZGRhaHlvbmkiLCJ2aWV3cyI6MzU5NjAxMDcsImZvbGxvd2VycyI6Mjk4OTk4LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiLrsLHsg4HtmIQiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3Mzk1NDc3MTg0LCJnYW1lIjoiRG90YSAyIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxNTQxMSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMTowMzowN1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZXNsX2RvdGEyLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lc2xfZG90YTItMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lc2xfZG90YTItNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9lc2xfZG90YTIte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJMSVZFOiBOYSdWaSB2cyBUZWFtIFVuaXF1ZSAtIEVTTCBPbmUgTG9zIEFuZ2VsZXMgLSBHcm91cCBTdGFnZSAtIEVVL0NJUyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkVTTF9ET1RBMiIsImdhbWUiOiJEb3RhIDIiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjozNjQ4MTkzNSwibmFtZSI6ImVzbF9kb3RhMiIsImNyZWF0ZWRfYXQiOiIyMDEyLTA5LTI3VDEwOjQyOjExLjU2NjQyNFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozMToxNi4xNTI3MjhaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNTJlZjU1MjUtYjE5Zi00NGYxLWIzNDItMmE3ZTMzYzQ1Y2MzLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83OTVmZTNiNy1kN2ZkLTRkMTgtOGYyZS02OTVlM2QyYjVjOWYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzI0ZWZlMTk5LWU0ZDctNDI3My05NzhiLTg3MzBkMGFlMjc1ZS1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIjMDAwMDAwIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2VzbF9kb3RhMiIsInZpZXdzIjo1MzU2MjY2NiwiZm9sbG93ZXJzIjoyNzk1NzIsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6Imh0dHA6Ly93d3cuZXNsZ2FtaW5nLmNvbS8iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3Mzk1NDcyOTQ0LCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjE1MTkyLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo2MCwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDExOjAyOjA1WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9oYW5yeWFuZzExMjUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2hhbnJ5YW5nMTEyNS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2hhbnJ5YW5nMTEyNS02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2hhbnJ5YW5nMTEyNS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IuuPmeusvOydmOyIsiAgICDsnbTsg4HtmJXsm5Trk5zsu7UgIO2SjeyblOufiSAiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImtvIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiLtko3sm5Trn4kiLCJnYW1lIjoiQW5pbWFsIENyb3NzaW5nOiBOZXcgSG9yaXpvbnMiLCJsYW5ndWFnZSI6ImtvIiwiX2lkIjoxMDM4MjUxMjcsIm5hbWUiOiJoYW5yeWFuZzExMjUiLCJjcmVhdGVkX2F0IjoiMjAxNS0xMC0wNlQyMDoxNzowOS40Mjc5NThaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6MTUuOTUzMzc3WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hhbnJ5YW5nMTEyNS1wcm9maWxlX2ltYWdlLTU4MjYxZDc4YWY0N2QyNDktMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kMTA5Yjg3Zi0xNWQ1LTQzMTQtYjM0ZC0yZDUxODNjNGM3YzUtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hhbnJ5YW5nMTEyNS1wcm9maWxlX2Jhbm5lci0zOGI3YTRjZTEzNTliZTc0LTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9oYW5yeWFuZzExMjUiLCJ2aWV3cyI6ODQ5MzM1MzcsImZvbGxvd2VycyI6NDY0NzA5LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3Mzk1NjYyNTEyLCJnYW1lIjoiTW91bnQgXHUwMDI2IEJsYWRlIElJOiBCYW5uZXJsb3JkIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxNDE0NSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMTo1MjoxMVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY29oaGNhcm5hZ2UtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2NvaGhjYXJuYWdlLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfY29oaGNhcm5hZ2UtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9jb2hoY2FybmFnZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Ik1cdTAwMjZCIDIgYW5kIEVuZHpvbmUhIC0gU3BvbnNvcmVkIGJ5ICFHT0cgLSAyMCUgb2ZmIEVORFpPTkUgLVx1MDAzZSBDb2hoLnR2L0VuZHpvbmVEaXNjb3VudCAtIEZGVklJIFJlbWFrZSBGUklEQVkgYXQgOGFtIEVUISAtICFEaXNjb3JkIC0gIUNvcnNhaXIiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJDb2hoQ2FybmFnZSIsImdhbWUiOiJNb3VudCBcdTAwMjYgQmxhZGUgSUk6IEJhbm5lcmxvcmQiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoyNjYxMDIzNCwibmFtZSI6ImNvaGhjYXJuYWdlIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMDZUMTg6MjA6MzQuMDc1NDIzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU2OjMwLjE4NTc3NVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lZDcyYjY0MS04M2VhLTRlZTYtODFmZC1hYTE5NTc1OWM1MTItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzZiMTVhZGEtOWRhOS00Yjk5LWIwZDItNzZkNzlmMThlM2Y4LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2NvaGhjYXJuYWdlLXByb2ZpbGVfYmFubmVyLWJjYjFiMWI4ZTYxOTQ3OTktNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvY29oaGNhcm5hZ2UiLCJ2aWV3cyI6MTUyNDI5NDU0LCJmb2xsb3dlcnMiOjEyMzAzMDgsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkhleWEgZ3V5cywgSSdtIENvaGghIEknbSBhIGZ1bGwgdGltZSBUd2l0Y2gudHYgc3RyZWFtZXIgKHRoYW5rcyB0byBhbiBhd2Vzb21lIHdpZmV5IFx1MDAyNiBhIHBoZW5vbWVuYWwgY29tbXVuaXR5ISkuIENvbWUgaGFuZyBvdXQgd2l0aCB0aGUgQ29oaGlsaXRpb24gYXMgd2UgZXhwbG9yZSBuZXcgZ2FtZXMgYW5kIHJhemUgdGhlIGNvdW50cnlzaWRlISBIYXBweSwgaGVscGZ1bCBhbmQgcmVzcGVjdGZ1bCBwZW9wbGUgd2VsY29tZS4gOkQiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODk1NDY4MDEsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MTI3ODEsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjU5LCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MTE6MzZaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dhdWxlcy04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2F1bGVzLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2F1bGVzLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2F1bGVzLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiJGYXplIHZzIEZuYXRpYyBFU0wgUHJvIExlYWd1ZSBTZWFzb24gMTEgI0dhdXJlbnRlbmEgRGlhIDIwICFMb3RlcmlhICFTb3J0ZWlvIC0gR2F1cG9pbnRzIGVtIGRvYnJvIG5hIFF1YXJlbnRhIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJwdCIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiZ2F1bGVzIiwiZ2FtZSI6IkNvdW50ZXItU3RyaWtlOiBHbG9iYWwgT2ZmZW5zaXZlIiwibGFuZ3VhZ2UiOiJwdC1iciIsIl9pZCI6MTgxMDc3NDczLCJuYW1lIjoiZ2F1bGVzIiwiY3JlYXRlZF9hdCI6IjIwMTctMTEtMDlUMTQ6MTA6NTIuODMyNTdaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzE6MjUuMjI5NTE1WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2M0OTViNzdlLTdmNDctNGJjNS1hMjE2LTMwNDVkNzU0NTc5Ni1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81ZGViOTM3NC1mMTgwLTRlZTAtODQ0Ni0yMDVjZGU2MjNlYzgtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNGY5ZjNlNGItYzM1Ny00MWY2LWI2MGMtMDk2YTFmMTgxYzNiLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9nYXVsZXMiLCJ2aWV3cyI6MTAzNjUwMzg5LCJmb2xsb3dlcnMiOjEwNDk4NTksImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkZvY2FkbyBubyBlLVNwb3J0IGRlc2RlIDE5OTgsIGZpeiBwYXJ0ZSBkYSBwcmltZWlyYSBnZXJhw6fDo28gZGUgam9nYWRvcmVzIHByb2Zpc3Npb25haXMgZG8gbXVuZG8uIEF0dWVpIDkgYW5vcyBjb21vIGpvZ2Fkb3IsIDMgYW5vcyBjb21vIHTDqWNuaWNvLCBzZW5kbyBvIHByaW1laXJvIGEgY29ucXVpc3RhciB1bSB0w610dWxvIG11bmRpYWwgbm8gQ1MgbmVzdGEgZnVuw6fDo28uIE5vcyDDumx0aW1vcyA3IGFub3MgbWUgZGVkaWNvIGFvIGVtcHJlZW5kZWRvcmlzbW8gbm8gbWVyY2FkbyBkZSBlc3BvcnQuIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg5NDY2MDY1LCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6MTIzNDcsInZpZGVvX2hlaWdodCI6OTAwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjowMzo0NloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcGFwYXBsYXR0ZS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcGFwYXBsYXR0ZS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3BhcGFwbGF0dGUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9wYXBhcGxhdHRlLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoibW9pbiB+IEBQYXBhcGxhdHRlIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJkZSIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiUGFwYXBsYXR0ZSIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJkZSIsIl9pZCI6NTA5ODU2MjAsIm5hbWUiOiJwYXBhcGxhdHRlIiwiY3JlYXRlZF9hdCI6IjIwMTMtMTEtMDJUMTM6Mjk6NDUuNzAxOTQyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI5OjI5LjkyNDg4N1oiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80YWJjN2M4Ny1lNTk0LTRjNzgtOTNhZC01ZWU1M2VjZjNmYzgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvcGFwYXBsYXR0ZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtZjEzN2RlMmZiMThkMDEzYS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3BhcGFwbGF0dGUtcHJvZmlsZV9iYW5uZXItOGIwYWJjZjE4YjZmYjgwMy00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDc2YjIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcGFwYXBsYXR0ZSIsInZpZXdzIjozMTExMDE3NSwiZm9sbG93ZXJzIjo1Nzg0MjEsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6Ik5lcmQgYXVzIEJlcmxpbi4gV2lsbGtvbW1lbiBiZWkgZGVyIG1lcmt3w7xyZGlnc3RlbiBDb21tdW5pdHkgRGV1dHNjaGxhbmRzLiBWaWVsIFNwYcOfIGF1ZiBtZWluZW0gQ2hhbm5lbCEgQnVzaW5lc3MtTWFpbDogYnVzaW5lc3NAcGFwYXBsYXR0ZS5kZSIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTQzNzgyNDAsImdhbWUiOiJMYXN0IE9hc2lzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxMjExNSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNzoxMDo0NVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfc3R5bGlzaG5vb2I0LTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zdHlsaXNobm9vYjQtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zdHlsaXNobm9vYjQtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9zdHlsaXNobm9vYjQte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJbRFROXSDlpJrkurrmlbDlj4LliqDlnotQdlBSUEcg44Ki44OI44Op44K544Gu5YaN5p2l44Gq44KL44GL77yfIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJqYSIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoic3R5bGlzaG5vb2I0IiwiZ2FtZSI6Ikxhc3QgT2FzaXMiLCJsYW5ndWFnZSI6ImphIiwiX2lkIjo1MDk4ODc1MCwibmFtZSI6InN0eWxpc2hub29iNCIsImNyZWF0ZWRfYXQiOiIyMDEzLTExLTAyVDE0OjM5OjIyLjQ4MzExMVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjowNy4wNzk0OTlaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvc3R5bGlzaG5vb2I0LXByb2ZpbGVfaW1hZ2UtMDgyNzFmMTEyOTZjMTZkZi0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2RmOGIyMWI1LWZkYTYtNDVlZS1iMGNjLTcwM2RhZDBhZmNhOC1wcm9maWxlX2Jhbm5lci00ODAuanBnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9zdHlsaXNobm9vYjQiLCJ2aWV3cyI6NDA2OTYxMTYsImZvbGxvd2VycyI6Mjg3ODM2LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODg0NzIzMjEsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxMTY2NiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMDowMzozM1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbW9rcml2c2t5aS04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbW9rcml2c2t5aS0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21va3JpdnNreWktNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9tb2tyaXZza3lpLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi0JzQntCb0J7QlNCe0Jkg0KLQkNCi0JggKEdHLkJFVCkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InJ1IiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJtb2tyaXZza3lpIiwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJsYW5ndWFnZSI6InJ1IiwiX2lkIjo5NzgyODQwMCwibmFtZSI6Im1va3JpdnNreWkiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0zMVQxNjoyMzowMy41MjU1MVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODo0Mi44Mzc2MTlaIiwicGFydG5lciI6ZmFsc2UsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzI0YjY0YTliLWI5MTctNDZjMi05MDUyLWQzMDlhYTYxZGI2MC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81YTBiZTVlMC03NWJhLTQxZDQtYTJhOC0zYzY2MGM1ZWYxNTYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzE3ODliZjM4LWQ3NmYtNGM1Yi05MmE3LWRiNTE3YzM1NWIyNC1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvbW9rcml2c2t5aSIsInZpZXdzIjo5Mzc3MzcsImZvbGxvd2VycyI6NzkyOTUsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MTA4OTg0Mzk1MywiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjoxMDA2NiwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozOTo0MloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmlvdGdhbWVzcnUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Jpb3RnYW1lc3J1LTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmlvdGdhbWVzcnUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yaW90Z2FtZXNydS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6ItCa0L7QvdGC0LjQvdC10L3RgtCw0LvRjNC90LDRjyDQu9C40LPQsCB8INCS0LXRgdC90LAgMjAyMCB8INCd0LXQtNC10LvRjyA2IHwg0JTQtdC90YwgMiAj0LvRg9GH0YjQtdC00L7QvNCwXG4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InJ1IiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJSaW90R2FtZXNSVSIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoicnUiLCJfaWQiOjcyOTc3NjQ1LCJuYW1lIjoicmlvdGdhbWVzcnUiLCJjcmVhdGVkX2F0IjoiMjAxNC0xMC0xM1QxMjo1OTo0Mi44NDI2NzRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6MTcuODgyODU5WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzVmMzM4NzE4LWY5ZDktNDU4ZS1iMWZhLTk5ZGI0NWYyYTdjNS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81MDRhNDA4Yi1kNzI3LTRmYTMtYTY2OC1jZWU5YWE1ZGJhOTUtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMWM4NjIyZWMtZmIyZi00NDUwLTkxMTEtZGI4YjY0NjQ0NmMwLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3Jpb3RnYW1lc3J1Iiwidmlld3MiOjMwMjI3MTE2LCJmb2xsb3dlcnMiOjEyNzg5MSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiT2ZmaWNpYWwg0KFoYW5uZWwgb2YgUmlvdCBHYW1lcyBSdXNzaWEgXHUwMDI2IENJUyIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MzczOTQwNDk1NjgsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6OTcwMywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNjoyNzoxMVoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdHJhaW53cmVja3N0di04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfdHJhaW53cmVja3N0di0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3RyYWlud3JlY2tzdHYtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl90cmFpbndyZWNrc3R2LXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiJwcmlzbWEgMiBvcGVuaW5nIHwgIXR3aXR0ZXIgfCAheW91dHViZSB8ICFwb2RjYXN0IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoiIiwiZGlzcGxheV9uYW1lIjoiVHJhaW53cmVja3N0diIsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjcxMTkwMjkyLCJuYW1lIjoidHJhaW53cmVja3N0diIsImNyZWF0ZWRfYXQiOiIyMDE0LTA5LTE0VDEwOjIxOjU3LjYwMjA5NloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyODowMy43NDc0NDNaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMWY0Nzk2NWYtNzk2MS00YjY0LWFkNmYtNzE4MDhkN2Q3ZmU5LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzkyNTVjN2U3LWM2ZGUtNDk4My04MDgwLTY0ZDI4YTE4ZTViMC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84M2ExZmU1ZS02NGQzLTRhYTktYjBjMS02N2RlYWIyMzQzY2EtcHJvZmlsZV9iYW5uZXItNDgwLmpwZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvdHJhaW53cmVja3N0diIsInZpZXdzIjoyMTE2ODk0NCwiZm9sbG93ZXJzIjo1ODEzMTIsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IkFQRUdBTkciLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjM3MzkzMzUzMDcyLCJnYW1lIjoiTGFzdCBPYXNpcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6OTYwMCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwNToxNDozM1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbW9iaWxtb2JpbC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbW9iaWxtb2JpbC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21vYmlsbW9iaWwtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9tb2JpbG1vYmlsLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiLjgJDogIHnmq7jgJHntqDmtLIiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InpoIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiLogIHnmq4iLCJnYW1lIjoiTGFzdCBPYXNpcyIsImxhbmd1YWdlIjoiemgtdHciLCJfaWQiOjI5NTE4NTcyLCJuYW1lIjoibW9iaWxtb2JpbCIsImNyZWF0ZWRfYXQiOiIyMDEyLTA0LTA0VDIzOjM3OjA2LjgxMDE2MVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyOTozNi45NDA5MzVaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvbW9iaWxtb2JpbC1wcm9maWxlX2ltYWdlLTRkMGUxYTc4NmJmY2U3M2QtMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yMmNhMTBjNS1kODNhLTQ0ZTQtYmUzOS00ZjUwYWVmNDdlM2EtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDgzYTVjNGYtZmFiZS00OWNlLWE0M2EtMTc5MzVhMDM5MWE1LXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21vYmlsbW9iaWwiLCJ2aWV3cyI6OTQ1ODE1NjksImZvbGxvd2VycyI6NDM1MzIxLCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiIgT1AgQ2hhbm5lbCAiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODgyMjA3MzcsImdhbWUiOiJEYXJrIFNvdWxzIElJIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo5NTQwLCJ2aWRlb19oZWlnaHQiOjcyMCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDk6MjM6MTdaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2hvbmV5bWFkLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9ob25leW1hZC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2hvbmV5bWFkLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfaG9uZXltYWQte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOnRydWUsInN0YXR1cyI6ImFkZGFlbSBkb2xnZWUiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InJ1IiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJIb25leU1hZCIsImdhbWUiOiJEYXJrIFNvdWxzIElJIiwibGFuZ3VhZ2UiOiJydSIsIl9pZCI6NDAyOTgwMDMsIm5hbWUiOiJob25leW1hZCIsImNyZWF0ZWRfYXQiOiIyMDEzLTAyLTEzVDIxOjUyOjEzLjg1OTYyNVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyOTozNS45Nzc4ODFaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZjBmZDNhNWQtNThmYi00M2UzLThkNzctNzNlOThhNWM0Zjg3LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzI2ODM5OWE5LWUxNDItNDRkNC04OTNiLWVlYTNmN2FhYTJhMC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOGRjZWE1ZTgtMzFiOC00MjI0LWFkNzctNTM5N2I0NjM2MDdlLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9ob25leW1hZCIsInZpZXdzIjo1NjAwNzQyNSwiZm9sbG93ZXJzIjo1MDI3MTYsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6ItCn0LjRgtCw0LnRgtC1INCy0YHRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQv9C+0LQg0L/Qu9C10LXRgNC+0LwuICIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MTA4ODE5MzEyMSwiZ2FtZSI6IkRvdGEgMiIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6OTM5MCwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOToxODoyNFoiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ29yZ2MtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dvcmdjLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ29yZ2MtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9nb3JnYy17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoic21vcmMiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJHb3JnYyIsImdhbWUiOiJEb3RhIDIiLCJsYW5ndWFnZSI6ImVuIiwiX2lkIjoxMDgyNjg4OTAsIm5hbWUiOiJnb3JnYyIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTI5VDAzOjQ3OjE1Ljk2OTI0NVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjoyNzoyNi43MTY4MDNaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZ29yZ2MtcHJvZmlsZV9pbWFnZS00NjllMDVkMjVhMWU4NTk0LTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzhhNGJkMzY3MWVlYzIzZGEtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2dvcmdjIiwidmlld3MiOjM1MjI3ODAwLCJmb2xsb3dlcnMiOjM0NjU0OSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19LHsiX2lkIjoxMDg5MzY1MDU3LCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjg4NzIsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6NTQ6MzBaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2thbWV0MC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FtZXQwLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FtZXQwLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfa2FtZXQwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiS0FNRVRPIENPUlAgVlMgVEVBTSBPUExPTiBDQVNUIEJZIEtBTUVUTywgS09URUkgXHUwMDI2IEJJQkkgI0RpdjJMb0wgI0tDb3JwRmlnaHRpbmcgI0JsdWVXYWxsICNVbHRyYXNLQ29ycCAoIXByaW1lKSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZnIiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IkthbWV0MCIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZnIiLCJfaWQiOjI3MTE1OTE3LCJuYW1lIjoia2FtZXQwIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTItMzBUMTE6MTc6MzEuMDM3NDEzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU1OjIzLjE2ODgwNFoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85ZTEyODYyZC1hOGQwLTRkZjItODFhYS1lMjI0MTAyMmRjOTgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTJmOGM1ZTctNzk1NC00YmJmLWE0ZWItNTk0Y2M4YjU3YmMxLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2M4MDJiYTJhLWMyYzgtNDA3MS04Y2Y4LTI1YTU3NTMwYzAwNS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9rYW1ldDAiLCJ2aWV3cyI6MjUwMDMxNzQsImZvbGxvd2VycyI6NDM3MTI2LCJicm9hZGNhc3Rlcl90eXBlIjoiIiwiZGVzY3JpcHRpb24iOiJjb250YWN0IDoga2FtZXRvY29ycEBnbWFpbC5jb20iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODgyODE0MDksImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6ODc2NSwidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NTksImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTozMzozMloiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfeGF5b29fLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl94YXlvb18tMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl94YXlvb18tNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl94YXlvb18te3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJub3d5IGZvbGxvdyBhbGVydCBwb2djemVtcCDwn5iO8J+RjCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoicGwiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6IlhheW9vXyIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoicGwiLCJfaWQiOjEwNzQxODczMSwibmFtZSI6InhheW9vXyIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTE4VDE2OjI2OjM5LjkyMDEzOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozMDowNC4wNDY5NjRaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZjM1MjgyOTktMTYxYS00ODY3LWIwN2ItNDAyYmE1OWYxY2E1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzk5OTAzNTVlLTkyZjgtNDZiZi04MzE5LWMzNjlhODc2ZTQyNS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy94YXlvb18tcHJvZmlsZV9iYW5uZXItZDU1MTJkMzg4ZDZjMDEyMS00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYveGF5b29fIiwidmlld3MiOjI4OTM5MTQ2LCJmb2xsb3dlcnMiOjQ0NTMzMSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiZWxvIGZham55IHN0cmltZWsiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODgzODA4NjUsImdhbWUiOiJGYXJtaW5nIFNpbXVsYXRvciAxOSIsImJyb2FkY2FzdF9wbGF0Zm9ybSI6ImxpdmUiLCJjb21tdW5pdHlfaWQiOiIiLCJjb21tdW5pdHlfaWRzIjpbXSwidmlld2VycyI6ODU4NywidmlkZW9faGVpZ2h0IjoxMDgwLCJhdmVyYWdlX2ZwcyI6NjAsImRlbGF5IjowLCJjcmVhdGVkX2F0IjoiMjAyMC0wNC0wNVQwOTo1MDowN1oiLCJpc19wbGF5bGlzdCI6ZmFsc2UsInN0cmVhbV90eXBlIjoibGl2ZSIsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2lhbnRzc29mdHdhcmUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX2dpYW50c3NvZnR3YXJlLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfZ2lhbnRzc29mdHdhcmUtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9naWFudHNzb2Z0d2FyZS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkZTTCAybmQgT25saW5lIFRvdXJuYW1lbnQiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJHaWFudHNTb2Z0d2FyZSIsImdhbWUiOiJGYXJtaW5nIFNpbXVsYXRvciAxOSIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjIzMDUwODM5MCwibmFtZSI6ImdpYW50c3NvZnR3YXJlIiwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMTFUMTE6MDU6NTAuOTYyMzI2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjMwOjQwLjEwNjQ2MVoiLCJwYXJ0bmVyIjpmYWxzZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNmRmZjNiOWMtNjU0ZS00YzkzLTlmNzItZTEzMTljZWI5M2VkLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2QyNjI4NTA5LTczZGItNGE5My05NjRkLWIxZjA1MjNlYzllZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMWU5YjQ0MTItZjRkYS00YWM5LWI1NGQtMWE1ZDAwYTYyNGEzLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2dpYW50c3NvZnR3YXJlIiwidmlld3MiOjc3MDAxNSwiZm9sbG93ZXJzIjoxNjA4MSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiR0lBTlRTIGlzIGFuIGluZGVwZW5kZW50IHZpZGVvIGdhbWVzIGFuZCBpbnRlcmFjdGl2ZSBlbnRlcnRhaW5tZW50IGRldmVsb3BlciBiYXNlZCBpbiBTd2l0emVybGFuZC4gV2UgY3JlYXRlIGlubm92YXRpdmUgcHJvZHVjdHMgaW4gdGVybXMgb2YgZ2FtZXBsYXksIHRlY2hub2xvZ3kgYW5kIGNvbnRlbnQuIFZpc2l0IHRoZSBvZmZpY2lhbCB3ZWJzaXRlOiB3d3cuZ2lhbnRzLXNvZnR3YXJlLmNvbVByaXZhY3kgUG9saWN5OiBodHRwczovL2dpYW50cy1zb2Z0d2FyZS5jb20vcHJpdmFjeVBvbGljeS5waHAiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfX0seyJfaWQiOjEwODk1MTQ2NTcsImdhbWUiOiJEb3RhIDIiLCJicm9hZGNhc3RfcGxhdGZvcm0iOiJsaXZlIiwiY29tbXVuaXR5X2lkIjoiIiwiY29tbXVuaXR5X2lkcyI6W10sInZpZXdlcnMiOjg1MjAsInZpZGVvX2hlaWdodCI6MTA4MCwiYXZlcmFnZV9mcHMiOjYwLCJkZWxheSI6MCwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MDg6MjFaIiwiaXNfcGxheWxpc3QiOmZhbHNlLCJzdHJlYW1fdHlwZSI6ImxpdmUiLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21vb25zdHVkaW9fcnUtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX21vb25zdHVkaW9fcnUtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9tb29uc3R1ZGlvX3J1LTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfbW9vbnN0dWRpb19ydS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IltSVV0gVlAuUHJvZGlneSAwOjAgRmx5VG9Nb29uIChCTzMpIHwgR0cuQkVUIFN0YXlIb21lIENoYWxsZW5nZSB8ICBAS2F3YWlpU29ja3MgQENvbGxhcHNlXiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoicnUiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6IiIsImRpc3BsYXlfbmFtZSI6Im1vb25zdHVkaW9fcnUiLCJnYW1lIjoiRG90YSAyIiwibGFuZ3VhZ2UiOiJydSIsIl9pZCI6NDAzODY2MTM2LCJuYW1lIjoibW9vbnN0dWRpb19ydSIsImNyZWF0ZWRfYXQiOiIyMDE4LTEyLTIzVDE5OjE0OjE0LjE2MDEzMVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NjowNS4xNzE1MVoiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84MDgwMmIyNC04MWYyLTQ5MDktYTkzMC1hZDczNDQ5MzQ1ZmItcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzRmNDE3ZjctOTM0NS00MjgyLWEyM2UtMzhlMjU2NzI2ZDdiLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzVmNDBhMzdlLWI4ZjAtNGJlMC1hNzIzLTA2NWI3YTNjZTFhNy1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9tb29uc3R1ZGlvX3J1Iiwidmlld3MiOjM0NTU3NDgsImZvbGxvd2VycyI6MjQyNDAsImJyb2FkY2FzdGVyX3R5cGUiOiIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9fSx7Il9pZCI6MTA4ODc0NjAzMywiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwiYnJvYWRjYXN0X3BsYXRmb3JtIjoibGl2ZSIsImNvbW11bml0eV9pZCI6IiIsImNvbW11bml0eV9pZHMiOltdLCJ2aWV3ZXJzIjo4NDkxLCJ2aWRlb19oZWlnaHQiOjEwODAsImF2ZXJhZ2VfZnBzIjo1OSwiZGVsYXkiOjAsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEwOjQyOjQ0WiIsImlzX3BsYXlsaXN0IjpmYWxzZSwic3RyZWFtX3R5cGUiOiJsaXZlIiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yaW90Z2FtZXN0dXJraXNoLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvcHJldmlld3MtdHR2L2xpdmVfdXNlcl9yaW90Z2FtZXN0dXJraXNoLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L3ByZXZpZXdzLXR0di9saXZlX3VzZXJfcmlvdGdhbWVzdHVya2lzaC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9wcmV2aWV3cy10dHYvbGl2ZV91c2VyX3Jpb3RnYW1lc3R1cmtpc2gte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJHQUwgdnMgSVcgfCBCSksgdnMgQVVSIHwgRkIgdnMgU1VQIHwgNVIgdnMgUllMIC0gVkbFnkwgMjAyMCBLxLHFnyBNZXZzaW1pIDguIEhhZnRhIDIuIEfDvG4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6InRyIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiIiLCJkaXNwbGF5X25hbWUiOiJSaW90R2FtZXNUdXJraXNoIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIl9pZCI6MzY1MTM3NjAsIm5hbWUiOiJyaW90Z2FtZXN0dXJraXNoIiwiY3JlYXRlZF9hdCI6IjIwMTItMDktMjlUMDE6MDE6NTAuMjM0NDYyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI4OjI5LjkzNDI0WiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzRlYWIwNDFlLTBlNTYtNDRhYy05MmZiLWI1YzZjN2ZjMjM3NC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hNGQ4ZjQ5OC1mZDFlLTRiNzItOGQzNS00MzE1YjY5NDU2OTUtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvM2I0OWQzOTEtMGFkZS00MTMzLTk4NWYtMmNjNDJhMjNiZTExLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3Jpb3RnYW1lc3R1cmtpc2giLCJ2aWV3cyI6MTQyNjA5NDY5LCJmb2xsb3dlcnMiOjYyNjczOSwiYnJvYWRjYXN0ZXJfdHlwZSI6IiIsImRlc2NyaXB0aW9uIjoiVm9kYWZvbmUgRnJlZVpvbmUgxZ5hbXBpeW9ubHVrIExpZ2kgeWF5xLFubGFyxLF5bGEgaGVtIGVzcG9yIGhlbSBMZWFndWUgb2YgTGVnZW5kcyBoZXllY2FuxLEgaGVyIGhhZnRhIFJpb3QgR2FtZXMgVMO8cmtpeWUgVHdpdGNoIGthbmFsxLFuZGEhIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX19XX0= + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:14 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/team.yml b/spec/cassettes/team.yml new file mode 100644 index 0000000..0f787f5 --- /dev/null +++ b/spec/cassettes/team.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/teams/eg + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:06 GMT + x-served-by: + - cache-sea4456-SEA, cache-hel6833-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091427.750679,VS0,VS0,VE228 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJfaWQiOjIsIm5hbWUiOiJlZyIsImluZm8iOiJcdTAwM2NwXHUwMDNlVGVhbSBJbmZvXHUwMDNjL3BcdTAwM2VcbiIsImRpc3BsYXlfbmFtZSI6IkV2aWwgR2VuaXVzZXMiLCJjcmVhdGVkX2F0IjoiMjAxMS0xMC0xMVQyMzo1OTo0M1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wMi0wN1QxNTo1NDoxM1oiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWVnLXRlYW1fbG9nb19pbWFnZS0wYjgwM2RkZjY4Y2I0ZjEzODc3ZTBlMTdlZDYxMjUxNi02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1lZy1iYW5uZXJfaW1hZ2UtY2ZjYjM2OTM2Zjc4NGJlNjgwZDQ2MWNmYmNkM2MwYTEtNjQweDEyNS5wbmciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWVnLWJhY2tncm91bmRfaW1hZ2UtNWUyZTRjZTQzODQ2NGQ5NWE1ODg1ZWE5NGIyMTM0MmYuanBlZyIsInVzZXJzIjpbeyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJNSVNCSVRTIHdpdGggU1VCU0NSSUJFUlMhICNNaXNCaXRzUGFydG5lciAgfCAhSW5zdGFncmFtIHwgIVlvdVR1YmUgfCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJGZWFyaXRzZWxmIiwiZ2FtZSI6Ik1pc0JpdHMiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6ImZlYXJpdHNlbGYiLCJjcmVhdGVkX2F0IjoiMjAwOC0xMC0xMFQxODo0MzowMVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMTozMDo0NFoiLCJfaWQiOiIyMDgzNzUyIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNWM0NzYyY2MtN2FkYS00YzNmLWI1NjMtN2I0MjA1NTM2ZDVhLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2NlZGFiMzI3LTc3MTYtNGYyMi05MTdlLTNjZmM2MDkzMmM4ZC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lOWJjNGIxMy0yZDkwLTRjMDEtYjdkMC03ZDhlN2Q1MzNlOWUtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9mZWFyaXRzZWxmIiwidmlld3MiOjQ0OTA4MjIsImZvbGxvd2VycyI6MTcxNDY2fSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlNsZWVwIERlcHJpdmVkIENsb3V0IFN0cmVhbSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJHcmFuREdyYW5UIiwiZ2FtZSI6IkRvdGEgMiIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoiZ3JhbmRncmFudCIsImNyZWF0ZWRfYXQiOiIyMDExLTAyLTIyVDIyOjIyOjUyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEwOjA2OjA5WiIsIl9pZCI6IjIwNjY2NzUxIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzU2Zjg4YzMtMDQ2NC00ZTg3LWFiMjgtYWQxNzUzNjEwMzg1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E4YjIyZThlLWJjYmYtNDU2NS1hMWE0LTU5NTUwMDMxNTY0OS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80NGY5NzFiYy1mOTE3LTQyYjktOTFlZC04ZmQ3MGJkN2UzYmYtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9ncmFuZGdyYW50Iiwidmlld3MiOjQ5MDkyNTUsImZvbGxvd2VycyI6OTEzOTJ9LHsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiJpIGxvc2UgYWxsIGdhbWUgLS4tXG4iLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiQXJ0ZWV6eSIsImdhbWUiOiJEb3RhIDIiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6ImFydGVlenkiLCJjcmVhdGVkX2F0IjoiMjAxMS0wNy0wOVQyMjoyNzowOFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozMDo0N1oiLCJfaWQiOiIyMzM2NDYwMyIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2FydGVlenktcHJvZmlsZV9pbWFnZS1mMmY1NWY4N2E1Y2Q2ZTE1LTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9jOTI1YTkwNS00ZTY3LTQ1NjUtYjY2My05MmZlMmM1Y2Y1YmYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2FydGVlenktcHJvZmlsZV9iYW5uZXItYjRjZTg3N2RlY2RjZGU3Zi00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2FydGVlenkiLCJ2aWV3cyI6NTA3MzI0ODksImZvbGxvd2VycyI6NTczNDI2fSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6ImRlYm9vc3QiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiQ3IxdGRvdGEiLCJnYW1lIjoiRG90YSAyIiwibGFuZ3VhZ2UiOiJlbi1nYiIsIm5hbWUiOiJjcjF0ZG90YSIsImNyZWF0ZWRfYXQiOiIyMDEyLTA3LTI1VDE4OjMwOjAxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU1OjUxWiIsIl9pZCI6IjMyNDIwNTQ3IiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvY3IxdGRvdGEtcHJvZmlsZV9pbWFnZS03ZTRlYzQ1NDA5ZmQxYjFmLTMwMHgzMDAuanBlZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZjRjZGEzNzMtN2EyZi00MzMyLWI1NjYtMDk4ZmZhMDIzOGE0LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Y2YmY2YzVhLWRlYWUtNDU2NS05ZTk5LWE4NjY2ZjNkZWFiOC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2NyMXRkb3RhIiwidmlld3MiOjIzOTQ1NjksImZvbGxvd2VycyI6OTMxMzB9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRUcuc3dpbSB8IHRvdXJuYW1lbnQgZGF5ICFtZXRhICFkZWNrcyAhc2l0ZSAhbWFzdGVyc2Rpc2NvcmQgIXRvdXJuZXkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoic3dpbXN0cmltIiwiZ2FtZSI6IkxlZ2VuZHMgb2YgUnVuZXRlcnJhIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJzd2ltc3RyaW0iLCJjcmVhdGVkX2F0IjoiMjAxNi0xMi0zMFQyMzowMDoyOVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1Njo1MVoiLCJfaWQiOiIxNDMzNTc3NjAiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83OTBiNzIxNC0zODE5LTRmM2MtODIzYy1lZWZkODZiYTk3YTMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTk3MDg1NmItYjljZi00ODNjLWFlOGItYjZmNTgwNDk4NjVhLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2NhM2QyYTkxLWNkMDEtNDA3ZS04ZjQ3LTQyYTM5ODk4MzJiYy1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3N3aW1zdHJpbSIsInZpZXdzIjo2NDg3MTg4LCJmb2xsb3dlcnMiOjEwNzU5N30seyJtYXR1cmUiOnRydWUsInN0YXR1cyI6IkRCRlogVElNRSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJOWUNocmlzRyIsImdhbWUiOiJEcmFnb24gQmFsbCBGaWdodGVyWiIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoibnljaHJpc2ciLCJjcmVhdGVkX2F0IjoiMjAxMS0wNi0wNFQyMTo0MDo1OVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjowMDo1NVoiLCJfaWQiOiIyMjc4MzQ0OCIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL255Y2hyaXNnLXByb2ZpbGVfaW1hZ2UtNDczZjk2MzNhZDAyMjViOC0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzQzN2ViNzNiLTA1MzEtNDQ4ZC1hZjRlLTFlZjM2NDA2NDZkMy1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L255Y2hyaXNnIiwidmlld3MiOjE1MDY1NTQsImZvbGxvd2VycyI6NDkyMDh9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiW1BDL1BST10gcmFua2trZWRkICBAbnZLaW5nXyBcbiIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJudktpbmciLCJnYW1lIjoiVG9tIENsYW5jeSdzIFJhaW5ib3cgU2l4OiBTaWVnZSIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoibnZraW5nIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDJUMDc6MzY6MjRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6MDhaIiwiX2lkIjoiNzYzOTQ3MDIiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81Y2MzNjM1NC00YjE1LTQ0NmQtOTg0MC0wNDRhMTc0OGMzMWMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmUyZWI4N2QtZTIwNC00ZDljLWIwYzYtNGYyYTU3ZjllODQ5LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2JhNmM5ODQyLWM2YzQtNDA2OC05OWFkLTRjMDI3NjhlZTBmMi1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L252a2luZyIsInZpZXdzIjozNjgyMDEsImZvbGxvd2VycyI6MzUyNzJ9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTmVjcm94LkVHIHwgT25seSB3aW5uZXJzIGFsbG93ZWQuIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6Ik5lY3JveExJVkUiLCJnYW1lIjoiVG9tIENsYW5jeSdzIFJhaW5ib3cgU2l4OiBTaWVnZSIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoibmVjcm94bGl2ZSIsImNyZWF0ZWRfYXQiOiIyMDE2LTEwLTA1VDIyOjQ0OjA5WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjA5OjE3WiIsIl9pZCI6IjEzNjM1MzQxMiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzljZjE4YTFjNGEyM2JiYmQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2IwNzEwMzFhLWNhMTgtNGFhOS04YmRhLTE5NzE4OGY5YmM2Yy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9mM2NhMzJhZC05YzVlLTQ1MTEtYTI1YS1iZTMwNjI1YTg2OTQtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9uZWNyb3hsaXZlIiwidmlld3MiOjEwMzAwOCwiZm9sbG93ZXJzIjoxNDA2OX0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJydWxpbmcgdGhlIGxhbmRzIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6Ill1bmciLCJnYW1lIjoiTW91bnQgXHUwMDI2IEJsYWRlIElJOiBCYW5uZXJsb3JkIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJ5dW5nIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMjlUMDI6MzI6NDBaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDY6NTE6NDVaIiwiX2lkIjoiODExODc5MzAiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy95dW5nLXByb2ZpbGVfaW1hZ2UtYjc4YjMyNjc1YWRiNjRlZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzJlZWE0NzItZmFjMi00YmMyLTk0OTEtNThhYzZiM2M4MjhmLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2FkY2Q4OWQ3LWRmN2EtNDYyMi1iYzE5LTNmY2Q1ZTE4Y2FhOS1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMwMDAwMDAiLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYveXVuZyIsInZpZXdzIjoxNTk3MzEsImZvbGxvd2VycyI6MTY5MjF9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiQ09WSUQtMTkgMjQgSG91ciBSZWxpZWYgU3RyZWFtIHwgIWRvbmF0ZSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJFdmlsR2VuaXVzZXMiLCJnYW1lIjoiIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJldmlsZ2VuaXVzZXMiLCJjcmVhdGVkX2F0IjoiMjAxMy0wOC0yOVQwMDo0NToxN1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjowMzoxN1oiLCJfaWQiOiI0ODI2NzM2MSIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzdkZTI5YmFiLWQzN2YtNGQ5Ny1iNGMxLTJkMmMzN2I5Nzc3Mi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80ZTY2OThjMi05MTcxLTQ1MmEtYjEwZi0zMjdlYjkwZTc4OTctY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2FhZmE4N2FmLTE0MDYtNGE2Ni1hYmMyLTRlMDgwMjE1ZmViMi1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2V2aWxnZW5pdXNlcyIsInZpZXdzIjo0MDg5NDUsImZvbGxvd2VycyI6MTUxMTJ9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiTmV3IHN0cmVhbWVyIGxpZmUiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoidGFsZmx5YWl6aWsiLCJnYW1lIjoiRG90YSAyIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJ0YWxmbHlhaXppayIsImNyZWF0ZWRfYXQiOiIyMDE0LTExLTEzVDAyOjQ4OjUxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA1OjIwOjU2WiIsIl9pZCI6Ijc1MDY4ODkwIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmVhOGQxNzQtNjQ0My00MjlmLWI3M2YtYzhhZDRiZTA4ZTE5LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzAzNmM3ZmRiLWM3ZjItNGI1Ny04MTJmLTVlMmZhYjljYzYyZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOTMxNWNhZjQtMzIwZi00N2E0LTg0Y2ItOTk3MTY3MzU2ZDg2LXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjpmYWxzZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3RhbGZseWFpemlrIiwidmlld3MiOjI5NjI4LCJmb2xsb3dlcnMiOjM4MTN9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiSW5zdGluY3QgaXMgYmFjaz8gfCBAcnlhbnRvd2V5IGluc3RhZ3JhbS90d2l0dGVyIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6IlRvd2V5IiwiZ2FtZSI6IkhhbG86IFRoZSBNYXN0ZXIgQ2hpZWYgQ29sbGVjdGlvbiIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoidG93ZXkiLCJjcmVhdGVkX2F0IjoiMjAxMS0wNi0yNVQwMTo0OTo1N1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMjo1MzoxM1oiLCJfaWQiOiIyMzExMzU1NCIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3Rvd2V5LXByb2ZpbGVfaW1hZ2UtZWY5MWM5Y2Y5NDQ4ODNiYy0zMDB4MzAwLmpwZWciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3Rvd2V5LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS05NTk1ODc3NDYxYzdkMzE3LTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3Rvd2V5LXByb2ZpbGVfYmFubmVyLWY1MDI1NjNkZGNlNjllODYtNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di90b3dleSIsInZpZXdzIjo2MDA4MCwiZm9sbG93ZXJzIjo1NzY3fSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkRCRCB3aXRoIFN1YnMhICBIYXBweSBGcmlkYXkgZnJpZW5kcyBcdTAwM2MzIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6IlBQTUQiLCJnYW1lIjoiRGVhZCBieSBEYXlsaWdodCIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoicHBtZCIsImNyZWF0ZWRfYXQiOiIyMDE0LTA2LTMwVDIzOjMwOjUyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI4OjQzWiIsIl9pZCI6IjY1Mzg5OTI4IiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvcHBtZC1wcm9maWxlX2ltYWdlLWQzMTNhZTdiYWNhOWVjYmItMzAweDMwMC5qcGVnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81MDEzMDBkNC00NDg0LTQ3MzItOTA2Yy0zNWJhMDIyMjYwMDYtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDZiNDVjOTktNTAwZC00YzkwLWE5MmEtN2JhM2Q2Yzk0Y2QyLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvcHBtZCIsInZpZXdzIjo0MzU3OTUsImZvbGxvd2VycyI6NTU2ODd9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiUExBWUlORyBSRTMiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiSGVsbG9LaXR0eVJpY2tpIiwiZ2FtZSI6IlJlc2lkZW50IEV2aWwgMyIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoiaGVsbG9raXR0eXJpY2tpIiwiY3JlYXRlZF9hdCI6IjIwMDktMTItMjhUMDA6NDc6NTFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTE6MDU6MTJaIiwiX2lkIjoiOTYzNTEyMSIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2hlbGxva2l0dHlyaWNraS1wcm9maWxlX2ltYWdlLWJjMjdiMjJmZTRiYzdjZGItMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyIjpudWxsLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvaGVsbG9raXR0eXJpY2tpIiwidmlld3MiOjg4ODIzLCJmb2xsb3dlcnMiOjEwMDc5fSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlxuRUcgSlRydXRoIHwgIXR3aXR0ZXIgIWR1ZWwiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiSlRydXRoIiwiZ2FtZSI6IkZvcnRuaXRlIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJqdHJ1dGgiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMi0xNVQxNzo0ODoyNloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQwMToyMjowNloiLCJfaWQiOiI4Mjc3MDk5MyIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzQ1NTQ3OTI0LWVmZmItNDgzOC05YzM0LWI1YTZmNWE0YTRmYi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xOGNhMWZkYS03MzZlLTRjMjctYjA0Ni02NmJiY2JiYWUyMjgtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNjc3NmU3ZTItMDBkNS00NDRhLTk1ZGQtMjhmYmZiYzUxMzIwLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2p0cnV0aCIsInZpZXdzIjo4ODkwLCJmb2xsb3dlcnMiOjY2MX0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJXYXJ6b25lIEB0YXJpayIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJ0YXJpayIsImdhbWUiOiJDYWxsIG9mIER1dHk6IE1vZGVybiBXYXJmYXJlIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJ0YXJpayIsImNyZWF0ZWRfYXQiOiIyMDEyLTA5LTIxVDIwOjQzOjI1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI3OjA1WiIsIl9pZCI6IjM2MzQwNzgxIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZjA0ZDJhMTQtOGQ2My00Y2Q1LWE0NjktN2VjMmNkNmU1Y2UzLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzg1YjlhMDM4LTAyN2MtNDhmMi1hZTllLTUzMjVhOTQ5NTQwYy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9iMTRkNDZhNy03NjM2LTRmNjktYjFlMC1mMDA3NTE3ODIyNjMtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di90YXJpayIsInZpZXdzIjoyMDQyNTQ4NSwiZm9sbG93ZXJzIjo2NDU3NTR9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiSW1wcm92aW5nIHwgQE1vTnNUY1IiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiTW9Oc1RjUiIsImdhbWUiOiJGb3J0bml0ZSIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoibW9uc3RjciIsImNyZWF0ZWRfYXQiOiIyMDEyLTA3LTA4VDA1OjIzOjA4WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA5OjA2OjAwWiIsIl9pZCI6IjMxOTYzMDQ5IiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNmIzNDRiYTQtNjY4ZC00NjI4LWEyMGYtMjhhM2Y1NTIxYjAyLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzU0NmNhZDYxLTVkMzItNDg1Zi05YmIwLTQ5ZWQ1OGQ0YjM1YS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85Mzk3ZTIyNi0wMjViLTQ5OTEtYTNlZC00MTVjMzliMmJkYmItcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9tb25zdGNyIiwidmlld3MiOjE4NjIwMzQsImZvbGxvd2VycyI6ODg5NzB9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiW1BDL1BST10gQ2hpbGxpbmcgV2l0aCBGcmllbmRzLiAhZ2l2ZWF3YXkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiTW9kaWdnYSIsImdhbWUiOiJDYWxsIG9mIER1dHk6IE1vZGVybiBXYXJmYXJlIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJtb2RpZ2dhIiwiY3JlYXRlZF9hdCI6IjIwMTMtMTItMjlUMjI6MTE6NTZaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6NTZaIiwiX2lkIjoiNTQwNzgwNTUiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xOTc0NTZmNS1jMmQwLTRlZmUtOTVhYy1mMDg4MjM4YWFkMDMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOWEyNWJmZjQtNTYzNi00NTY5LWI3NmYtYjI3ZDJiOTY2YmFjLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2ViYjdhMmYzLWIzMDctNDlhYS1iMGQ1LTg2ZWQ1MzE5ZWZlYy1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9tb2RpZ2dhIiwidmlld3MiOjEwNzA0NTQsImZvbGxvd2VycyI6NTcwNDB9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9yYW16ZXMvIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJydSIsImRpc3BsYXlfbmFtZSI6InJhbXplc2RvdG8iLCJnYW1lIjoiRG90YSAyIiwibGFuZ3VhZ2UiOiJydSIsIm5hbWUiOiJyYW16ZXNkb3RvIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMjVUMjM6NTQ6MTVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjc6NThaIiwiX2lkIjoiNzc5NjQzOTQiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81MTAxOTA2My01YjZhLTQ0NzMtODgxOS1mMWE5OGI1NGJhZTMtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNmNkODBmODEtOGExOC00NjYyLTgyMmQtOWVlZjgxNTA1N2E1LWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2U0ODEwZjBmLWYwNzMtNDMxMy1iMDM0LWQ5Y2YxYjJjNzVjMC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3JhbXplc2RvdG8iLCJ2aWV3cyI6NDA4Mjc4NCwiZm9sbG93ZXJzIjoxNjg4MTR9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRlBMIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6IkNlUnEiLCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6ImNlcnEiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xM1QyMDozMTo1N1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NToyMloiLCJfaWQiOiIzOTMxNjkyMCIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2NlcnEtcHJvZmlsZV9pbWFnZS1kMjkyNDMyNjQzZWYxMzI5LTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kZWE2NTVjZS1iYTIzLTQyNGUtOWFmYy1kYzgzMjQxNDhlNzQtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYWRmMGM4ZmEtYjc5ZS00NmQyLTg5MmUtNzg1NGFjNWJjOTkwLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2NlcnEiLCJ2aWV3cyI6MTI3MDk3LCJmb2xsb3dlcnMiOjIxNzAwfSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6Im90aGVyIiwiZGlzcGxheV9uYW1lIjoiQWJlZF9Eb3RhIiwiZ2FtZSI6IkRvdGEgMiIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoiYWJlZF9kb3RhIiwiY3JlYXRlZF9hdCI6IjIwMTctMDEtMDFUMTA6MTE6MTFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MzA6MzNaIiwiX2lkIjoiMTQzNDcxNzQ1IiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZTJiMjQwY2MtYTM3ZS00Y2VhLThjMGMtY2RjZjk3N2EzNTQ1LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzU5NWVjZTMyLTU3YWUtNGY4OC1hMTU3LWM5MjE5YjI4NWMzNS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zYzkyZDM4YS0yMTlhLTRiMGItYTFmYS0xOGZhM2UzZjkwMDUtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9hYmVkX2RvdGEiLCJ2aWV3cyI6MTQzMTM4LCJmb2xsb3dlcnMiOjIwNDIxfSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IlN0cmVhbWluZyBjb250YWN0IHZzIGZweCB3aXRoIEZOUywgSGF6ZWQsIGNlcnEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoiSW1BUGV0IiwiZ2FtZSI6IkNvdW50ZXItU3RyaWtlOiBHbG9iYWwgT2ZmZW5zaXZlIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJpbWFwZXQiLCJjcmVhdGVkX2F0IjoiMjAxMy0wNy0xMVQwMDo0NTo1OFoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjozMDozMVoiLCJfaWQiOiI0NTg5ODY3NCIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2Y2NzMyMGI2LWFlMTctNGQ2MC05ZGUxLWMyOTBkZjEwOGEyZi1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84ZDM0OTdhYS04YTQxLTRjY2MtYjRjMy1mZGE1MDQ4MzI1MWQtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZGYyNDY4YWEtNGUxZC00Zjc1LWJiMDQtOTE2NWUzMGU1NDIyLXByb2ZpbGVfYmFubmVyLTQ4MC5wbmciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIzAwMDAwMCIsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9pbWFwZXQiLCJ2aWV3cyI6MTU4OTUsImZvbGxvd2VycyI6MTg0OH0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJaZXl6YWwgLSBLb3JlYW4gU29sb3F1ZXVlICIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJaZXl6YWwiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6InpleXphbCIsImNyZWF0ZWRfYXQiOiIyMDEzLTAzLTA4VDEzOjI3OjAxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjI4OjM3WiIsIl9pZCI6IjQxMTA5MzI2IiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNGVjZGRlMmItNzVlNS00MmU4LWFhNjYtZDhlYjlhOGFjZGVmLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzM3NDdiMDNhLWQ2MDYtNDJhMS1hMDQzLTk4N2VlYjM1NWNlNC1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8zMWVkNWMyNC04NmU3LTQ0ZmQtOTMyNC0yZDBmMzMwNzJiY2EtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvemV5emFsIiwidmlld3MiOjIxMDMyNywiZm9sbG93ZXJzIjoyMDEwMn0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJjb250ZW50IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6Imt1bW8iLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6Imt1bW8iLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0yMVQwOTo0MzoyM1oiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NTozN1oiLCJfaWQiOiI5Njc0MzQ3OSIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzY2ODkxZDA5LThkZjMtNDc3My05MTI3LTUxYTU3Yjk1YWIwMS1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8xMTdiYjdmMC00OWE2LTQyMzctOTVhMi02YmU5NzQyMGZhNGEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMmU1NjViMTMtZWJkMi00Mzg1LWExZDktM2VhMzA3ZjAxY2MzLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2t1bW8iLCJ2aWV3cyI6NTc0MTMsImZvbGxvd2VycyI6MzAyMn0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJFRyBTdmVuc2tlcmVuIHwgQ0hBTExFTkdFUiEgd2l0aCBOQkEgUGxheWVyIE1hcmlvIEhlem9uamEiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVuIiwiZGlzcGxheV9uYW1lIjoic3ZlbnNrZXJlbiIsImdhbWUiOiJMZWFndWUgb2YgTGVnZW5kcyIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoic3ZlbnNrZXJlbiIsImNyZWF0ZWRfYXQiOiIyMDEyLTEyLTEyVDE4OjUyOjUzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA0OjIwOjE1WiIsIl9pZCI6IjM4NDIxNjQ4IiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvY2NlOTQ2OWItYjhhNC00NzhmLWI4NWEtNmEzZWI2YzExYjE4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOm51bGwsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy84NjhiOWRiNC1hODRiLTRhYzItYjA1Mi1iNThiMWNmYWZjMmEtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvc3ZlbnNrZXJlbiIsInZpZXdzIjoyOTE4NTE2LCJmb2xsb3dlcnMiOjEyMjcwOH0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJFRyBKaWl6dWvDqSBldXdzb2xvcSBFTkcvSVQgQU1BL2d1bmdlb24gaW4gUSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiaXQiLCJkaXNwbGF5X25hbWUiOiJKaWl6dWtlIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJpdCIsIm5hbWUiOiJqaWl6dWtlIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTEtMDlUMTc6NDY6MDVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMDU6NTE6MTdaIiwiX2lkIjoiNzQ4NDIzMTEiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC91c2VyLWRlZmF1bHQtcGljdHVyZXMtdXYvNzUzMDVkNTQtYzdjYy00MGQxLWJiOWMtOTFmYmU4NTk0M2M3LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzllZTRhMDNmLTY3ZjUtNDMwNy05ZjRlLTI1MzFhZDM0M2I3My1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy8yMmE4MjE5OS05N2QyLTQ1N2QtYjI3MS1hMWRmMDMxZjk5YmMtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvamlpenVrZSIsInZpZXdzIjoyNDAyODYsImZvbGxvd2VycyI6MTY3NzR9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRE0gYW5kIGNoaWxsIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6IkJyZWh6ZSIsImdhbWUiOiJDb3VudGVyLVN0cmlrZTogR2xvYmFsIE9mZmVuc2l2ZSIsImxhbmd1YWdlIjoiZW4iLCJuYW1lIjoiYnJlaHplIiwiY3JlYXRlZF9hdCI6IjIwMTMtMDItMDFUMDA6NDI6MjVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6Mjg6NDBaIiwiX2lkIjoiMzk4OTYwMTciLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82ZTI4ZTA3ZC0zNDdhLTQzZmUtOWJiZi02ZjMwZmZkMmEzZjYtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNmVjOGY3ZDUtYjZiOC00MzllLThjYTQtOGMzNzdmNzUwYzhiLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAucG5nIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzdkNjlhOWM3LWEzYTYtNDIwMS1iYjVmLTY0ZDlmM2NmNzhkZC1wcm9maWxlX2Jhbm5lci00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiMxMzEzMTMiLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYnJlaHplIiwidmlld3MiOjMyMjc1LCJmb2xsb3dlcnMiOjY5MjJ9LHsibWF0dXJlIjp0cnVlLCJzdGF0dXMiOiJAcGV0ZXJqYXJndXogLyBAcGphcmd1eiAtIEVHIC0gQ1NHTyIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJzdGFuaXNsYXciLCJnYW1lIjoiQ291bnRlci1TdHJpa2U6IEdsb2JhbCBPZmZlbnNpdmUiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6InN0YW5pc2xhdyIsImNyZWF0ZWRfYXQiOiIyMDE0LTExLTEwVDA1OjIwOjQ3WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDExOjA0OjUzWiIsIl9pZCI6Ijc0ODg1ODIxIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYzg4M2YxNjgtMDk4OS00MTU2LWJhY2QtOWQ2N2NhNDJhOWRjLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2M0N2ZiMzc3LThlMzgtNGE0NC1hOTY4LTBkOTc5MTdiY2Q2Ni1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy81ODNjN2Q1MC03YmNhLTQxNzUtYmI4Yi0yMzEwNWMyYmUyMGEtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9zdGFuaXNsYXciLCJ2aWV3cyI6NDAyOTAsImZvbGxvd2VycyI6NTM1Mn0seyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJDaGFsbGVuZ2VyIFN1cHBvcnQgLSBMaXF1aWQgTWF0dCIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJNYXRMaWZlX25hIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJtYXRsaWZlX25hIiwiY3JlYXRlZF9hdCI6IjIwMTQtMDEtMDZUMTA6NTQ6MjRaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6MjY6MTRaIiwiX2lkIjoiNTQ1MjY2MjUiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy82MjIxMjFlZi03MWQ5LTRjMDgtYTFjYS02NGRhOGI0OGMxZjUtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL21hdGxpZmVfbmEtcHJvZmlsZV9iYW5uZXItMjMxNDY5ZDJlMjNiZGE0NS00ODAucG5nIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L21hdGxpZmVfbmEiLCJ2aWV3cyI6Njk2OTQ2LCJmb2xsb3dlcnMiOjMzMTYxfSx7Im1hdHVyZSI6dHJ1ZSwic3RhdHVzIjoiRUcgQnJhbmRpbmkgLSBMQ0sgQ28gc3RyZWFtIGluIHF1ZXVlIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlbiIsImRpc3BsYXlfbmFtZSI6IkJyYW5kaW5pIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbiIsIm5hbWUiOiJicmFuZGluaSIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTI0VDA1OjIyOjU2WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDA3OjE4OjI4WiIsIl9pZCI6IjEwNzg2Njg2NCIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2U4MTM4ZDc3LTM4ZTktNGU0MS04MzEyLTA2OWJlYTZjNjJhZC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy80ZTE1ZjRkYy1jY2QyLTQyNDEtODk0Mi01MzFmMzJiZGUxNWEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYjZhMzBkY2ItZTVjNS00MGVlLTk4MzEtMTRhOTNmNmI2NmZmLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6bnVsbCwicGFydG5lciI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2JyYW5kaW5pIiwidmlld3MiOjExODcwNiwiZm9sbG93ZXJzIjozMDcwfSx7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IkVHIERlZnRseSBzb2xvcSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJkZWZ0bHkiLCJnYW1lIjoiTGVhZ3VlIG9mIExlZ2VuZHMiLCJsYW5ndWFnZSI6ImVuIiwibmFtZSI6ImRlZnRseSIsImNyZWF0ZWRfYXQiOiIyMDE2LTA2LTIzVDA1OjU4OjU0WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA0VDAxOjM3OjQxWiIsIl9pZCI6IjEyNzUwNjkyNiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzI4ZDRjNWJjLTY0M2YtNDZkNS1iNTVjLTY4MTVkM2VkMjJiNy1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kNDk4MjU5Mi03NjcyLTQzMTEtYmY4NS05Y2U3MjM3N2NhYzctY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5wbmciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNzRkYjgwZTMtYWQzZC00OTRhLWFhMDUtYjJhMmQ0MTU4MGM0LXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjpudWxsLCJwYXJ0bmVyIjp0cnVlLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvZGVmdGx5Iiwidmlld3MiOjU2NDM1LCJmb2xsb3dlcnMiOjQxMzl9LHsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiRUcgQW5EYSBQcm8gVmlldyBDaGFsbGVuZ2VyIEp1bmdsZSBHYW1lcGxheSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZW4iLCJkaXNwbGF5X25hbWUiOiJBbkRhIiwiZ2FtZSI6IkxlYWd1ZSBvZiBMZWdlbmRzIiwibGFuZ3VhZ2UiOiJlbi1nYiIsIm5hbWUiOiJhbmRhIiwiY3JlYXRlZF9hdCI6IjIwMTMtMTAtMjVUMTk6NTA6NDVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDRUMTc6MTU6MTNaIiwiX2lkIjoiNTA2Mzc4MjMiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9kNWEwMjJhMi03OTk3LTQxMDctYWFlZi0wMDAzNmQzNzhlYmQtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLmpwZyIsInZpZGVvX2Jhbm5lciI6bnVsbCwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2YxZjg0NjhkLTRkZmMtNDdhZi1iZmM1LTcxODc5ZmM0YTFkMC1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOm51bGwsInBhcnRuZXIiOnRydWUsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9hbmRhIiwidmlld3MiOjEwOTg0OSwiZm9sbG93ZXJzIjo2NzY4fV19 + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:06 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/teams.yml b/spec/cassettes/teams.yml new file mode 100644 index 0000000..9c28801 --- /dev/null +++ b/spec/cassettes/teams.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/teams + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:06 GMT + x-served-by: + - cache-sea4449-SEA, cache-hel6835-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091426.417412,VS0,VS0,VE198 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ0ZWFtcyI6W3siX2lkIjoxLCJuYW1lIjoidGVzdHRlYW0iLCJpbmZvIjoiXHUwMDNjcFx1MDAzZUkgbG92ZSB3b3JraW5nIGZvciBUd2l0Y2ghIVx1MDAzYy9wXHUwMDNlXG4iLCJkaXNwbGF5X25hbWUiOiJUZXN0IEFBQSIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTExVDIyOjQ5OjA1WiIsInVwZGF0ZWRfYXQiOiIyMDE4LTA4LTEzVDIwOjMzOjI4WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tdGVzdHRlYW0tdGVhbV9sb2dvX2ltYWdlLTMwNDhkYWZhNjZiMzQ0NjRiZmQxMDZmZTljNjgwMTY2LTYwMHg2MDAuanBlZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS10ZXN0dGVhbS1iYW5uZXJfaW1hZ2UtYzkzZjdjYjE3ODU3NGY2YWFlMDQ5OTRmZmI1YmRkOGMtNjQweDEyNS5qcGVnIiwiYmFja2dyb3VuZCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS10ZXN0dGVhbS1iYWNrZ3JvdW5kX2ltYWdlLWU0YTFlZjU3YzYwNDQ5NzA4MTcxOTcxOWI0MTU3ZTQ2LmpwZWcifSx7Il9pZCI6MiwibmFtZSI6ImVnIiwiaW5mbyI6Ilx1MDAzY3BcdTAwM2VUZWFtIEluZm9cdTAwM2MvcFx1MDAzZVxuIiwiZGlzcGxheV9uYW1lIjoiRXZpbCBHZW5pdXNlcyIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTExVDIzOjU5OjQzWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAyLTA3VDE1OjU0OjEzWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZWctdGVhbV9sb2dvX2ltYWdlLTBiODAzZGRmNjhjYjRmMTM4NzdlMGUxN2VkNjEyNTE2LTYwMHg2MDAucG5nIiwiYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWVnLWJhbm5lcl9pbWFnZS1jZmNiMzY5MzZmNzg0YmU2ODBkNDYxY2ZiY2QzYzBhMS02NDB4MTI1LnBuZyIsImJhY2tncm91bmQiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZWctYmFja2dyb3VuZF9pbWFnZS01ZTJlNGNlNDM4NDY0ZDk1YTU4ODVlYTk0YjIxMzQyZi5qcGVnIn0seyJfaWQiOjMsIm5hbWUiOiIyZ2R0diIsImluZm8iOiJUaGUgbW9zdCBhbWF6aW5nIG5ldHdvcmsgb2YgYXdlc29tZW5lc3NcbiIsImRpc3BsYXlfbmFtZSI6IkdEdHYiLCJjcmVhdGVkX2F0IjoiMjAxMS0xMC0yNVQxNTozMDo1NFoiLCJ1cGRhdGVkX2F0IjoiMjAxMy0wNS0yNFQwMDoxNzozMVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLTJnZHR2LXRlYW1fbG9nb19pbWFnZS1lOWYyYjI2MjYyMzk3YWY5LTYwMHg2MDAuanBlZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS0yZ2R0di1iYW5uZXJfaW1hZ2UtMzI3NzhkMTg5ZjM4N2I4Ny02NDB4MTI1LmpwZWciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLTJnZHR2LWJhY2tncm91bmRfaW1hZ2UtZWM4ODczNGU1NGEwY2FhNi5qcGVnIn0seyJfaWQiOjQsIm5hbWUiOiJ3ZWxscGxheWVkIiwiaW5mbyI6IndlbGxwbGF5ZWQub3JnIiwiZGlzcGxheV9uYW1lIjoiV2VsbFBsYXllZCIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTI1VDIzOjI1OjQ0WiIsInVwZGF0ZWRfYXQiOiIyMDE1LTA3LTMwVDE4OjA0OjI5WiIsImxvZ28iOm51bGwsImJhbm5lciI6bnVsbCwiYmFja2dyb3VuZCI6bnVsbH0seyJfaWQiOjUsIm5hbWUiOiJiZXRhZ2FtZXJzIiwiaW5mbyI6Ilx1MDAzY2ltZyBzcmM9XCJodHRwOi8vaS5pbWd1ci5jb20vTzE5aGYucG5nXCJcdTAwM2UiLCJkaXNwbGF5X25hbWUiOiJCRVRBZ2FtZXJzIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTAtMjVUMjM6Mjg6MzNaIiwidXBkYXRlZF9hdCI6IjIwMTUtMDMtMjhUMjI6NTE6NDBaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1iZXRhZ2FtZXJzLXRlYW1fbG9nb19pbWFnZS0wZGQ5NzE2NTJlYWIyZjY5LTYwMHg2MDAucG5nIiwiYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWJldGFnYW1lcnMtYmFubmVyX2ltYWdlLTAwMmUyZTE3ZGIxMmIwOGYtNjQweDEyNS5wbmciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWJldGFnYW1lcnMtYmFja2dyb3VuZF9pbWFnZS02ZjVkMzY4ZGY3OTRlZTEyLnBuZyJ9LHsiX2lkIjo3LCJuYW1lIjoiY2FyYm9uIiwiaW5mbyI6IlRlYW0gQ2FyYm9uIC0gR2VhcnMgb2YgV2FyIDMiLCJkaXNwbGF5X25hbWUiOiJDYXJib24iLCJjcmVhdGVkX2F0IjoiMjAxMS0xMC0yNVQyMzozMjo0OVoiLCJ1cGRhdGVkX2F0IjoiMjAxMy0wNS0yNFQwMDoxNzoxMFoiLCJsb2dvIjpudWxsLCJiYW5uZXIiOm51bGwsImJhY2tncm91bmQiOm51bGx9LHsiX2lkIjo4LCJuYW1lIjoiYm91bmRieWhvbm9yIiwiaW5mbyI6Imh0dHA6Ly93d3cuYmJoZ2FtaW5nLmNvbSIsImRpc3BsYXlfbmFtZSI6IkJvdW5kIGJ5IEhvbm9yIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTAtMjVUMjM6MzQ6MTRaIiwidXBkYXRlZF9hdCI6IjIwMTMtMDUtMjRUMDA6MTc6MTFaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1ib3VuZGJ5aG9ub3ItdGVhbV9sb2dvX2ltYWdlLTVlYzUyMDI4MWE1ZmU2ZTEtNjAweDYwMC5wbmciLCJiYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tYm91bmRieWhvbm9yLWJhbm5lcl9pbWFnZS01ZWUyY2QyZmFjMjEyNjE0LTY0MHgxMjUuanBlZyIsImJhY2tncm91bmQiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tYm91bmRieWhvbm9yLWJhY2tncm91bmRfaW1hZ2UtMzg3ZWQxNDAyNDJkYTYxYy5qcGVnIn0seyJfaWQiOjksIm5hbWUiOiJtYWZpYSIsImluZm8iOiJUaGUgTWFmaWEgaXMgbGl2ZSAyNC83IEAgaHR0cDovL2xpdmUubG9yZGthdC5jb20gfCBXYW5uYSBqb2luIHVzPyBKdXN0IGhpdCB1cCB0aGUgY2hhdHJvb20gYXQgdGhlIGxpdmUgc2l0ZSBhbmQgYXNrIHVzIVxuIiwiZGlzcGxheV9uYW1lIjoiTG9yZEthVCBNYWZpYSIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTI1VDIzOjM1OjA3WiIsInVwZGF0ZWRfYXQiOiIyMDEzLTA4LTE2VDA0OjAyOjI0WiIsImxvZ28iOm51bGwsImJhbm5lciI6bnVsbCwiYmFja2dyb3VuZCI6bnVsbH0seyJfaWQiOjEwLCJuYW1lIjoic3RhZmYiLCJpbmZvIjoiXHUwMDNjcFx1MDAzZVR3aXRjaCBzdGFmZiBzdHJlYW0gaGVyZS4gRHJvcCBpbiBhbmQgc2F5IOKAnEhp4oCdIHNvbWUgdGltZSA6KVx1MDAzYy9wXHUwMDNlXG4iLCJkaXNwbGF5X25hbWUiOiJUd2l0Y2ggU3RhZmYiLCJjcmVhdGVkX2F0IjoiMjAxMS0xMC0yNVQyMzo1NTo0N1oiLCJ1cGRhdGVkX2F0IjoiMjAxOS0xMC0wMVQyMDo1NToyNVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLXN0YWZmLXRlYW1fbG9nb19pbWFnZS1jMDA4MjJlN2UwMmI0NjYzYTlhZTAxMTdjMGRhNjQ5YS02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1zdGFmZi1iYW5uZXJfaW1hZ2UtM2UxOThlYTViZjNlNDE5YTg5ZjZiMmJjZjdhODkxMWQtNjQweDEyNS5wbmciLCJiYWNrZ3JvdW5kIjpudWxsfSx7Il9pZCI6MTIsIm5hbWUiOiJ0ZWFtbGlxdWlkIiwiaW5mbyI6Ilx1MDAzY3BcdTAwM2VcdTAwM2NhIGhyZWY9XCJodHRwczovL3RsLmdnL3N0b3JlXCIgcmVsPVwibm9mb2xsb3cgbm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIlx1MDAzZVx1MDAzY2ltZyBzcmM9XCJodHRwczovL3RsLm5ldC9zdGFmZi9zaGlyb2l1c2FnaS90d2l0Y2gvdGVhbXBhZ2Vfc3RvcmVfYWQucG5nXCIgYWx0PVwiaW1hZ2VcIi9cdTAwM2VcdTAwM2MvYVx1MDAzZVx1MDAzYy9wXHUwMDNlXG4iLCJkaXNwbGF5X25hbWUiOiJUZWFtIExpcXVpZCIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTI3VDAxOjAwOjQ0WiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA1LTE0VDE4OjE0OjA4WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tdGVhbWxpcXVpZC10ZWFtX2xvZ29faW1hZ2UtNWExMzg5NzY5MDRhYzRlYi02MDB4NjAwLmpwZWciLCJiYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tdGVhbWxpcXVpZC1iYW5uZXJfaW1hZ2UtOTkyNWI4ZjE3ODhjZTYwOC02NDB4MTI1LmpwZWciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLXRlYW1saXF1aWQtYmFja2dyb3VuZF9pbWFnZS0zYjU2MmMzOWE5NjI0NGEzYmFmNTQ5ZGNjNjUzODIwNC5qcGVnIn0seyJfaWQiOjEzLCJuYW1lIjoibGl2aWRsb2JzdGVyIiwiaW5mbyI6IiIsImRpc3BsYXlfbmFtZSI6IkxpdmlkTG9ic3RlciIsImNyZWF0ZWRfYXQiOiIyMDExLTEwLTI3VDE4OjUwOjQ5WiIsInVwZGF0ZWRfYXQiOiIyMDEzLTA1LTI0VDAwOjE3OjA5WiIsImxvZ28iOm51bGwsImJhbm5lciI6bnVsbCwiYmFja2dyb3VuZCI6bnVsbH0seyJfaWQiOjE0LCJuYW1lIjoiY3Jvc3Njb3VudGVydHYiLCJpbmZvIjoiQ3Jvc3MgQ291bnRlciBUViIsImRpc3BsYXlfbmFtZSI6IkNyb3NzQ291bnRlclRWIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTAtMzFUMjM6MDg6NTJaIiwidXBkYXRlZF9hdCI6IjIwMTMtMDUtMjRUMDA6MTc6MTBaIiwibG9nbyI6bnVsbCwiYmFubmVyIjpudWxsLCJiYWNrZ3JvdW5kIjpudWxsfSx7Il9pZCI6MTUsIm5hbWUiOiJ0dXJuaW5nIHBvaW50IiwiaW5mbyI6IlRoaXMgaXMgVHVybmluZyBQb2ludCdzIE9mZmljaWFsIFRlYW0gUGFnZSEgXHJcblxyXG5NZW1iZXJzIGluY2x1ZGU6XHJcbldhbHNoeVxyXG5OaW5qYVxyXG5NaWt3ZW5cclxuTmFkZWQiLCJkaXNwbGF5X25hbWUiOiJUdXJuaW5nIFBvaW50IiwiY3JlYXRlZF9hdCI6IjIwMTEtMTEtMDFUMDE6MDQ6MjJaIiwidXBkYXRlZF9hdCI6IjIwMTEtMTEtMTBUMjM6MTI6NDRaIiwibG9nbyI6bnVsbCwiYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLXR1cm5pbmcgcG9pbnQtYmFubmVyX2ltYWdlLTczODI4YzkyZjg4OGM5NzQtNjQweDEyNS5qcGVnIiwiYmFja2dyb3VuZCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS10dXJuaW5nIHBvaW50LWJhY2tncm91bmRfaW1hZ2UtZGEzOGIxNTlkZGI1MWJkYi5wbmcifSx7Il9pZCI6MTYsIm5hbWUiOiJwbXNjbGFuIiwiaW5mbyI6Ilx1MDAzY3BcdTAwM2VQTVMgQ2xhbiBpcyBhIHZpZGVvIGdhbWUgY29tbXVuaXR5IGNvbW1pdHRlZCB0byBicmVha2luZyBkb3duIHdhbGxzLCBzdGVyZW90eXBlcywgYW5kIGJvdW5kYXJpZXMgZm9yIGZlbWFsZSBnYW1lcnMgYnkgcHJvdmlkaW5nIGEgcHJvLXdvbWVuIGVudmlyb25tZW50LCBmb3N0ZXJpbmcgY29tcGV0aXRpdmUgc3Bpcml0LCBhbmQgYnVpbGRpbmcgYW4gaW5jbHVzaXZlIHN1cHBvcnQgbmV0d29yayBmb3Igd29tZW4gYW5kIG91ciBhbGxpZXMuIFdlIGJlbGlldmUgaW4gYSBmdXR1cmUgb2YgdGhlIG5vcm1hbGl6YXRpb24gb2Ygd29tZW4gaW4gY29tcGV0aXRpdmUgZ2FtaW5nIGFuZCBhbiBpbmNsdXNpdmUsIHN1c3RhaW5hYmxlIHBhcmFkaWdtIHRoYXQgcmVjb2duaXplcyBhbmQgdmFsdWVzIHdvbWVuIGFzIGVxdWFsIGNvbXBldGl0b3JzLlx1MDAzYy9wXHUwMDNlXG4iLCJkaXNwbGF5X25hbWUiOiJQTVMgQ2xhbiIsImNyZWF0ZWRfYXQiOiIyMDExLTExLTAxVDIxOjA3OjIzWiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA4LTI1VDEzOjAwOjM2WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tcG1zY2xhbi10ZWFtX2xvZ29faW1hZ2UtNzE3Njc4MjNhNjYyYTc5ZC02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1wbXNjbGFuLWJhbm5lcl9pbWFnZS1iNDNjMjNkYTA2YjQ0YzI4OGEzYmUyODdkZmFhNzQxNC02NDB4MTI1LmpwZWciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLXBtc2NsYW4tYmFja2dyb3VuZF9pbWFnZS0zM2M3ZDk1NTMwMDQ0OWZjYjFiZjViYTE0YjZjYjMzMy5qcGVnIn0seyJfaWQiOjE3LCJuYW1lIjoiZXNsIiwiaW5mbyI6IiIsImRpc3BsYXlfbmFtZSI6IkVTTCIsImNyZWF0ZWRfYXQiOiIyMDExLTExLTAyVDE5OjMxOjUyWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTAzLTIzVDEwOjIyOjIyWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXNsLXRlYW1fbG9nb19pbWFnZS1lM2Y5YzkxNWNiYzY0NmYzYWM0OTU0NmYyN2ZjOTI5ZS02MDB4NjAwLmpwZWciLCJiYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXNsLWJhbm5lcl9pbWFnZS0zZDQ3N2EwMGQ1YWY0ZmQxODM5MWYyYTMzNWZjZmQ1NC02NDB4MTI1LnBuZyIsImJhY2tncm91bmQiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXNsLWJhY2tncm91bmRfaW1hZ2UtZTRhMmUyMjY3YzFkNGYxNTg0MDMzMmY2YjgxODA3NTIucG5nIn0seyJfaWQiOjE4LCJuYW1lIjoiZXoiLCJpbmZvIjoiaHR0cDovL3RlYW1lei5jb21cclxuZVNwb3J0cyBNYWRlIEVaIiwiZGlzcGxheV9uYW1lIjoiVGVhbSBFWiIsImNyZWF0ZWRfYXQiOiIyMDExLTExLTAzVDE4OjA3OjE3WiIsInVwZGF0ZWRfYXQiOiIyMDEzLTA1LTI0VDAwOjE3OjEwWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXotdGVhbV9sb2dvX2ltYWdlLWQxNjZhN2IxY2UzOGIzNDMtNjAweDYwMC5wbmciLCJiYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXotYmFubmVyX2ltYWdlLTVkMjk3NjdhNmI4NmIyZmItNjQweDEyNS5wbmciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWV6LWJhY2tncm91bmRfaW1hZ2UtYTNiMWU4Mjg4NjRkNTgzYy5qcGVnIn0seyJfaWQiOjE5LCJuYW1lIjoibW9iYWNhc3QiLCJpbmZvIjoiaHR0cDovL21vYmFjYXN0LmNvbSIsImRpc3BsYXlfbmFtZSI6Ik1PQkFDQVNUIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTEtMDNUMTg6MjA6NTJaIiwidXBkYXRlZF9hdCI6IjIwMTMtMDUtMjRUMDA6MTc6MTBaIiwibG9nbyI6bnVsbCwiYmFubmVyIjpudWxsLCJiYWNrZ3JvdW5kIjpudWxsfSx7Il9pZCI6MjAsIm5hbWUiOiJnYW1lb24iLCJpbmZvIjoiV2VsY29tZSB0byB0aGUgJ1x1MDAzY2JcdTAwM2VHYW1lT25cdTAwM2MvYlx1MDAzZScgVGVhbSBQYWdlOyB5b3VyIHdpbmRvdyBpbnRvIHRoZSBHYW1lT24gY29tbXVuaXR5IVxyXG5cdTAwM2Niclx1MDAzZVx1MDAzY2JyXHUwMDNlXHJcbkdhbWVPbiBwcmlkZXMgaXRzZWxmIG9uIGJlaW5nIGEgZnVuIGFuZCBmcmllbmRseSBwbGFjZSBmb3IgZ2FtZXJzIG9mIGFsbCBhZ2VzIHRvIGhhbmcgb3V0LiBXaXRoIG1hbnkgeWVhcnMgb2YgZXhwZXJpZW5jZXMgXHUwMDI2YW1wOyBmb25kIG1lbW9yaWVzLCBHYW1lT24gd2VsY29tZXMgeW91IHRvIGl0cyBjb21tdW5pdHkhIiwiZGlzcGxheV9uYW1lIjoiR2FtZU9uIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTEtMDNUMTg6MzE6NTRaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMThUMTc6NTE6NTRaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1nYW1lb24tdGVhbV9sb2dvX2ltYWdlLWE4NzcxYjc5ODNkOWFhOTctNjAweDYwMC5qcGVnIiwiYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWdhbWVvbi1iYW5uZXJfaW1hZ2UtODA1YWQ1ZDQxNzNjMDMyMy02NDB4MTI1LmpwZWciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWdhbWVvbi1iYWNrZ3JvdW5kX2ltYWdlLTdjYTdjMjdjZjQ5ZjNiMDkuanBlZyJ9LHsiX2lkIjoyMSwibmFtZSI6InRoZWNyZXciLCJpbmZvIjoiVGhlIENyZXcgaXMgYW4gYXdlc29tZSBhbHRlcm5hdGl2ZSB0byBlLXNwb3J0cyBhbmQgY29tcGV0YXRpdmUgZ2FtaW5nLCBmZWF0dXJpbmcgc29tZSBvZiB0aGUgYmVzdCBjYXN1YWwgZ2FtZXJzIG9uIHRoZSBpbnRlcndlYnMuXG5cblx1MDAzY2EgcmVsPVwibm9mb2xsb3dcIiBocmVmPVwiaHR0cDovL2NyZXdsb3VuZ2Uub3JnXCIgdGFyZ2V0PVwiX2JsYW5rXCJcdTAwM2VcdTAwM2NpbWcgc3JjPVwiaHR0cDovL2NyZXdsb3VuZ2Uub3JnL2JhZGdlL2NyZXdCYWRnZS5wbmdcIiBib3JkZXI9XCIwXCIgYWx0PVwiVGhlIENyZXcgTG91bmdlXCIgL1x1MDAzZVx1MDAzYy9hXHUwMDNlXG4iLCJkaXNwbGF5X25hbWUiOiJUaGUgQ3JldyIsImNyZWF0ZWRfYXQiOiIyMDExLTExLTAzVDE5OjE0OjQ3WiIsInVwZGF0ZWRfYXQiOiIyMDEzLTA1LTI0VDAwOjE3OjExWiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tdGhlY3Jldy10ZWFtX2xvZ29faW1hZ2UtNjE2NGM3YmE2YjFmZmVlMS02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS10aGVjcmV3LWJhbm5lcl9pbWFnZS0yMmI1NjEwMWM1YWIxM2FjLTY0MHgxMjUucG5nIiwiYmFja2dyb3VuZCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS10aGVjcmV3LWJhY2tncm91bmRfaW1hZ2UtMjVmNTFjNjE3Y2Q4YTNhOC5qcGVnIn0seyJfaWQiOjIyLCJuYW1lIjoib2drIiwiaW5mbyI6IldlIHN0cmVhbSBNT0JBIGFuZCBGR0Mgc3R1ZmYhXG4iLCJkaXNwbGF5X25hbWUiOiJPR0siLCJjcmVhdGVkX2F0IjoiMjAxMS0xMS0wM1QyMjoxNToyMVoiLCJ1cGRhdGVkX2F0IjoiMjAxMy0wNS0yNFQwMDoxNzoxMVoiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLW9nay10ZWFtX2xvZ29faW1hZ2UtMzFiNGMwOTM4MWUxMTQ5OC02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1vZ2stYmFubmVyX2ltYWdlLTA5ZmYzOGQxZDY1ZTNkNDktNjQweDEyNS5wbmciLCJiYWNrZ3JvdW5kIjpudWxsfSx7Il9pZCI6MjMsIm5hbWUiOiJsdGhhbjMiLCJpbmZvIjoiIiwiZGlzcGxheV9uYW1lIjoiTFRoYW4zIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTEtMDNUMjI6NTE6MDBaIiwidXBkYXRlZF9hdCI6IjIwMTMtMDUtMjRUMDA6MTc6MTFaIiwibG9nbyI6bnVsbCwiYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLWx0aGFuMy1iYW5uZXJfaW1hZ2UtMTNmOWE3Yjg2ZjUzNDg1NC02NDB4MTI1LmpwZWciLCJiYWNrZ3JvdW5kIjpudWxsfSx7Il9pZCI6MjQsIm5hbWUiOiJyZWlnbnNjMiIsImluZm8iOiJTdGFyQ3JhZnQgMiBUZWFtIFJlSUdOIHxcclxud3d3LnJlaWduc2MyLmNvbSB8XHJcbnd3dy50d2l0dGVyLmNvbS9yZWlnbnNjMiB8XHJcbnd3dy5mYWNlYm9vay5jb20vcmVpZ25zYzIiLCJkaXNwbGF5X25hbWUiOiJUZWFtIFJlSUdOIiwiY3JlYXRlZF9hdCI6IjIwMTEtMTEtMDNUMjI6NTI6MjVaIiwidXBkYXRlZF9hdCI6IjIwMTMtMDUtMjRUMDA6MTc6MTBaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1yZWlnbnNjMi10ZWFtX2xvZ29faW1hZ2UtZDI4ZWIzNjY1ZjE3NjkwMy02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1yZWlnbnNjMi1iYW5uZXJfaW1hZ2UtYTgwZDQ3MTU2NWQxYjYzNC02NDB4MTI1LnBuZyIsImJhY2tncm91bmQiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tcmVpZ25zYzItYmFja2dyb3VuZF9pbWFnZS0xOTdhNmM4ZmE0YzhjMDE4LmpwZWcifSx7Il9pZCI6MjUsIm5hbWUiOiJrYm1vZCIsImluZm8iOiJUaGUgS0JNT0QgR2FtaW5nIENvbW11bml0eVxyXG5cclxud3d3LmtibW9kLmNvbVxyXG5Ud2l0dGVyOiBodHRwOi8vdHdpdHRlci5jb20vS0JNT0RHYW1pbmdcclxuRmFjZWJvb2s6IGh0dHA6Ly9mYWNlYm9vay5jb20vS0JNT0RcclxuWW91VHViZTogaHR0cDovL3lvdXR1YmUuY29tL0tCTU9ER2FtaW5nXHJcblxyXG5cclxuXHJcblxyXG4iLCJkaXNwbGF5X25hbWUiOiJLQk1PRCBHYW1pbmcgQ29tbXVuaXR5IiwiY3JlYXRlZF9hdCI6IjIwMTEtMTEtMDNUMjM6MDg6MTNaIiwidXBkYXRlZF9hdCI6IjIwMTUtMDktMDlUMjI6MzY6MDVaIiwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1rYm1vZC10ZWFtX2xvZ29faW1hZ2UtOTg4YWVmNzc0NzNlOGUzMi02MDB4NjAwLmpwZWciLCJiYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0ta2Jtb2QtYmFubmVyX2ltYWdlLTQ0NzE0ZjA4NzI5Y2I2M2YtNjQweDEyNS5qcGVnIiwiYmFja2dyb3VuZCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1rYm1vZC1iYWNrZ3JvdW5kX2ltYWdlLWYwYjEyZWZmYWIyMDFlZDAuanBlZyJ9LHsiX2lkIjoyNiwibmFtZSI6ImVzZWEiLCJpbmZvIjoiIiwiZGlzcGxheV9uYW1lIjoiRVNFQSIsImNyZWF0ZWRfYXQiOiIyMDExLTExLTAzVDIzOjIzOjA5WiIsInVwZGF0ZWRfYXQiOiIyMDE5LTA4LTAxVDEyOjI1OjA3WiIsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXNlYS10ZWFtX2xvZ29faW1hZ2UtNWZjZDk5ZmJlOWZjYTVjNC02MDB4NjAwLnBuZyIsImJhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvdGVhbS1lc2VhLWJhbm5lcl9pbWFnZS03OTI3YjI1YzdkODQyMzU5LTY0MHgxMjUuanBlZyIsImJhY2tncm91bmQiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tZXNlYS1iYWNrZ3JvdW5kX2ltYWdlLTkwZDM5NjZhMDAyNjQyN2UuanBlZyJ9LHsiX2lkIjo1OSwibmFtZSI6InF1YW50aWMiLCJpbmZvIjoiUHJlbWllciBOb3J0aCBBbWVyaWNhbiAjZVNwb3J0cyBhbmQgbWVkaWEgcHJvZHVjdGlvbiBjb21wYW55LiBUaGUgcGVvcGxlJ3MgdGVhbSBvZiBwcm8tZ2FtaW5nIVxuIiwiZGlzcGxheV9uYW1lIjoiUXVhbnRpYyBHYW1pbmciLCJjcmVhdGVkX2F0IjoiMjAxMS0xMS0wNFQwMDoyODowM1oiLCJ1cGRhdGVkX2F0IjoiMjAxMy0xMS0yMVQxMDo1OTozMloiLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLXF1YW50aWMtdGVhbV9sb2dvX2ltYWdlLWI0N2M3NmFmMjRmMDFkMzctNjAweDYwMC5wbmciLCJiYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL3RlYW0tcXVhbnRpYy1iYW5uZXJfaW1hZ2UtZmFlNzI3NWVlZmU4YzNjOC02NDB4MTI1LmpwZWciLCJiYWNrZ3JvdW5kIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy90ZWFtLXF1YW50aWMtYmFja2dyb3VuZF9pbWFnZS1hMTYzN2QxZTRmNDM4ZjE1LnBuZyJ9XX0= + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:06 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/top_games.yml b/spec/cassettes/top_games.yml new file mode 100644 index 0000000..58ef9ca --- /dev/null +++ b/spec/cassettes/top_games.yml @@ -0,0 +1,69 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/games/top + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:25 GMT + x-served-by: + - cache-sea4443-SEA, cache-hel6825-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091445.345076,VS0,VS0,VE211 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: ASCII-8BIT + string: '{"_total":2364,"top":[{"game":{"name":"League of Legends","_id":21779,"giantbomb_id":24024,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/League%20of%20Legends-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/League%20of%20Legends-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/League%20of%20Legends-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/League%20of%20Legends-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/League%20of%20Legends-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/League%20of%20Legends-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/League%20of%20Legends-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/League%20of%20Legends-{width}x{height}.jpg"},"localized_name":"League + of Legends","locale":"en-us"},"viewers":279985,"channels":4194},{"game":{"name":"Just + Chatting","_id":509658,"giantbomb_id":0,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/Just%20Chatting-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/Just%20Chatting-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/Just%20Chatting-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/Just%20Chatting-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/Just%20Chatting-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/Just%20Chatting-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/Just%20Chatting-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/Just%20Chatting-{width}x{height}.jpg"},"localized_name":"Just + Chatting","locale":"en-us"},"viewers":222036,"channels":2727},{"game":{"name":"Counter-Strike: + Global Offensive","_id":32399,"giantbomb_id":36113,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/./Counter-Strike:%20Global%20Offensive-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/./Counter-Strike:%20Global%20Offensive-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/./Counter-Strike:%20Global%20Offensive-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/./Counter-Strike:%20Global%20Offensive-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/./Counter-Strike:%20Global%20Offensive-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/./Counter-Strike:%20Global%20Offensive-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/./Counter-Strike:%20Global%20Offensive-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/./Counter-Strike:%20Global%20Offensive-{width}x{height}.jpg"},"localized_name":"Counter-Strike: + Global Offensive","locale":"en-us"},"viewers":198606,"channels":2593},{"game":{"name":"Dota + 2","_id":29595,"giantbomb_id":32887,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/Dota%202-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/Dota%202-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/Dota%202-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/Dota%202-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/Dota%202-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/Dota%202-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/Dota%202-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/Dota%202-{width}x{height}.jpg"},"localized_name":"Dota + 2","locale":"en-us"},"viewers":118453,"channels":1162},{"game":{"name":"Call + of Duty: Modern Warfare","_id":512710,"giantbomb_id":73517,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/./Call%20of%20Duty:%20Modern%20Warfare-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/./Call%20of%20Duty:%20Modern%20Warfare-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/./Call%20of%20Duty:%20Modern%20Warfare-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/./Call%20of%20Duty:%20Modern%20Warfare-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/./Call%20of%20Duty:%20Modern%20Warfare-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/./Call%20of%20Duty:%20Modern%20Warfare-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/./Call%20of%20Duty:%20Modern%20Warfare-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/./Call%20of%20Duty:%20Modern%20Warfare-{width}x{height}.jpg"},"localized_name":"Call + of Duty: Modern Warfare","locale":"en-us"},"viewers":69756,"channels":4587},{"game":{"name":"Fortnite","_id":33214,"giantbomb_id":37030,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/Fortnite-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/Fortnite-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/Fortnite-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/Fortnite-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/Fortnite-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/Fortnite-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/Fortnite-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/Fortnite-{width}x{height}.jpg"},"localized_name":"Fortnite","locale":"en-us"},"viewers":62902,"channels":6452},{"game":{"name":"Animal + Crossing: New Horizons","_id":509538,"giantbomb_id":70241,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/./Animal%20Crossing:%20New%20Horizons-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/./Animal%20Crossing:%20New%20Horizons-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/./Animal%20Crossing:%20New%20Horizons-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/./Animal%20Crossing:%20New%20Horizons-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/./Animal%20Crossing:%20New%20Horizons-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/./Animal%20Crossing:%20New%20Horizons-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/./Animal%20Crossing:%20New%20Horizons-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/./Animal%20Crossing:%20New%20Horizons-{width}x{height}.jpg"},"localized_name":"Animal + Crossing: New Horizons","locale":"en-us"},"viewers":58551,"channels":733},{"game":{"name":"Grand + Theft Auto V","_id":32982,"giantbomb_id":36765,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/Grand%20Theft%20Auto%20V-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/Grand%20Theft%20Auto%20V-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/Grand%20Theft%20Auto%20V-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/Grand%20Theft%20Auto%20V-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/Grand%20Theft%20Auto%20V-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/Grand%20Theft%20Auto%20V-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/Grand%20Theft%20Auto%20V-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/Grand%20Theft%20Auto%20V-{width}x{height}.jpg"},"localized_name":"Grand + Theft Auto V","locale":"en-us"},"viewers":47851,"channels":1328},{"game":{"name":"Last + Oasis","_id":512969,"giantbomb_id":73785,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/Last%20Oasis-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/Last%20Oasis-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/Last%20Oasis-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/Last%20Oasis-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/Last%20Oasis-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/Last%20Oasis-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/Last%20Oasis-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/Last%20Oasis-{width}x{height}.jpg"},"localized_name":"Last + Oasis","locale":"en-us"},"viewers":44715,"channels":356},{"game":{"name":"Mount + \u0026 Blade II: Bannerlord","_id":68351,"giantbomb_id":39861,"box":{"large":"https://static-cdn.jtvnw.net/ttv-boxart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-272x380.jpg","medium":"https://static-cdn.jtvnw.net/ttv-boxart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-136x190.jpg","small":"https://static-cdn.jtvnw.net/ttv-boxart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-52x72.jpg","template":"https://static-cdn.jtvnw.net/ttv-boxart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-{width}x{height}.jpg"},"logo":{"large":"https://static-cdn.jtvnw.net/ttv-logoart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-240x144.jpg","medium":"https://static-cdn.jtvnw.net/ttv-logoart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-120x72.jpg","small":"https://static-cdn.jtvnw.net/ttv-logoart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-60x36.jpg","template":"https://static-cdn.jtvnw.net/ttv-logoart/./Mount%20\u0026%20Blade%20II:%20Bannerlord-{width}x{height}.jpg"},"localized_name":"Mount + \u0026 Blade II: Bannerlord","locale":"en-us"},"viewers":41719,"channels":512}]}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:25 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/top_videos.yml b/spec/cassettes/top_videos.yml new file mode 100644 index 0000000..cc6dbe4 --- /dev/null +++ b/spec/cassettes/top_videos.yml @@ -0,0 +1,59 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/videos/top + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:25 GMT + x-served-by: + - cache-sea4454-SEA, cache-hel6835-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091446.687722,VS0,VS0,VE246 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + transfer-encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ2b2RzIjpbeyJ0aXRsZSI6IvCfpKwgS2FybWFsYW5kIHBlcm8gZW5mYWRhZG8g8J+krCIsImRlc2NyaXB0aW9uIjpudWxsLCJkZXNjcmlwdGlvbl9odG1sIjpudWxsLCJicm9hZGNhc3RfaWQiOjEwMDYwNDcyMzMsImJyb2FkY2FzdF90eXBlIjoiYXJjaGl2ZSIsInN0YXR1cyI6InJlY29yZGVkIiwidGFnX2xpc3QiOiIiLCJ2aWV3cyI6MTAwOTA2MSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3ZpZGVvcy81NzgzNDMzODAiLCJsYW5ndWFnZSI6ImVzIiwiY3JlYXRlZF9hdCI6IjIwMjAtMDMtMjlUMTU6MDQ6NTNaIiwidmlld2FibGUiOiJwdWJsaWMiLCJ2aWV3YWJsZV9hdCI6bnVsbCwicHVibGlzaGVkX2F0IjoiMjAyMC0wMy0yOVQxNTowNDo1M1oiLCJkZWxldGVfYXQiOiIyMDIwLTA1LTI4VDE1OjA0OjUzWiIsIl9pZCI6InY1NzgzNDMzODAiLCJyZWNvcmRlZF9hdCI6IjIwMjAtMDMtMjlUMTU6MDQ6NTJaIiwiZ2FtZSI6Ik1pbmVjcmFmdCIsImxlbmd0aCI6MTE3MTAsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIwLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjAtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjAtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjAte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiYW5pbWF0ZWRfcHJldmlld191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0L2QyODdhMjM5Zjg3MTkzZWY1MDYxX2F1cm9ucGxheV8xMDA2MDQ3MjMzXzYyOTM3MDEyL3N0b3J5Ym9hcmRzLzU3ODM0MzM4MC1zdHJpcC0wLmpwZyIsInRodW1ibmFpbHMiOnsic21hbGwiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIwLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjEtODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2QyODdhMjM5Zjg3MTkzZWY1MDYxX2F1cm9ucGxheV8xMDA2MDQ3MjMzXzYyOTM3MDEyL3RodW1iL3RodW1iMi04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIzLTgweDQ1LmpwZyJ9XSwibWVkaXVtIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2QyODdhMjM5Zjg3MTkzZWY1MDYxX2F1cm9ucGxheV8xMDA2MDQ3MjMzXzYyOTM3MDEyL3RodW1iL3RodW1iMC0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjEtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIyLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2QyODdhMjM5Zjg3MTkzZWY1MDYxX2F1cm9ucGxheV8xMDA2MDQ3MjMzXzYyOTM3MDEyL3RodW1iL3RodW1iMy0zMjB4MTgwLmpwZyJ9XSwibGFyZ2UiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2QyODdhMjM5Zjg3MTkzZWY1MDYxX2F1cm9ucGxheV8xMDA2MDQ3MjMzXzYyOTM3MDEyL3RodW1iL3RodW1iMS02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjItNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIzLTY0MHgzNjAuanBnIn1dLCJ0ZW1wbGF0ZSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjAte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvdGh1bWIvdGh1bWIxLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2QyODdhMjM5Zjg3MTkzZWY1MDYxX2F1cm9ucGxheV8xMDA2MDQ3MjMzXzYyOTM3MDEyL3RodW1iL3RodW1iMi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9kMjg3YTIzOWY4NzE5M2VmNTA2MV9hdXJvbnBsYXlfMTAwNjA0NzIzM182MjkzNzAxMi90aHVtYi90aHVtYjMte3dpZHRofXh7aGVpZ2h0fS5qcGcifV19LCJmcHMiOnsiMTYwcDMwIjoyOS45OTQyNTI0MDA5NzM4OSwiMzYwcDMwIjoyOS45OTQyNTI0MDA5NzM4OSwiNDgwcDMwIjoyOS45OTQyNTI0MDA5NzM4OSwiNzIwcDMwIjoyOS45OTQyNTI0MDA5NzM4OSwiNzIwcDYwIjo1OS45ODgzMzQwMjIwMDM0NiwiY2h1bmtlZCI6NTkuOTg4MzM0MDIyMDAzNDZ9LCJzZWVrX3ByZXZpZXdzX3VybCI6Imh0dHBzOi8vZDJudnMzMTg1OXpjZDguY2xvdWRmcm9udC5uZXQvZDI4N2EyMzlmODcxOTNlZjUwNjFfYXVyb25wbGF5XzEwMDYwNDcyMzNfNjI5MzcwMTIvc3Rvcnlib2FyZHMvNTc4MzQzMzgwLWluZm8uanNvbiIsInJlc29sdXRpb25zIjp7IjE2MHAzMCI6IjI4NHgxNjAiLCIzNjBwMzAiOiI2NDB4MzYwIiwiNDgwcDMwIjoiODUyeDQ4MCIsIjcyMHAzMCI6IjEyODB4NzIwIiwiNzIwcDYwIjoiMTI4MHg3MjAiLCJjaHVua2VkIjoiMTkyMHgxMDgwIn0sInJlc3RyaWN0aW9uIjoiIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiLwn5G5IEVDQ0NDQ1NUUkVNTyDwn5G5IiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJlcyIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiYXVyb25wbGF5IiwiZ2FtZSI6Ik1pbmVjcmFmdCIsImxhbmd1YWdlIjoiZXMiLCJfaWQiOjQ1OTMzMTUwOSwibmFtZSI6ImF1cm9ucGxheSIsImNyZWF0ZWRfYXQiOiIyMDE5LTA5LTAzVDE0OjAyOjQ5LjAxNTI1WiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU3OjA2LjE3MDYwMloiLCJwYXJ0bmVyIjp0cnVlLCJsb2dvIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9lYzg5OGU0YS1lMGRmLTRkYzAtYTk5ZC03NTQwYzZkYmUxZTgtcHJvZmlsZV9pbWFnZS0zMDB4MzAwLnBuZyIsInZpZGVvX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTZkMGU2NTUtZGEzNS00MjBhLWI3NjMtOWYxZjNiNjdkNjIxLWNoYW5uZWxfb2ZmbGluZV9pbWFnZS0xOTIweDEwODAuanBlZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy85Y2JkYTFiNy0zNmRmLTRmODgtYjVhMi0xODQ1MDU0ZDk1NTAtcHJvZmlsZV9iYW5uZXItNDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L2F1cm9ucGxheSIsInZpZXdzIjoxNDI1NDk5OSwiZm9sbG93ZXJzIjoyMTU3OTkzLCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiZmVsaXogcGVybyBubyBtdWNobyAiLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwiaW5jcmVtZW50X3ZpZXdfY291bnRfdXJsIjoiaHR0cHM6Ly9jb3VudGVzcy50d2l0Y2gudHYvcGluZy5naWY/dT0lN0IlMjJpZCUyMiUzQSUyMjU3ODM0MzM4MCUyMiUyQyUyMnR5cGUlMjIlM0ElMjJ2b2QlMjIlN0QifSx7InRpdGxlIjoiU3RyZWFtIEJlbmVmaWNvIGNvbnRyYSBDT1ZJRC0xOSB8IEV4cGxvdGFtb3MgbWkgY2FzYSBkZSBLYXJtYWxhbmQgIiwiZGVzY3JpcHRpb24iOm51bGwsImRlc2NyaXB0aW9uX2h0bWwiOm51bGwsImJyb2FkY2FzdF9pZCI6MTAyMDUwNzc5MywiYnJvYWRjYXN0X3R5cGUiOiJhcmNoaXZlIiwic3RhdHVzIjoicmVjb3JkZWQiLCJ0YWdfbGlzdCI6IiIsInZpZXdzIjo5NDY0NzMsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di92aWRlb3MvNTc5MjUzOTc4IiwibGFuZ3VhZ2UiOiJlcyIsImNyZWF0ZWRfYXQiOiIyMDIwLTAzLTMwVDE4OjM3OjQwWiIsInZpZXdhYmxlIjoicHVibGljIiwidmlld2FibGVfYXQiOm51bGwsInB1Ymxpc2hlZF9hdCI6IjIwMjAtMDMtMzBUMTg6Mzc6NDBaIiwiZGVsZXRlX2F0IjoiMjAyMC0wNS0yOVQxODozNzo0MFoiLCJfaWQiOiJ2NTc5MjUzOTc4IiwicmVjb3JkZWRfYXQiOiIyMDIwLTAzLTMwVDE4OjM3OjM5WiIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGVuZ3RoIjoyNDE0MSwibXV0ZWRfc2VnbWVudHMiOlt7ImR1cmF0aW9uIjozNjAsIm9mZnNldCI6MH0seyJkdXJhdGlvbiI6MzY4LCJvZmZzZXQiOjM2MH0seyJkdXJhdGlvbiI6MzY2LCJvZmZzZXQiOjYyMTR9LHsiZHVyYXRpb24iOjM2MSwib2Zmc2V0Ijo2OTQxfSx7ImR1cmF0aW9uIjozNjQsIm9mZnNldCI6MTM1MTh9LHsiZHVyYXRpb24iOjM2OCwib2Zmc2V0IjoxNDYwOH0seyJkdXJhdGlvbiI6MzY0LCJvZmZzZXQiOjE1NzExfSx7ImR1cmF0aW9uIjozNjAsIm9mZnNldCI6MTg2MTB9XSwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjItODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMi0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMi02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJhbmltYXRlZF9wcmV2aWV3X3VybCI6Imh0dHBzOi8vZDJudnMzMTg1OXpjZDguY2xvdWRmcm9udC5uZXQvNDk4MTk4MDkxYmMxNzNkZjk4ZjRfcnViaXVzXzEwMjA1MDc3OTNfNjM4NDA4MjMvc3Rvcnlib2FyZHMvNTc5MjUzOTc4LXN0cmlwLTAuanBnIiwidGh1bWJuYWlscyI6eyJzbWFsbCI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjAtODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMS04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDk4MTk4MDkxYmMxNzNkZjk4ZjRfcnViaXVzXzEwMjA1MDc3OTNfNjM4NDA4MjMvdGh1bWIvdGh1bWIyLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjMtODB4NDUuanBnIn1dLCJtZWRpdW0iOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDk4MTk4MDkxYmMxNzNkZjk4ZjRfcnViaXVzXzEwMjA1MDc3OTNfNjM4NDA4MjMvdGh1bWIvdGh1bWIwLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMS0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjItMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDk4MTk4MDkxYmMxNzNkZjk4ZjRfcnViaXVzXzEwMjA1MDc3OTNfNjM4NDA4MjMvdGh1bWIvdGh1bWIzLTMyMHgxODAuanBnIn1dLCJsYXJnZSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjAtNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDk4MTk4MDkxYmMxNzNkZjk4ZjRfcnViaXVzXzEwMjA1MDc3OTNfNjM4NDA4MjMvdGh1bWIvdGh1bWIxLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMi02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjMtNjQweDM2MC5qcGcifV0sInRlbXBsYXRlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80OTgxOTgwOTFiYzE3M2RmOThmNF9ydWJpdXNfMTAyMDUwNzc5M182Mzg0MDgyMy90aHVtYi90aHVtYjEte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDk4MTk4MDkxYmMxNzNkZjk4ZjRfcnViaXVzXzEwMjA1MDc3OTNfNjM4NDA4MjMvdGh1bWIvdGh1bWIyLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3RodW1iL3RodW1iMy17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9XX0sImZwcyI6eyIxNjBwMzAiOjMwLjAwNzcyNjI4MjA3MjU1LCIzNjBwMzAiOjMwLjAwNzcyNjI4MjA3MjU1LCI0ODBwMzAiOjMwLjAwNzcyNjI4MjA3MjU1LCI3MjBwMzAiOjMwLjAwNzcyNjI4MjA3MjU1LCI3MjBwNjAiOjU5Ljk5Mzg2MzYwNzMwMTY4NCwiY2h1bmtlZCI6NTkuOTkzODYzNjA3MzAxNjg0fSwic2Vla19wcmV2aWV3c191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0LzQ5ODE5ODA5MWJjMTczZGY5OGY0X3J1Yml1c18xMDIwNTA3NzkzXzYzODQwODIzL3N0b3J5Ym9hcmRzLzU3OTI1Mzk3OC1pbmZvLmpzb24iLCJyZXNvbHV0aW9ucyI6eyIxNjBwMzAiOiIyODR4MTYwIiwiMzYwcDMwIjoiNjQweDM2MCIsIjQ4MHAzMCI6Ijg1Mng0ODAiLCI3MjBwMzAiOiIxMjgweDcyMCIsIjcyMHA2MCI6IjEyODB4NzIwIiwiY2h1bmtlZCI6IjE5MjB4MTA4MCJ9LCJyZXN0cmljdGlvbiI6IiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiS2FybWFsYW5kIC0gKHByb2JsZW1hcyB0ZWNuaWNvcywgYSBsbyBtZWpvciBGKSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZXMiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlJ1Yml1cyIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlcyIsIl9pZCI6MzkyNzYxNDAsIm5hbWUiOiJydWJpdXMiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xMlQxODo0Njo1Ni41NjM0NTFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6MzYuMTYwNTFaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTI1OTJlOTgtNWJhNi00YzlhLTlkOWUtY2YwMzZkNmY2NGMyLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E1YWM2Yzg2LWE0YjAtNDE3Ni1hNzBhLTg4MzU0ZGQ3YThiNy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDFkMjBkYzItNzljMS00N2JiLTlmYWEtMGM4NDYwODU3ZTFkLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3J1Yml1cyIsInZpZXdzIjo0Njk5MTA2NCwiZm9sbG93ZXJzIjozNzkwMjY3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sImluY3JlbWVudF92aWV3X2NvdW50X3VybCI6Imh0dHBzOi8vY291bnRlc3MudHdpdGNoLnR2L3BpbmcuZ2lmP3U9JTdCJTIyaWQlMjIlM0ElMjI1NzkyNTM5NzglMjIlMkMlMjJ0eXBlJTIyJTNBJTIydm9kJTIyJTdEIn0seyJ0aXRsZSI6IvCfjokgS2FybWFsYW5kIHx8IE1JIE5VRVZBIENBU0Eg8J+OiSIsImRlc2NyaXB0aW9uIjpudWxsLCJkZXNjcmlwdGlvbl9odG1sIjpudWxsLCJicm9hZGNhc3RfaWQiOjEwMjkwMDI3ODUsImJyb2FkY2FzdF90eXBlIjoiYXJjaGl2ZSIsInN0YXR1cyI6InJlY29yZGVkIiwidGFnX2xpc3QiOiIiLCJ2aWV3cyI6NzgzMDk0LCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvdmlkZW9zLzU3OTg2Mjg5OSIsImxhbmd1YWdlIjoiZXMiLCJjcmVhdGVkX2F0IjoiMjAyMC0wMy0zMVQxNTo1MTo1MVoiLCJ2aWV3YWJsZSI6InB1YmxpYyIsInZpZXdhYmxlX2F0IjpudWxsLCJwdWJsaXNoZWRfYXQiOiIyMDIwLTAzLTMxVDE1OjUxOjUxWiIsImRlbGV0ZV9hdCI6IjIwMjAtMDUtMzBUMTU6NTE6NTFaIiwiX2lkIjoidjU3OTg2Mjg5OSIsInJlY29yZGVkX2F0IjoiMjAyMC0wMy0zMVQxNTo1MTo1MFoiLCJnYW1lIjoiTWluZWNyYWZ0IiwibGVuZ3RoIjo4NTIyLCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIwLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImFuaW1hdGVkX3ByZXZpZXdfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC9zdG9yeWJvYXJkcy81Nzk4NjI4OTktc3RyaXAtMC5qcGciLCJ0aHVtYm5haWxzIjp7InNtYWxsIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMC04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIxLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC90aHVtYi90aHVtYjItODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMy04MHg0NS5qcGcifV0sIm1lZGl1bSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC90aHVtYi90aHVtYjAtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIxLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMi0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC90aHVtYi90aHVtYjMtMzIweDE4MC5qcGcifV0sImxhcmdlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMC02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC90aHVtYi90aHVtYjEtNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIyLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMy02NDB4MzYwLmpwZyJ9XSwidGVtcGxhdGUiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4Lzc1Nzg1NzEwMzAxMmYxOTRkNzBmX2F1cm9ucGxheV8xMDI5MDAyNzg1XzY0MzcxNzg0L3RodW1iL3RodW1iMS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC90aHVtYi90aHVtYjIte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNzU3ODU3MTAzMDEyZjE5NGQ3MGZfYXVyb25wbGF5XzEwMjkwMDI3ODVfNjQzNzE3ODQvdGh1bWIvdGh1bWIzLXt3aWR0aH14e2hlaWdodH0uanBnIn1dfSwiZnBzIjp7IjE2MHAzMCI6MjkuOTk2ODI2ODAwNTc5NDM4LCIzNjBwMzAiOjI5Ljk5NjgyNjgwMDU3OTQzOCwiNDgwcDMwIjoyOS45OTY4MjY4MDA1Nzk0MzgsIjcyMHAzMCI6MjkuOTk2ODI2ODAwNTc5NDM4LCI3MjBwNjAiOjU5Ljk4MTk3MzQ3MDgyNDkyLCJjaHVua2VkIjo1OS45ODE5NzM0NzA4MjQ5Mn0sInNlZWtfcHJldmlld3NfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC83NTc4NTcxMDMwMTJmMTk0ZDcwZl9hdXJvbnBsYXlfMTAyOTAwMjc4NV82NDM3MTc4NC9zdG9yeWJvYXJkcy81Nzk4NjI4OTktaW5mby5qc29uIiwicmVzb2x1dGlvbnMiOnsiMTYwcDMwIjoiMjg0eDE2MCIsIjM2MHAzMCI6IjY0MHgzNjAiLCI0ODBwMzAiOiI4NTJ4NDgwIiwiNzIwcDMwIjoiMTI4MHg3MjAiLCI3MjBwNjAiOiIxMjgweDcyMCIsImNodW5rZWQiOiIxOTIweDEwODAifSwicmVzdHJpY3Rpb24iOiIiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IvCfkbkgRUNDQ0NDU1RSRU1PIPCfkbkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVzIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJhdXJvbnBsYXkiLCJnYW1lIjoiTWluZWNyYWZ0IiwibGFuZ3VhZ2UiOiJlcyIsIl9pZCI6NDU5MzMxNTA5LCJuYW1lIjoiYXVyb25wbGF5IiwiY3JlYXRlZF9hdCI6IjIwMTktMDktMDNUMTQ6MDI6NDkuMDE1MjVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTc6MDYuMTcwNjAyWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2VjODk4ZTRhLWUwZGYtNGRjMC1hOTlkLTc1NDBjNmRiZTFlOC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hNmQwZTY1NS1kYTM1LTQyMGEtYjc2My05ZjFmM2I2N2Q2MjEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzljYmRhMWI3LTM2ZGYtNGY4OC1iNWEyLTE4NDUwNTRkOTU1MC1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYXVyb25wbGF5Iiwidmlld3MiOjE0MjU0OTk5LCJmb2xsb3dlcnMiOjIxNTc5OTMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJmZWxpeiBwZXJvIG5vIG11Y2hvICIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJpbmNyZW1lbnRfdmlld19jb3VudF91cmwiOiJodHRwczovL2NvdW50ZXNzLnR3aXRjaC50di9waW5nLmdpZj91PSU3QiUyMmlkJTIyJTNBJTIyNTc5ODYyODk5JTIyJTJDJTIydHlwZSUyMiUzQSUyMnZvZCUyMiU3RCJ9LHsidGl0bGUiOiLwn4+GIEthcm1hbGFuZCDwn4+GIiwiZGVzY3JpcHRpb24iOm51bGwsImRlc2NyaXB0aW9uX2h0bWwiOm51bGwsImJyb2FkY2FzdF9pZCI6MTA1Mjc0OTgyNSwiYnJvYWRjYXN0X3R5cGUiOiJhcmNoaXZlIiwic3RhdHVzIjoicmVjb3JkZWQiLCJ0YWdfbGlzdCI6IiIsInZpZXdzIjo3MzA5NzEsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di92aWRlb3MvNTgxNDUyMzA0IiwibGFuZ3VhZ2UiOiJlcyIsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTAyVDE1OjA3OjM2WiIsInZpZXdhYmxlIjoicHVibGljIiwidmlld2FibGVfYXQiOm51bGwsInB1Ymxpc2hlZF9hdCI6IjIwMjAtMDQtMDJUMTU6MDc6MzZaIiwiZGVsZXRlX2F0IjoiMjAyMC0wNi0wMVQxNTowNzozNloiLCJfaWQiOiJ2NTgxNDUyMzA0IiwicmVjb3JkZWRfYXQiOiIyMDIwLTA0LTAyVDE1OjA3OjM1WiIsImdhbWUiOiJNaW5lY3JhZnQiLCJsZW5ndGgiOjg5NDAsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIwLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjAtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjAtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjAte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiYW5pbWF0ZWRfcHJldmlld191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3N0b3J5Ym9hcmRzLzU4MTQ1MjMwNC1zdHJpcC0wLmpwZyIsInRodW1ibmFpbHMiOnsic21hbGwiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIwLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjEtODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3RodW1iL3RodW1iMi04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIzLTgweDQ1LmpwZyJ9XSwibWVkaXVtIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3RodW1iL3RodW1iMC0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjEtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIyLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3RodW1iL3RodW1iMy0zMjB4MTgwLmpwZyJ9XSwibGFyZ2UiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3RodW1iL3RodW1iMS02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjItNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIzLTY0MHgzNjAuanBnIn1dLCJ0ZW1wbGF0ZSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjAte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYjdlMjYyODY5NTczMzgwNWMwOTFfYXVyb25wbGF5XzEwNTI3NDk4MjVfNjU4NTYwMzgvdGh1bWIvdGh1bWIxLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3RodW1iL3RodW1iMi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9iN2UyNjI4Njk1NzMzODA1YzA5MV9hdXJvbnBsYXlfMTA1Mjc0OTgyNV82NTg1NjAzOC90aHVtYi90aHVtYjMte3dpZHRofXh7aGVpZ2h0fS5qcGcifV19LCJmcHMiOnsiMTYwcDMwIjoyOS45OTY4NTAyNDI5MjA1NDQsIjM2MHAzMCI6MjkuOTk2ODUwMjQyOTIwNTQ0LCI0ODBwMzAiOjI5Ljk5Njg1MDI0MjkyMDU0NCwiNzIwcDMwIjoyOS45OTY4NTAyNDI5MjA1NDQsIjcyMHA2MCI6NTkuOTg5NDkzMzQ0MDg4MjksImNodW5rZWQiOjU5Ljk4OTQ5MzM0NDA4ODI5fSwic2Vla19wcmV2aWV3c191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0L2I3ZTI2Mjg2OTU3MzM4MDVjMDkxX2F1cm9ucGxheV8xMDUyNzQ5ODI1XzY1ODU2MDM4L3N0b3J5Ym9hcmRzLzU4MTQ1MjMwNC1pbmZvLmpzb24iLCJyZXNvbHV0aW9ucyI6eyIxNjBwMzAiOiIyODR4MTYwIiwiMzYwcDMwIjoiNjQweDM2MCIsIjQ4MHAzMCI6Ijg1Mng0ODAiLCI3MjBwMzAiOiIxMjgweDcyMCIsIjcyMHA2MCI6IjEyODB4NzIwIiwiY2h1bmtlZCI6IjE5MjB4MTA4MCJ9LCJyZXN0cmljdGlvbiI6IiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi8J+RuSBFQ0NDQ0NTVFJFTU8g8J+RuSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZXMiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImF1cm9ucGxheSIsImdhbWUiOiJNaW5lY3JhZnQiLCJsYW5ndWFnZSI6ImVzIiwiX2lkIjo0NTkzMzE1MDksIm5hbWUiOiJhdXJvbnBsYXkiLCJjcmVhdGVkX2F0IjoiMjAxOS0wOS0wM1QxNDowMjo0OS4wMTUyNVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzowNi4xNzA2MDJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZWM4OThlNGEtZTBkZi00ZGMwLWE5OWQtNzU0MGM2ZGJlMWU4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E2ZDBlNjU1LWRhMzUtNDIwYS1iNzYzLTlmMWYzYjY3ZDYyMS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOWNiZGExYjctMzZkZi00Zjg4LWI1YTItMTg0NTA1NGQ5NTUwLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9hdXJvbnBsYXkiLCJ2aWV3cyI6MTQyNTQ5OTksImZvbGxvd2VycyI6MjE1Nzk5MywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6ImZlbGl6IHBlcm8gbm8gbXVjaG8gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sImluY3JlbWVudF92aWV3X2NvdW50X3VybCI6Imh0dHBzOi8vY291bnRlc3MudHdpdGNoLnR2L3BpbmcuZ2lmP3U9JTdCJTIyaWQlMjIlM0ElMjI1ODE0NTIzMDQlMjIlMkMlMjJ0eXBlJTIyJTNBJTIydm9kJTIyJTdEIn0seyJ0aXRsZSI6Ikthcm1hbGFuZCBUZW1wb3JhZGEgMyBkZWwgYW5pbWUgLSBVbiBOdWV2byBEZXNwZXJ0YXIiLCJkZXNjcmlwdGlvbiI6bnVsbCwiZGVzY3JpcHRpb25faHRtbCI6bnVsbCwiYnJvYWRjYXN0X2lkIjoxMDQ0MDUxNzI5LCJicm9hZGNhc3RfdHlwZSI6ImFyY2hpdmUiLCJzdGF0dXMiOiJyZWNvcmRlZCIsInRhZ19saXN0IjoiIiwidmlld3MiOjM3NDIyNiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3ZpZGVvcy81ODA4MjI3ODUiLCJsYW5ndWFnZSI6ImVzIiwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDFUMTk6MDY6MTZaIiwidmlld2FibGUiOiJwdWJsaWMiLCJ2aWV3YWJsZV9hdCI6bnVsbCwicHVibGlzaGVkX2F0IjoiMjAyMC0wNC0wMVQxOTowNjoxNloiLCJkZWxldGVfYXQiOiIyMDIwLTA1LTMxVDE5OjA2OjE2WiIsIl9pZCI6InY1ODA4MjI3ODUiLCJyZWNvcmRlZF9hdCI6IjIwMjAtMDQtMDFUMTk6MDY6MTVaIiwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJsZW5ndGgiOjE1ODE5LCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIwLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImFuaW1hdGVkX3ByZXZpZXdfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC85ZTQ4Mjg3MDFjMTA1ZGQ2ZTk1Zl9ydWJpdXNfMTA0NDA1MTcyOV82NTMxMjM4My9zdG9yeWJvYXJkcy81ODA4MjI3ODUtc3RyaXAtMC5qcGciLCJ0aHVtYm5haWxzIjp7InNtYWxsIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMC04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIxLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC85ZTQ4Mjg3MDFjMTA1ZGQ2ZTk1Zl9ydWJpdXNfMTA0NDA1MTcyOV82NTMxMjM4My90aHVtYi90aHVtYjItODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMy04MHg0NS5qcGcifV0sIm1lZGl1bSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC85ZTQ4Mjg3MDFjMTA1ZGQ2ZTk1Zl9ydWJpdXNfMTA0NDA1MTcyOV82NTMxMjM4My90aHVtYi90aHVtYjAtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIxLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMi0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC85ZTQ4Mjg3MDFjMTA1ZGQ2ZTk1Zl9ydWJpdXNfMTA0NDA1MTcyOV82NTMxMjM4My90aHVtYi90aHVtYjMtMzIweDE4MC5qcGcifV0sImxhcmdlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMC02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC85ZTQ4Mjg3MDFjMTA1ZGQ2ZTk1Zl9ydWJpdXNfMTA0NDA1MTcyOV82NTMxMjM4My90aHVtYi90aHVtYjEtNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIyLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMy02NDB4MzYwLmpwZyJ9XSwidGVtcGxhdGUiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3RodW1iL3RodW1iMS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC85ZTQ4Mjg3MDFjMTA1ZGQ2ZTk1Zl9ydWJpdXNfMTA0NDA1MTcyOV82NTMxMjM4My90aHVtYi90aHVtYjIte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOWU0ODI4NzAxYzEwNWRkNmU5NWZfcnViaXVzXzEwNDQwNTE3MjlfNjUzMTIzODMvdGh1bWIvdGh1bWIzLXt3aWR0aH14e2hlaWdodH0uanBnIn1dfSwiZnBzIjp7IjE2MHAzMCI6MzAuMDE3MzEzMDI0NjQzODE2LCIzNjBwMzAiOjMwLjAxNzMxMzAyNDY0MzgxNiwiNDgwcDMwIjozMC4wMTczMTMwMjQ2NDM4MTYsIjcyMHAzMCI6MzAuMDE3MzEzMDI0NjQzODE2LCI3MjBwNjAiOjU5Ljk5NjQ0NDg0OTkxMjQ4NiwiY2h1bmtlZCI6NTkuOTk2NDQ0ODQ5OTEyNDg2fSwic2Vla19wcmV2aWV3c191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0LzllNDgyODcwMWMxMDVkZDZlOTVmX3J1Yml1c18xMDQ0MDUxNzI5XzY1MzEyMzgzL3N0b3J5Ym9hcmRzLzU4MDgyMjc4NS1pbmZvLmpzb24iLCJyZXNvbHV0aW9ucyI6eyIxNjBwMzAiOiIyODR4MTYwIiwiMzYwcDMwIjoiNjQweDM2MCIsIjQ4MHAzMCI6Ijg1Mng0ODAiLCI3MjBwMzAiOiIxMjgweDcyMCIsIjcyMHA2MCI6IjEyODB4NzIwIiwiY2h1bmtlZCI6IjE5MjB4MTA4MCJ9LCJyZXN0cmljdGlvbiI6IiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiS2FybWFsYW5kIC0gKHByb2JsZW1hcyB0ZWNuaWNvcywgYSBsbyBtZWpvciBGKSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZXMiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlJ1Yml1cyIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlcyIsIl9pZCI6MzkyNzYxNDAsIm5hbWUiOiJydWJpdXMiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xMlQxODo0Njo1Ni41NjM0NTFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6MzYuMTYwNTFaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTI1OTJlOTgtNWJhNi00YzlhLTlkOWUtY2YwMzZkNmY2NGMyLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E1YWM2Yzg2LWE0YjAtNDE3Ni1hNzBhLTg4MzU0ZGQ3YThiNy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDFkMjBkYzItNzljMS00N2JiLTlmYWEtMGM4NDYwODU3ZTFkLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3J1Yml1cyIsInZpZXdzIjo0Njk5MTA2NCwiZm9sbG93ZXJzIjozNzkwMjY3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sImluY3JlbWVudF92aWV3X2NvdW50X3VybCI6Imh0dHBzOi8vY291bnRlc3MudHdpdGNoLnR2L3BpbmcuZ2lmP3U9JTdCJTIyaWQlMjIlM0ElMjI1ODA4MjI3ODUlMjIlMkMlMjJ0eXBlJTIyJTNBJTIydm9kJTIyJTdEIn0seyJ0aXRsZSI6IuKYoO+4jyBFQ1NUUkVNTyB8fCBZQSBURU5FTU9TIFNIQURFUlMg4pig77iPIiwiZGVzY3JpcHRpb24iOm51bGwsImRlc2NyaXB0aW9uX2h0bWwiOm51bGwsImJyb2FkY2FzdF9pZCI6MTA0MDg2NTM0NSwiYnJvYWRjYXN0X3R5cGUiOiJhcmNoaXZlIiwic3RhdHVzIjoicmVjb3JkZWQiLCJ0YWdfbGlzdCI6IiIsInZpZXdzIjozMzM1NTgsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di92aWRlb3MvNTgwNjYzMzAzIiwibGFuZ3VhZ2UiOiJlcyIsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTAxVDE1OjM4OjUzWiIsInZpZXdhYmxlIjoicHVibGljIiwidmlld2FibGVfYXQiOm51bGwsInB1Ymxpc2hlZF9hdCI6IjIwMjAtMDQtMDFUMTU6Mzg6NTNaIiwiZGVsZXRlX2F0IjoiMjAyMC0wNS0zMVQxNTozODo1M1oiLCJfaWQiOiJ2NTgwNjYzMzAzIiwicmVjb3JkZWRfYXQiOiIyMDIwLTA0LTAxVDE1OjM4OjUyWiIsImdhbWUiOiJNaW5lY3JhZnQiLCJsZW5ndGgiOjgzMjAsInByZXZpZXciOnsic21hbGwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIwLTgweDQ1LmpwZyIsIm1lZGl1bSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjAtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjAtNjQweDM2MC5qcGciLCJ0ZW1wbGF0ZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjAte3dpZHRofXh7aGVpZ2h0fS5qcGcifSwiYW5pbWF0ZWRfcHJldmlld191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3N0b3J5Ym9hcmRzLzU4MDY2MzMwMy1zdHJpcC0wLmpwZyIsInRodW1ibmFpbHMiOnsic21hbGwiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIwLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjEtODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3RodW1iL3RodW1iMi04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIzLTgweDQ1LmpwZyJ9XSwibWVkaXVtIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3RodW1iL3RodW1iMC0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjEtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIyLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3RodW1iL3RodW1iMy0zMjB4MTgwLmpwZyJ9XSwibGFyZ2UiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3RodW1iL3RodW1iMS02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjItNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIzLTY0MHgzNjAuanBnIn1dLCJ0ZW1wbGF0ZSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjAte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvOGVhOTU4YzI0OWU4ODQwY2MwYmFfYXVyb25wbGF5XzEwNDA4NjUzNDVfNjUxMTMyMzIvdGh1bWIvdGh1bWIxLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3RodW1iL3RodW1iMi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC84ZWE5NThjMjQ5ZTg4NDBjYzBiYV9hdXJvbnBsYXlfMTA0MDg2NTM0NV82NTExMzIzMi90aHVtYi90aHVtYjMte3dpZHRofXh7aGVpZ2h0fS5qcGcifV19LCJmcHMiOnsiMTYwcDMwIjoyOS45OTY3MTAyMDk2MTI2NTUsIjM2MHAzMCI6MjkuOTk2NzEwMjA5NjEyNjU1LCI0ODBwMzAiOjI5Ljk5NjcxMDIwOTYxMjY1NSwiNzIwcDMwIjoyOS45OTY3MTAyMDk2MTI2NTUsIjcyMHA2MCI6NTkuOTgzNzk5OTg1MDk3OTEsImNodW5rZWQiOjU5Ljk4Mzc5OTk4NTA5NzkxfSwic2Vla19wcmV2aWV3c191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0LzhlYTk1OGMyNDllODg0MGNjMGJhX2F1cm9ucGxheV8xMDQwODY1MzQ1XzY1MTEzMjMyL3N0b3J5Ym9hcmRzLzU4MDY2MzMwMy1pbmZvLmpzb24iLCJyZXNvbHV0aW9ucyI6eyIxNjBwMzAiOiIyODR4MTYwIiwiMzYwcDMwIjoiNjQweDM2MCIsIjQ4MHAzMCI6Ijg1Mng0ODAiLCI3MjBwMzAiOiIxMjgweDcyMCIsIjcyMHA2MCI6IjEyODB4NzIwIiwiY2h1bmtlZCI6IjE5MjB4MTA4MCJ9LCJyZXN0cmljdGlvbiI6IiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoi8J+RuSBFQ0NDQ0NTVFJFTU8g8J+RuSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZXMiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6ImF1cm9ucGxheSIsImdhbWUiOiJNaW5lY3JhZnQiLCJsYW5ndWFnZSI6ImVzIiwiX2lkIjo0NTkzMzE1MDksIm5hbWUiOiJhdXJvbnBsYXkiLCJjcmVhdGVkX2F0IjoiMjAxOS0wOS0wM1QxNDowMjo0OS4wMTUyNVoiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzowNi4xNzA2MDJaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvZWM4OThlNGEtZTBkZi00ZGMwLWE5OWQtNzU0MGM2ZGJlMWU4LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E2ZDBlNjU1LWRhMzUtNDIwYS1iNzYzLTlmMWYzYjY3ZDYyMS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvOWNiZGExYjctMzZkZi00Zjg4LWI1YTItMTg0NTA1NGQ5NTUwLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9hdXJvbnBsYXkiLCJ2aWV3cyI6MTQyNTQ5OTksImZvbGxvd2VycyI6MjE1Nzk5MywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6ImZlbGl6IHBlcm8gbm8gbXVjaG8gIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sImluY3JlbWVudF92aWV3X2NvdW50X3VybCI6Imh0dHBzOi8vY291bnRlc3MudHdpdGNoLnR2L3BpbmcuZ2lmP3U9JTdCJTIyaWQlMjIlM0ElMjI1ODA2NjMzMDMlMjIlMkMlMjJ0eXBlJTIyJTNBJTIydm9kJTIyJTdEIn0seyJ0aXRsZSI6IvCfkbkgRUNDQ0NDU1RSRU1PIPCfkbkiLCJkZXNjcmlwdGlvbiI6bnVsbCwiZGVzY3JpcHRpb25faHRtbCI6bnVsbCwiYnJvYWRjYXN0X2lkIjoxMDY1ODE3NzkzLCJicm9hZGNhc3RfdHlwZSI6ImFyY2hpdmUiLCJzdGF0dXMiOiJyZWNvcmRlZCIsInRhZ19saXN0IjoiIiwidmlld3MiOjMyMzU3NywidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3ZpZGVvcy81ODIyOTYzNDQiLCJsYW5ndWFnZSI6ImVzIiwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDNUMTU6MzA6NDJaIiwidmlld2FibGUiOiJwdWJsaWMiLCJ2aWV3YWJsZV9hdCI6bnVsbCwicHVibGlzaGVkX2F0IjoiMjAyMC0wNC0wM1QxNTozMDo0MloiLCJkZWxldGVfYXQiOiIyMDIwLTA2LTAyVDE1OjMwOjQyWiIsIl9pZCI6InY1ODIyOTYzNDQiLCJyZWNvcmRlZF9hdCI6IjIwMjAtMDQtMDNUMTU6MzA6NDFaIiwiZ2FtZSI6Ik1pbmVjcmFmdCIsImxlbmd0aCI6ODIzNiwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjAtODB4NDUuanBnIiwibWVkaXVtIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMC0zMjB4MTgwLmpwZyIsImxhcmdlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LCJhbmltYXRlZF9wcmV2aWV3X3VybCI6Imh0dHBzOi8vZDJudnMzMTg1OXpjZDguY2xvdWRmcm9udC5uZXQvNDBiNDAyMmY1ZTBjNDNhYWE3YjVfYXVyb25wbGF5XzEwNjU4MTc3OTNfNjY2NzI4MTgvc3Rvcnlib2FyZHMvNTgyMjk2MzQ0LXN0cmlwLTAuanBnIiwidGh1bWJuYWlscyI6eyJzbWFsbCI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjAtODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMS04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDBiNDAyMmY1ZTBjNDNhYWE3YjVfYXVyb25wbGF5XzEwNjU4MTc3OTNfNjY2NzI4MTgvdGh1bWIvdGh1bWIyLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjMtODB4NDUuanBnIn1dLCJtZWRpdW0iOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDBiNDAyMmY1ZTBjNDNhYWE3YjVfYXVyb25wbGF5XzEwNjU4MTc3OTNfNjY2NzI4MTgvdGh1bWIvdGh1bWIwLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMS0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjItMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDBiNDAyMmY1ZTBjNDNhYWE3YjVfYXVyb25wbGF5XzEwNjU4MTc3OTNfNjY2NzI4MTgvdGh1bWIvdGh1bWIzLTMyMHgxODAuanBnIn1dLCJsYXJnZSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjAtNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDBiNDAyMmY1ZTBjNDNhYWE3YjVfYXVyb25wbGF5XzEwNjU4MTc3OTNfNjY2NzI4MTgvdGh1bWIvdGh1bWIxLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMi02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjMtNjQweDM2MC5qcGcifV0sInRlbXBsYXRlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC90aHVtYi90aHVtYjEte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNDBiNDAyMmY1ZTBjNDNhYWE3YjVfYXVyb25wbGF5XzEwNjU4MTc3OTNfNjY2NzI4MTgvdGh1bWIvdGh1bWIyLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzQwYjQwMjJmNWUwYzQzYWFhN2I1X2F1cm9ucGxheV8xMDY1ODE3NzkzXzY2NjcyODE4L3RodW1iL3RodW1iMy17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9XX0sImZwcyI6eyIxNjBwMzAiOjI5Ljk5NjYwMDEyNjI4MTAyNCwiMzYwcDMwIjoyOS45OTY2MDAxMjYyODEwMjQsIjQ4MHAzMCI6MjkuOTk2NjAwMTI2MjgxMDI0LCI3MjBwMzAiOjI5Ljk5NjYwMDEyNjI4MTAyNCwiNzIwcDYwIjo1OS45ODI5MjU4MTAwNzEsImNodW5rZWQiOjU5Ljk4MjkyNTgxMDA3MX0sInNlZWtfcHJldmlld3NfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC80MGI0MDIyZjVlMGM0M2FhYTdiNV9hdXJvbnBsYXlfMTA2NTgxNzc5M182NjY3MjgxOC9zdG9yeWJvYXJkcy81ODIyOTYzNDQtaW5mby5qc29uIiwicmVzb2x1dGlvbnMiOnsiMTYwcDMwIjoiMjg0eDE2MCIsIjM2MHAzMCI6IjY0MHgzNjAiLCI0ODBwMzAiOiI4NTJ4NDgwIiwiNzIwcDMwIjoiMTI4MHg3MjAiLCI3MjBwNjAiOiIxMjgweDcyMCIsImNodW5rZWQiOiIxOTIweDEwODAifSwicmVzdHJpY3Rpb24iOiIiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6IvCfkbkgRUNDQ0NDU1RSRU1PIPCfkbkiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVzIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJhdXJvbnBsYXkiLCJnYW1lIjoiTWluZWNyYWZ0IiwibGFuZ3VhZ2UiOiJlcyIsIl9pZCI6NDU5MzMxNTA5LCJuYW1lIjoiYXVyb25wbGF5IiwiY3JlYXRlZF9hdCI6IjIwMTktMDktMDNUMTQ6MDI6NDkuMDE1MjVaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTc6MDYuMTcwNjAyWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2VjODk4ZTRhLWUwZGYtNGRjMC1hOTlkLTc1NDBjNmRiZTFlOC1wcm9maWxlX2ltYWdlLTMwMHgzMDAucG5nIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hNmQwZTY1NS1kYTM1LTQyMGEtYjc2My05ZjFmM2I2N2Q2MjEtY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzljYmRhMWI3LTM2ZGYtNGY4OC1iNWEyLTE4NDUwNTRkOTU1MC1wcm9maWxlX2Jhbm5lci00ODAuanBlZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYXVyb25wbGF5Iiwidmlld3MiOjE0MjU0OTk5LCJmb2xsb3dlcnMiOjIxNTc5OTMsImJyb2FkY2FzdGVyX3R5cGUiOiJwYXJ0bmVyIiwiZGVzY3JpcHRpb24iOiJmZWxpeiBwZXJvIG5vIG11Y2hvICIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJpbmNyZW1lbnRfdmlld19jb3VudF91cmwiOiJodHRwczovL2NvdW50ZXNzLnR3aXRjaC50di9waW5nLmdpZj91PSU3QiUyMmlkJTIyJTNBJTIyNTgyMjk2MzQ0JTIyJTJDJTIydHlwZSUyMiUzQSUyMnZvZCUyMiU3RCJ9LHsidGl0bGUiOiJSZXNpZGVudGUgQm9vbWVyIDMiLCJkZXNjcmlwdGlvbiI6bnVsbCwiZGVzY3JpcHRpb25faHRtbCI6bnVsbCwiYnJvYWRjYXN0X2lkIjoxMDU2NjIwODQ5LCJicm9hZGNhc3RfdHlwZSI6ImFyY2hpdmUiLCJzdGF0dXMiOiJyZWNvcmRlZCIsInRhZ19saXN0IjoiIiwidmlld3MiOjIyMzk3NiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3ZpZGVvcy81ODE2NDA1MzMiLCJsYW5ndWFnZSI6ImVzIiwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDJUMTk6MTc6NDlaIiwidmlld2FibGUiOiJwdWJsaWMiLCJ2aWV3YWJsZV9hdCI6bnVsbCwicHVibGlzaGVkX2F0IjoiMjAyMC0wNC0wMlQxOToxNzo0OVoiLCJkZWxldGVfYXQiOiIyMDIwLTA2LTAxVDE5OjE3OjQ5WiIsIl9pZCI6InY1ODE2NDA1MzMiLCJyZWNvcmRlZF9hdCI6IjIwMjAtMDQtMDJUMTk6MTc6NDhaIiwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJsZW5ndGgiOjE3MzA4LCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIwLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImFuaW1hdGVkX3ByZXZpZXdfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny9zdG9yeWJvYXJkcy81ODE2NDA1MzMtc3RyaXAtMC5qcGciLCJ0aHVtYm5haWxzIjp7InNtYWxsIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMC04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIxLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny90aHVtYi90aHVtYjItODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMy04MHg0NS5qcGcifV0sIm1lZGl1bSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny90aHVtYi90aHVtYjAtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIxLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMi0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny90aHVtYi90aHVtYjMtMzIweDE4MC5qcGcifV0sImxhcmdlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMC02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny90aHVtYi90aHVtYjEtNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIyLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMy02NDB4MzYwLmpwZyJ9XSwidGVtcGxhdGUiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2Y3ZDA5ZWY2ZDhjYjEwNWU5MTFkX3J1Yml1c18xMDU2NjIwODQ5XzY2MDk3OTg3L3RodW1iL3RodW1iMS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny90aHVtYi90aHVtYjIte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvZjdkMDllZjZkOGNiMTA1ZTkxMWRfcnViaXVzXzEwNTY2MjA4NDlfNjYwOTc5ODcvdGh1bWIvdGh1bWIzLXt3aWR0aH14e2hlaWdodH0uanBnIn1dfSwiZnBzIjp7IjE2MHAzMCI6MzAuMDEwNjg3NTIyMzM3ODkzLCIzNjBwMzAiOjMwLjAxMDY4NzUyMjMzNzg5MywiNDgwcDMwIjozMC4wMTA2ODc1MjIzMzc4OTMsIjcyMHAzMCI6MzAuMDEwNjg3NTIyMzM3ODkzLCI3MjBwNjAiOjU5Ljk5Njc2MjE5NzI1NDc1LCJjaHVua2VkIjo1OS45OTY3NjIxOTcyNTQ3NX0sInNlZWtfcHJldmlld3NfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC9mN2QwOWVmNmQ4Y2IxMDVlOTExZF9ydWJpdXNfMTA1NjYyMDg0OV82NjA5Nzk4Ny9zdG9yeWJvYXJkcy81ODE2NDA1MzMtaW5mby5qc29uIiwicmVzb2x1dGlvbnMiOnsiMTYwcDMwIjoiMjg0eDE2MCIsIjM2MHAzMCI6IjY0MHgzNjAiLCI0ODBwMzAiOiI4NTJ4NDgwIiwiNzIwcDMwIjoiMTI4MHg3MjAiLCI3MjBwNjAiOiIxMjgweDcyMCIsImNodW5rZWQiOiIxOTIweDEwODAifSwicmVzdHJpY3Rpb24iOiIiLCJjaGFubmVsIjp7Im1hdHVyZSI6ZmFsc2UsInN0YXR1cyI6Ikthcm1hbGFuZCAtIChwcm9ibGVtYXMgdGVjbmljb3MsIGEgbG8gbWVqb3IgRikiLCJicm9hZGNhc3Rlcl9sYW5ndWFnZSI6ImVzIiwiYnJvYWRjYXN0ZXJfc29mdHdhcmUiOiJ1bmtub3duX3J0bXAiLCJkaXNwbGF5X25hbWUiOiJSdWJpdXMiLCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImxhbmd1YWdlIjoiZXMiLCJfaWQiOjM5Mjc2MTQwLCJuYW1lIjoicnViaXVzIiwiY3JlYXRlZF9hdCI6IjIwMTMtMDEtMTJUMTg6NDY6NTYuNTYzNDUxWiIsInVwZGF0ZWRfYXQiOiIyMDIwLTA0LTA1VDEyOjU1OjM2LjE2MDUxWiIsInBhcnRuZXIiOnRydWUsImxvZ28iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2EyNTkyZTk4LTViYTYtNGM5YS05ZDllLWNmMDM2ZDZmNjRjMi1wcm9maWxlX2ltYWdlLTMwMHgzMDAuanBnIiwidmlkZW9fYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy9hNWFjNmM4Ni1hNGIwLTQxNzYtYTcwYS04ODM1NGRkN2E4YjctY2hhbm5lbF9vZmZsaW5lX2ltYWdlLTE5MjB4MTA4MC5qcGVnIiwicHJvZmlsZV9iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzLzQxZDIwZGMyLTc5YzEtNDdiYi05ZmFhLTBjODQ2MDg1N2UxZC1wcm9maWxlX2Jhbm5lci00ODAuanBnIiwicHJvZmlsZV9iYW5uZXJfYmFja2dyb3VuZF9jb2xvciI6IiIsInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di9ydWJpdXMiLCJ2aWV3cyI6NDY5OTEwNjQsImZvbGxvd2VycyI6Mzc5MDI2NywiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IiIsInByaXZhdGVfdmlkZW8iOmZhbHNlLCJwcml2YWN5X29wdGlvbnNfZW5hYmxlZCI6ZmFsc2V9LCJpbmNyZW1lbnRfdmlld19jb3VudF91cmwiOiJodHRwczovL2NvdW50ZXNzLnR3aXRjaC50di9waW5nLmdpZj91PSU3QiUyMmlkJTIyJTNBJTIyNTgxNjQwNTMzJTIyJTJDJTIydHlwZSUyMiUzQSUyMnZvZCUyMiU3RCJ9LHsidGl0bGUiOiJGaW5hbCBkZSBSRTMgeSBWUmNoYXQiLCJkZXNjcmlwdGlvbiI6bnVsbCwiZGVzY3JpcHRpb25faHRtbCI6bnVsbCwiYnJvYWRjYXN0X2lkIjoxMDY5Nzg3MzEzLCJicm9hZGNhc3RfdHlwZSI6ImFyY2hpdmUiLCJzdGF0dXMiOiJyZWNvcmRlZCIsInRhZ19saXN0IjoiIiwidmlld3MiOjE3MDA1OSwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3ZpZGVvcy81ODI0OTQxNzEiLCJsYW5ndWFnZSI6ImVzIiwiY3JlYXRlZF9hdCI6IjIwMjAtMDQtMDNUMTk6NDA6NThaIiwidmlld2FibGUiOiJwdWJsaWMiLCJ2aWV3YWJsZV9hdCI6bnVsbCwicHVibGlzaGVkX2F0IjoiMjAyMC0wNC0wM1QxOTo0MDo1OFoiLCJkZWxldGVfYXQiOiIyMDIwLTA2LTAyVDE5OjQwOjU4WiIsIl9pZCI6InY1ODI0OTQxNzEiLCJyZWNvcmRlZF9hdCI6IjIwMjAtMDQtMDNUMTk6NDA6NTdaIiwiZ2FtZSI6Ikp1c3QgQ2hhdHRpbmciLCJsZW5ndGgiOjIyODQ2LCJwcmV2aWV3Ijp7InNtYWxsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIwLTMyMHgxODAuanBnIiwibGFyZ2UiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIiwidGVtcGxhdGUiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImFuaW1hdGVkX3ByZXZpZXdfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC9jOGYyMmI5MmY4NTcyNjA3NDFiMV9ydWJpdXNfMTA2OTc4NzMxM182NjkyMDkxNS9zdG9yeWJvYXJkcy81ODI0OTQxNzEtc3RyaXAtMC5qcGciLCJ0aHVtYm5haWxzIjp7InNtYWxsIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMC04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIxLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9jOGYyMmI5MmY4NTcyNjA3NDFiMV9ydWJpdXNfMTA2OTc4NzMxM182NjkyMDkxNS90aHVtYi90aHVtYjItODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMy04MHg0NS5qcGcifV0sIm1lZGl1bSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9jOGYyMmI5MmY4NTcyNjA3NDFiMV9ydWJpdXNfMTA2OTc4NzMxM182NjkyMDkxNS90aHVtYi90aHVtYjAtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIxLTMyMHgxODAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMi0zMjB4MTgwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9jOGYyMmI5MmY4NTcyNjA3NDFiMV9ydWJpdXNfMTA2OTc4NzMxM182NjkyMDkxNS90aHVtYi90aHVtYjMtMzIweDE4MC5qcGcifV0sImxhcmdlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMC02NDB4MzYwLmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9jOGYyMmI5MmY4NTcyNjA3NDFiMV9ydWJpdXNfMTA2OTc4NzMxM182NjkyMDkxNS90aHVtYi90aHVtYjEtNjQweDM2MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIyLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMy02NDB4MzYwLmpwZyJ9XSwidGVtcGxhdGUiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3RodW1iL3RodW1iMS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC9jOGYyMmI5MmY4NTcyNjA3NDFiMV9ydWJpdXNfMTA2OTc4NzMxM182NjkyMDkxNS90aHVtYi90aHVtYjIte3dpZHRofXh7aGVpZ2h0fS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvYzhmMjJiOTJmODU3MjYwNzQxYjFfcnViaXVzXzEwNjk3ODczMTNfNjY5MjA5MTUvdGh1bWIvdGh1bWIzLXt3aWR0aH14e2hlaWdodH0uanBnIn1dfSwiZnBzIjp7IjE2MHAzMCI6MzAuMDIzODE5MjcxMDAyMjM1LCIzNjBwMzAiOjMwLjAyMzgxOTI3MTAwMjIzNSwiNDgwcDMwIjozMC4wMjM4MTkyNzEwMDIyMzUsIjcyMHAzMCI6MzAuMDIzODE5MjcxMDAyMjM1LCI3MjBwNjAiOjU5Ljk5NzUyMTczNDgyNzYzNiwiY2h1bmtlZCI6NTkuOTk3NTIxNzM0ODI3NjM2fSwic2Vla19wcmV2aWV3c191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0L2M4ZjIyYjkyZjg1NzI2MDc0MWIxX3J1Yml1c18xMDY5Nzg3MzEzXzY2OTIwOTE1L3N0b3J5Ym9hcmRzLzU4MjQ5NDE3MS1pbmZvLmpzb24iLCJyZXNvbHV0aW9ucyI6eyIxNjBwMzAiOiIyODR4MTYwIiwiMzYwcDMwIjoiNjQweDM2MCIsIjQ4MHAzMCI6Ijg1Mng0ODAiLCI3MjBwMzAiOiIxMjgweDcyMCIsIjcyMHA2MCI6IjEyODB4NzIwIiwiY2h1bmtlZCI6IjE5MjB4MTA4MCJ9LCJyZXN0cmljdGlvbiI6IiIsImNoYW5uZWwiOnsibWF0dXJlIjpmYWxzZSwic3RhdHVzIjoiS2FybWFsYW5kIC0gKHByb2JsZW1hcyB0ZWNuaWNvcywgYSBsbyBtZWpvciBGKSIsImJyb2FkY2FzdGVyX2xhbmd1YWdlIjoiZXMiLCJicm9hZGNhc3Rlcl9zb2Z0d2FyZSI6InVua25vd25fcnRtcCIsImRpc3BsYXlfbmFtZSI6IlJ1Yml1cyIsImdhbWUiOiJKdXN0IENoYXR0aW5nIiwibGFuZ3VhZ2UiOiJlcyIsIl9pZCI6MzkyNzYxNDAsIm5hbWUiOiJydWJpdXMiLCJjcmVhdGVkX2F0IjoiMjAxMy0wMS0xMlQxODo0Njo1Ni41NjM0NTFaIiwidXBkYXRlZF9hdCI6IjIwMjAtMDQtMDVUMTI6NTU6MzYuMTYwNTFaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvYTI1OTJlOTgtNWJhNi00YzlhLTlkOWUtY2YwMzZkNmY2NGMyLXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5qcGciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2E1YWM2Yzg2LWE0YjAtNDE3Ni1hNzBhLTg4MzU0ZGQ3YThiNy1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLmpwZWciLCJwcm9maWxlX2Jhbm5lciI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvNDFkMjBkYzItNzljMS00N2JiLTlmYWEtMGM4NDYwODU3ZTFkLXByb2ZpbGVfYmFubmVyLTQ4MC5qcGciLCJwcm9maWxlX2Jhbm5lcl9iYWNrZ3JvdW5kX2NvbG9yIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cudHdpdGNoLnR2L3J1Yml1cyIsInZpZXdzIjo0Njk5MTA2NCwiZm9sbG93ZXJzIjozNzkwMjY3LCJicm9hZGNhc3Rlcl90eXBlIjoicGFydG5lciIsImRlc2NyaXB0aW9uIjoiIiwicHJpdmF0ZV92aWRlbyI6ZmFsc2UsInByaXZhY3lfb3B0aW9uc19lbmFibGVkIjpmYWxzZX0sImluY3JlbWVudF92aWV3X2NvdW50X3VybCI6Imh0dHBzOi8vY291bnRlc3MudHdpdGNoLnR2L3BpbmcuZ2lmP3U9JTdCJTIyaWQlMjIlM0ElMjI1ODI0OTQxNzElMjIlMkMlMjJ0eXBlJTIyJTNBJTIydm9kJTIyJTdEIn0seyJ0aXRsZSI6IlFVSU5UT1UgQ09NIENBUkEgREUgU0VYVE9VIOKAlCBSRVNJREVOVCBFVklMIDMgUkVNQUtFIiwiZGVzY3JpcHRpb24iOm51bGwsImRlc2NyaXB0aW9uX2h0bWwiOm51bGwsImJyb2FkY2FzdF9pZCI6MTA1ODE4NzQ1NywiYnJvYWRjYXN0X3R5cGUiOiJhcmNoaXZlIiwic3RhdHVzIjoicmVjb3JkZWQiLCJ0YWdfbGlzdCI6IiIsInZpZXdzIjoxMTIyMTksInVybCI6Imh0dHBzOi8vd3d3LnR3aXRjaC50di92aWRlb3MvNTgxNzI3OTc1IiwibGFuZ3VhZ2UiOiJwdCIsImNyZWF0ZWRfYXQiOiIyMDIwLTA0LTAyVDIxOjA3OjI3WiIsInZpZXdhYmxlIjoicHVibGljIiwidmlld2FibGVfYXQiOm51bGwsInB1Ymxpc2hlZF9hdCI6IjIwMjAtMDQtMDJUMjE6MDc6MjdaIiwiX2lkIjoidjU4MTcyNzk3NSIsInJlY29yZGVkX2F0IjoiMjAyMC0wNC0wMlQyMTowNzoyNVoiLCJnYW1lIjoiUmVzaWRlbnQgRXZpbCAzIiwibGVuZ3RoIjoxNjY1MCwicHJldmlldyI6eyJzbWFsbCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMC04MHg0NS5qcGciLCJtZWRpdW0iOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjAtMzIweDE4MC5qcGciLCJsYXJnZSI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMC02NDB4MzYwLmpwZyIsInRlbXBsYXRlIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvdGh1bWIvdGh1bWIwLXt3aWR0aH14e2hlaWdodH0uanBnIn0sImFuaW1hdGVkX3ByZXZpZXdfdXJsIjoiaHR0cHM6Ly9kMm52czMxODU5emNkOC5jbG91ZGZyb250Lm5ldC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3N0b3J5Ym9hcmRzLzU4MTcyNzk3NS1zdHJpcC0wLmpwZyIsInRodW1ibmFpbHMiOnsic21hbGwiOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjAtODB4NDUuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvdGh1bWIvdGh1bWIxLTgweDQ1LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMi04MHg0NS5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjMtODB4NDUuanBnIn1dLCJtZWRpdW0iOlt7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjAtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjEtMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjItMzIweDE4MC5qcGcifSx7InR5cGUiOiJnZW5lcmF0ZWQiLCJ1cmwiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2NmX3ZvZHMvZDJudnMzMTg1OXpjZDgvNWU1ZmExNGFmNTE2NzljNDM0OGZfYWxhbnpva2FfMTA1ODE4NzQ1N182NjE5NTkwMS90aHVtYi90aHVtYjMtMzIweDE4MC5qcGcifV0sImxhcmdlIjpbeyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvdGh1bWIvdGh1bWIwLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvdGh1bWIvdGh1bWIxLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvdGh1bWIvdGh1bWIyLTY0MHgzNjAuanBnIn0seyJ0eXBlIjoiZ2VuZXJhdGVkIiwidXJsIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9jZl92b2RzL2QybnZzMzE4NTl6Y2Q4LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvdGh1bWIvdGh1bWIzLTY0MHgzNjAuanBnIn1dLCJ0ZW1wbGF0ZSI6W3sidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMC17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMS17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMi17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9LHsidHlwZSI6ImdlbmVyYXRlZCIsInVybCI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvY2Zfdm9kcy9kMm52czMxODU5emNkOC81ZTVmYTE0YWY1MTY3OWM0MzQ4Zl9hbGFuem9rYV8xMDU4MTg3NDU3XzY2MTk1OTAxL3RodW1iL3RodW1iMy17d2lkdGh9eHtoZWlnaHR9LmpwZyJ9XX0sImZwcyI6eyIxNjBwMzAiOjI5Ljk4Nzc3NjQ5MTQxNTgsIjM2MHAzMCI6MjkuOTg3Nzc2NDkxNDE1OCwiNDgwcDMwIjoyOS45ODc3NzY0OTE0MTU4LCI3MjBwMzAiOjI5Ljk4Nzc3NjQ5MTQxNTgsIjcyMHA2MCI6NTkuOTUzMjEwNDg0ODI5ODEsImNodW5rZWQiOjU5Ljk1MzIxMDQ4NDgyOTgxfSwic2Vla19wcmV2aWV3c191cmwiOiJodHRwczovL2QybnZzMzE4NTl6Y2Q4LmNsb3VkZnJvbnQubmV0LzVlNWZhMTRhZjUxNjc5YzQzNDhmX2FsYW56b2thXzEwNTgxODc0NTdfNjYxOTU5MDEvc3Rvcnlib2FyZHMvNTgxNzI3OTc1LWluZm8uanNvbiIsInJlc29sdXRpb25zIjp7IjE2MHAzMCI6IjI4NHgxNjAiLCIzNjBwMzAiOiI2NDB4MzYwIiwiNDgwcDMwIjoiODUyeDQ4MCIsIjcyMHAzMCI6IjEyODB4NzIwIiwiNzIwcDYwIjoiMTI4MHg3MjAiLCJjaHVua2VkIjoiMTkyMHgxMDgwIn0sInJlc3RyaWN0aW9uIjoiIiwiY2hhbm5lbCI6eyJtYXR1cmUiOmZhbHNlLCJzdGF0dXMiOiJGRUNIQU5ETyBBIFNFTUFOQSBDT00gRVNUSUxPIiwiYnJvYWRjYXN0ZXJfbGFuZ3VhZ2UiOiJwdCIsImJyb2FkY2FzdGVyX3NvZnR3YXJlIjoidW5rbm93bl9ydG1wIiwiZGlzcGxheV9uYW1lIjoiYWxhbnpva2EiLCJnYW1lIjoiSnVzdCBDaGF0dGluZyIsImxhbmd1YWdlIjoiZW4iLCJfaWQiOjM4MjQ0MTgwLCJuYW1lIjoiYWxhbnpva2EiLCJjcmVhdGVkX2F0IjoiMjAxMi0xMi0wNVQyMDoyNjo0MS4xNDM2MloiLCJ1cGRhdGVkX2F0IjoiMjAyMC0wNC0wNVQxMjo1NzowNC4yMDQ2NzlaIiwicGFydG5lciI6dHJ1ZSwibG9nbyI6Imh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvanR2X3VzZXJfcGljdHVyZXMvMTVjZWM5NTItYzFiYS00ZmY4LWE3OWMtNTNjMmZhNWJkMjY5LXByb2ZpbGVfaW1hZ2UtMzAweDMwMC5wbmciLCJ2aWRlb19iYW5uZXIiOiJodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2p0dl91c2VyX3BpY3R1cmVzL2ZkZGVlYjNkLTYwNGItNDRlYS1iNDkyLTJmZGJiZDU3ZGI5ZS1jaGFubmVsX29mZmxpbmVfaW1hZ2UtMTkyMHgxMDgwLnBuZyIsInByb2ZpbGVfYmFubmVyIjoiaHR0cHM6Ly9zdGF0aWMtY2RuLmp0dm53Lm5ldC9qdHZfdXNlcl9waWN0dXJlcy83N2YzOWM3Yy1hNTFmLTRjNmItODgwMS1jYTdiMWQ3MzdhMzQtcHJvZmlsZV9iYW5uZXItNDgwLnBuZyIsInByb2ZpbGVfYmFubmVyX2JhY2tncm91bmRfY29sb3IiOiIiLCJ1cmwiOiJodHRwczovL3d3dy50d2l0Y2gudHYvYWxhbnpva2EiLCJ2aWV3cyI6OTY3OTYxODgsImZvbGxvd2VycyI6MjY2NzgxMiwiYnJvYWRjYXN0ZXJfdHlwZSI6InBhcnRuZXIiLCJkZXNjcmlwdGlvbiI6IkFkb3JvIGpvZ29zIGVsZXRyw7RuaWNvcy4iLCJwcml2YXRlX3ZpZGVvIjpmYWxzZSwicHJpdmFjeV9vcHRpb25zX2VuYWJsZWQiOmZhbHNlfSwiaW5jcmVtZW50X3ZpZXdfY291bnRfdXJsIjoiaHR0cHM6Ly9jb3VudGVzcy50d2l0Y2gudHYvcGluZy5naWY/dT0lN0IlMjJpZCUyMiUzQSUyMjU4MTcyNzk3NSUyMiUyQyUyMnR5cGUlMjIlM0ElMjJ2b2QlMjIlN0QifV19 + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:25 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/update_channel/with_actual_access_token.yml b/spec/cassettes/update_channel/with_actual_access_token.yml new file mode 100644 index 0000000..d45eb87 --- /dev/null +++ b/spec/cassettes/update_channel/with_actual_access_token.yml @@ -0,0 +1,61 @@ +--- +http_interactions: +- request: + method: put + uri: https://api.twitch.tv/kraken/channels/277558749 + body: + encoding: UTF-8 + string: '{"channel":{"status":"Changing API","game":"Diablo III"}}' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + Content-Type: + - application/json + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '666' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:10 GMT + x-served-by: + - cache-sea4442-SEA, cache-hel6832-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091431.615103,VS0,VS0,VE222 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"mature":false,"status":"Changing API","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamAssistantBot","game":"Diablo + III","language":"en","_id":"277558749","name":"streamassistantbot","created_at":"2018-11-23T20:32:14Z","updated_at":"2020-04-05T09:21:53Z","partner":false,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/cbde4ea7-7186-4128-866d-bba7c5c479c3-profile_image-300x300.png","video_banner":null,"profile_banner":null,"profile_banner_background_color":null,"url":"https://www.twitch.tv/streamassistantbot","views":0,"followers":0,"broadcaster_type":"","description":"","private_video":false,"privacy_options_enabled":false}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:10 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/update_channel/with_outdated_access_token/with_refresh_token.yml b/spec/cassettes/update_channel/with_outdated_access_token/with_refresh_token.yml new file mode 100644 index 0000000..b2feef8 --- /dev/null +++ b/spec/cassettes/update_channel/with_outdated_access_token/with_refresh_token.yml @@ -0,0 +1,155 @@ +--- +http_interactions: +- request: + method: put + uri: https://api.twitch.tv/kraken/channels/277558749 + body: + encoding: UTF-8 + string: '{"channel":{"status":"Changing API","game":"Diablo III"}}' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + Content-Type: + - application/json + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:11 GMT + x-served-by: + - cache-sea4439-SEA, cache-hel6824-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091431.961619,VS0,VS0,VE193 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:11 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token= + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 200 + message: OK + headers: + date: + - Sun, 05 Apr 2020 12:57:12 GMT + content-type: + - application/json + content-length: + - '301' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5a7-296373034c4aafc48ba5139b + body: + encoding: UTF-8 + string: '{"access_token":"","expires_in":15533,"refresh_token":"","scope":["bits:read","channel_commercial","channel_editor","channel_read","channel_stream","user:read:email","user_blocks_edit","user_read"],"token_type":"bearer"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:12 GMT +- request: + method: put + uri: https://api.twitch.tv/kraken/channels/277558749 + body: + encoding: UTF-8 + string: '{"channel":{"status":"Changing API","game":"Diablo III"}}' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth d9widl8jgh5en07dtrhjyz3o954cfe + Content-Type: + - application/json + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '666' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:12 GMT + x-served-by: + - cache-sea4449-SEA, cache-hel6820-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091432.240685,VS0,VS0,VE243 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"mature":false,"status":"Changing API","broadcaster_language":"en","broadcaster_software":"","display_name":"StreamAssistantBot","game":"Diablo + III","language":"en","_id":"277558749","name":"streamassistantbot","created_at":"2018-11-23T20:32:14Z","updated_at":"2020-04-05T09:21:53Z","partner":false,"logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/cbde4ea7-7186-4128-866d-bba7c5c479c3-profile_image-300x300.png","video_banner":null,"profile_banner":null,"profile_banner_background_color":null,"url":"https://www.twitch.tv/streamassistantbot","views":0,"followers":0,"broadcaster_type":"","description":"","private_video":false,"privacy_options_enabled":false}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:12 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/update_channel/with_outdated_access_token/without_refresh_token.yml b/spec/cassettes/update_channel/with_outdated_access_token/without_refresh_token.yml new file mode 100644 index 0000000..7ed1aee --- /dev/null +++ b/spec/cassettes/update_channel/with_outdated_access_token/without_refresh_token.yml @@ -0,0 +1,97 @@ +--- +http_interactions: +- request: + method: put + uri: https://api.twitch.tv/kraken/channels/277558749 + body: + encoding: UTF-8 + string: '{"channel":{"status":"Changing API","game":"Diablo III"}}' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + Content-Type: + - application/json + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:12 GMT + x-served-by: + - cache-sea4469-SEA, cache-hel6828-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091433.615462,VS0,VS0,VE198 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:12 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 400 + message: Bad Request + headers: + date: + - Sun, 05 Apr 2020 12:57:13 GMT + content-type: + - application/json + content-length: + - '49' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5a9-583dc9dae63ffe5864ef3808 + body: + encoding: UTF-8 + string: '{"status":400,"message":"missing refresh token"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:13 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/user/with_argument/with_5xx_http_errors/when_fails_less_than_retries.yml b/spec/cassettes/user/with_argument/with_5xx_http_errors/when_fails_less_than_retries.yml new file mode 100644 index 0000000..7e294ac --- /dev/null +++ b/spec/cassettes/user/with_argument/with_5xx_http_errors/when_fails_less_than_retries.yml @@ -0,0 +1,223 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:31 GMT + x-served-by: + - cache-sea4445-SEA, cache-bma1647-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481491.010472,VS0,VS0,VE641 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:31 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:31 GMT + x-served-by: + - cache-sea4468-SEA, cache-bma1622-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481492.798118,VS0,VS0,VE166 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:31 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:32 GMT + x-served-by: + - cache-sea4436-SEA, cache-bma1635-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481492.110085,VS0,VS0,VE173 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:32 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:32 GMT + x-served-by: + - cache-sea4469-SEA, cache-bma1637-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481492.433557,VS0,VS0,VE171 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:32 GMT +recorded_with: VCR 6.0.0 diff --git a/spec/cassettes/user/with_argument/with_5xx_http_errors/when_fails_more_than_retries.yml b/spec/cassettes/user/with_argument/with_5xx_http_errors/when_fails_more_than_retries.yml new file mode 100644 index 0000000..8422374 --- /dev/null +++ b/spec/cassettes/user/with_argument/with_5xx_http_errors/when_fails_more_than_retries.yml @@ -0,0 +1,333 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:32 GMT + x-served-by: + - cache-sea4479-SEA, cache-bma1634-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481493.777366,VS0,VS0,VE173 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:32 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:33 GMT + x-served-by: + - cache-sea4471-SEA, cache-bma1650-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481493.092796,VS0,VS0,VE177 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:33 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:33 GMT + x-served-by: + - cache-sea4450-SEA, cache-bma1645-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481493.409113,VS0,VS0,VE178 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:33 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:34 GMT + x-served-by: + - cache-sea4421-SEA, cache-bma1641-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481494.731763,VS0,VS0,VE380 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:34 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:34 GMT + x-served-by: + - cache-sea4427-SEA, cache-bma1620-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481494.270403,VS0,VS0,VE172 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:34 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 503 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:34 GMT + x-served-by: + - cache-sea4426-SEA, cache-bma1639-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481495.593489,VS0,VS0,VE171 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:34 GMT +recorded_with: VCR 6.0.0 diff --git a/spec/cassettes/user/with_argument/with_connection_timed_out_errors/when_fails_less_than_retries.yml b/spec/cassettes/user/with_argument/with_connection_timed_out_errors/when_fails_less_than_retries.yml new file mode 100644 index 0000000..68d4f01 --- /dev/null +++ b/spec/cassettes/user/with_argument/with_connection_timed_out_errors/when_fails_less_than_retries.yml @@ -0,0 +1,58 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:30 GMT + x-served-by: + - cache-sea4441-SEA, cache-bma1624-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481491.674427,VS0,VS0,VE164 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"dallas","_id":"44322889","name":"dallas","type":"user","bio":"Friendly, + interactive, and very bald.","created_at":"2013-06-03T19:12:02.580593Z","updated_at":"2020-11-27T04:51:28.394108Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/4d1f36cbf1f0072d-profile_image-300x300.png"}' + recorded_at: Fri, 27 Nov 2020 12:51:30 GMT +recorded_with: VCR 6.0.0 diff --git a/spec/cassettes/user/with_argument/with_html_responses/response_body.yml b/spec/cassettes/user/with_argument/with_html_responses/response_body.yml new file mode 100644 index 0000000..e92365a --- /dev/null +++ b/spec/cassettes/user/with_argument/with_html_responses/response_body.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/users/44322889 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.1.0 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '303' + content-type: + - text/html; charset=UTF-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Fri, 27 Nov 2020 12:51:35 GMT + x-served-by: + - cache-sea4420-SEA, cache-bma1636-BMA + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1606481495.925695,VS0,VS0,VE172 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: | + + + Test + + +

Hello, world!

+ + + recorded_at: Fri, 27 Nov 2020 12:51:35 GMT +recorded_with: VCR 6.0.0 diff --git a/spec/cassettes/user/without_argument/with_actual_access_token.yml b/spec/cassettes/user/without_argument/with_actual_access_token.yml new file mode 100644 index 0000000..9b7ca1f --- /dev/null +++ b/spec/cassettes/user/without_argument/with_actual_access_token.yml @@ -0,0 +1,58 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/user + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '464' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:03 GMT + x-served-by: + - cache-sea4442-SEA, cache-hel6832-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091423.034783,VS0,VS0,VE209 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"StreamAssistantBot","_id":"277558749","name":"streamassistantbot","type":"user","bio":null,"created_at":"2018-11-23T20:32:14.972752Z","updated_at":"2020-04-05T09:21:53.30456Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/cbde4ea7-7186-4128-866d-bba7c5c479c3-profile_image-300x300.png","email":"stream.assistant.bot@outlook.com","email_verified":true,"partnered":false,"twitter_connected":false,"notifications":{"push":true,"email":true}}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:03 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/user/without_argument/with_outdated_access_token/with_refresh_token.yml b/spec/cassettes/user/without_argument/with_outdated_access_token/with_refresh_token.yml new file mode 100644 index 0000000..a4ac0c9 --- /dev/null +++ b/spec/cassettes/user/without_argument/with_outdated_access_token/with_refresh_token.yml @@ -0,0 +1,150 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/user + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:03 GMT + x-served-by: + - cache-sea4439-SEA, cache-hel6827-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091423.387736,VS0,VS0,VE199 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:03 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token= + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 200 + message: OK + headers: + date: + - Sun, 05 Apr 2020 12:57:04 GMT + content-type: + - application/json + content-length: + - '301' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5a0-a4eedaa2f687ce72a526ba2a + body: + encoding: UTF-8 + string: '{"access_token":"","expires_in":14179,"refresh_token":"","scope":["bits:read","channel_commercial","channel_editor","channel_read","channel_stream","user:read:email","user_blocks_edit","user_read"],"token_type":"bearer"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:04 GMT +- request: + method: get + uri: https://api.twitch.tv/kraken/user + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 4ohcpepmtz4c7lgo3f24ikvp3lddlu + response: + status: + code: 200 + message: OK + headers: + connection: + - keep-alive + content-length: + - '464' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:05 GMT + x-served-by: + - cache-sea4452-SEA, cache-hel6820-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091425.865689,VS0,VS0,VE212 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"display_name":"StreamAssistantBot","_id":"277558749","name":"streamassistantbot","type":"user","bio":null,"created_at":"2018-11-23T20:32:14.972752Z","updated_at":"2020-04-05T09:21:53.30456Z","logo":"https://static-cdn.jtvnw.net/jtv_user_pictures/cbde4ea7-7186-4128-866d-bba7c5c479c3-profile_image-300x300.png","email":"stream.assistant.bot@outlook.com","email_verified":true,"partnered":false,"twitter_connected":false,"notifications":{"push":true,"email":true}}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:05 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/cassettes/user/without_argument/with_outdated_access_token/without_refresh_token.yml b/spec/cassettes/user/without_argument/with_outdated_access_token/without_refresh_token.yml new file mode 100644 index 0000000..5a36835 --- /dev/null +++ b/spec/cassettes/user/without_argument/with_outdated_access_token/without_refresh_token.yml @@ -0,0 +1,95 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.twitch.tv/kraken/user + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.twitchtv.v5+json + User-Agent: + - Faraday v1.0.1 + Client-ID: + - "" + Authorization: + - OAuth 9y7bf00r4fof71czggal1e2wlo50q3 + response: + status: + code: 401 + message: Unauthorized + headers: + connection: + - keep-alive + content-length: + - '69' + content-type: + - application/json; charset=utf-8 + access-control-allow-origin: + - "*" + cache-control: + - no-cache, no-store, must-revalidate, private + expires: + - '0' + pragma: + - no-cache + timing-allow-origin: + - https://www.twitch.tv + date: + - Sun, 05 Apr 2020 12:57:05 GMT + x-served-by: + - cache-sea4436-SEA, cache-hel6824-HEL + x-cache: + - MISS, MISS + x-cache-hits: + - 0, 0 + x-timer: + - S1586091425.222506,VS0,VS0,VE193 + vary: + - Accept-Encoding + strict-transport-security: + - max-age=300 + body: + encoding: UTF-8 + string: '{"error":"Unauthorized","status":401,"message":"invalid oauth token"}' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:05 GMT +- request: + method: post + uri: https://id.twitch.tv/oauth2/token + body: + encoding: UTF-8 + string: client_id=&client_secret=&grant_type=refresh_token&refresh_token + headers: + User-Agent: + - Faraday v1.0.1 + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 400 + message: Bad Request + headers: + date: + - Sun, 05 Apr 2020 12:57:06 GMT + content-type: + - application/json + content-length: + - '49' + connection: + - keep-alive + server: + - nginx/1.14.1 + access-control-allow-origin: + - "*" + x-ctxlog-logid: + - 1-5e89d5a2-38f8b38834919888549db9e0 + body: + encoding: UTF-8 + string: '{"status":400,"message":"missing refresh token"} + + ' + http_version: null + recorded_at: Sun, 05 Apr 2020 12:57:06 GMT +recorded_with: VCR 5.1.0 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d3f7dcf..22bf024 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,7 +1,69 @@ -require 'rspec' -require 'twitch' +# frozen_string_literal: true -RSpec.configure do |config| - config.color = true - config.formatter = 'documentation' +require 'pry-byebug' + +require 'simplecov' +SimpleCov.start + +ENV['TWITCH_CLIENT_ID'] ||= '' +ENV['TWITCH_CLIENT_SECRET'] ||= '' +ENV['TWITCH_ACCESS_TOKEN'] ||= '' +ENV['TWITCH_REFRESH_TOKEN'] ||= '' + +require 'vcr' + +VCR.configure do |config| + config.cassette_library_dir = "#{__dir__}/cassettes" + config.default_cassette_options = { record_on_error: false } + config.hook_into :faraday + config.configure_rspec_metadata! + + config.filter_sensitive_data('') do + ENV['TWITCH_CLIENT_ID'] + end + + config.filter_sensitive_data('') do + ENV['TWITCH_CLIENT_SECRET'] + end + + config.filter_sensitive_data('') do + ENV['TWITCH_ACCESS_TOKEN'] + end + + config.filter_sensitive_data('') do + ENV['TWITCH_REFRESH_TOKEN'] + end + + config.filter_sensitive_data('') do |interaction| + URI.decode_www_form(interaction.request.body).to_h['code'] + end + + config.filter_sensitive_data('') do |interaction| + if interaction.response.headers['content-type'].include? 'application/json' + JSON.parse(interaction.response.body)['access_token'] + end + end + + config.filter_sensitive_data('') do |interaction| + if interaction.response.headers['content-type'].include? 'application/json' + JSON.parse(interaction.response.body)['refresh_token'] + end + end +end + +require_relative '../lib/twitch' + +Retriable.configure do |config| + # config.tries = 1 + config.base_interval = 0 + + config.contexts.transform_values do |context| + # context[:tries] = 1 + context[:base_interval] = 0 + end end + +# [Twitch, TwitchOAuth2].each do |lib| +# lib::Client::CONNECTION +# .response :logger, nil, { headers: true, bodies: true } +# end diff --git a/spec/twitch/client_spec.rb b/spec/twitch/client_spec.rb new file mode 100644 index 0000000..b63b615 --- /dev/null +++ b/spec/twitch/client_spec.rb @@ -0,0 +1,870 @@ +# frozen_string_literal: true + +describe Twitch::Client do + subject(:client) do + described_class.new( + client_id: client_id, + client_secret: client_secret, + redirect_uri: redirect_uri, + scopes: scopes, + access_token: access_token, + refresh_token: refresh_token + ) + end + + let(:client_id) { ENV['TWITCH_CLIENT_ID'] } + let(:client_secret) { ENV['TWITCH_CLIENT_SECRET'] } + let(:redirect_uri) { 'http://localhost' } + + let(:scopes) do + %w[ + user:read:email + bits:read + user_read + channel_read + channel_editor + channel_commercial + channel_stream + user_blocks_edit + ] + end + let(:scope_string) { scopes.join(' ') } + + let(:user_id) { ENV['TWITCH_USER_ID'] } + let(:access_token) { ENV['TWITCH_ACCESS_TOKEN'] } + let(:refresh_token) { ENV['TWITCH_REFRESH_TOKEN'] } + + let(:name) { a_string_matching(/^\w+$/) } + let(:game) { String } + let(:language) { a_string_matching(/^[a-z]{2}$/) } + let(:locale) { a_string_matching(/^[a-z]{2}-[a-z]{2}$/) } + + let(:expected_team) do + { + _id: a_value > 0, + created_at: Time, + display_name: String, + info: String, + name: name, + updated_at: Time + } + end + + let(:expected_user) do + { + _id: a_string_matching(/^\d+$/), + created_at: Time, + display_name: name, + name: name, + updated_at: Time + } + end + + let(:expected_channel) do + expected_user.merge( + broadcaster_software: String, + broadcaster_type: String, + description: String, + followers: a_value >= 0, + language: language, + mature: boolean, + partner: boolean, + url: a_string_matching(%r{^https://www\.twitch\.tv/\w+$}), + views: a_value >= 0 + ) + end + + let(:expected_images) do + { + large: String, + medium: String, + small: String, + template: String + } + end + + let(:expected_stream_or_video) do + { + _id: a_value > 0, + channel: a_hash_including( + expected_channel.merge(_id: Integer) + ), + created_at: Time, + game: game, + preview: expected_images + } + end + + let(:expected_stream) do + expected_stream_or_video.merge( + average_fps: a_value >= 0, + broadcast_platform: 'live', + delay: a_value >= 0, + stream_type: 'live', + video_height: a_value > 0, + viewers: a_value >= 0 + ) + end + + let(:expected_body_with_streams) do + { + streams: a_collection_including( + a_hash_including(expected_stream) + ) + } + end + + let(:expected_video) do + expected_stream_or_video.merge( + _id: a_string_matching(/^v\d+$/), + language: language, + length: a_value > 0, + published_at: Time, + status: String, + title: String, + url: String, + views: a_value >= 0 + ) + end + + let(:response_descriptions) { %w[#body #status #success?] } + + def example_group_descriptions(example_group) + example_group_description = example_group.description + example_group_description = nil if response_descriptions.include?(example_group_description) + return if example_group_description == described_class.name + + [send(__method__, example_group.superclass), example_group_description] + .compact + end + + around do |example| + cassette_name = + example_group_descriptions(example.example_group) + .join('/').delete('#?').downcase.tr(' ', '_') + VCR.use_cassette(cassette_name) do + example.run + end + end + + shared_examples 'success' do + subject { response.success? } + + it { is_expected.to be true } + end + + shared_examples 'correct behavior with actual or outdated access_token' do + context 'with actual access_token' do + include_examples 'correct behavior' + end + + context 'with outdated access_token' do + let(:access_token) { '9y7bf00r4fof71czggal1e2wlo50q3' } + + context 'with refresh_token' do + include_examples 'correct behavior' + end + + context 'without refresh_token' do + let(:refresh_token) { nil } + + it do + expect { response }.to raise_error( + TwitchOAuth2::Error, 'missing refresh token' + ) + end + end + end + end + + shared_examples 'correct behavior with retries' do + context 'with connection timed out errors' do + before do + connection = client.instance_variable_get(:@connection) + + ## https://github.com/lostisland/faraday/blob/c26df87/lib/faraday/connection.rb#L195-L204 + requested_times = 0 + allow(connection).to receive(:run_request).and_wrap_original do |m, *args| + requested_times += 1 + + raise timed_out_error if requested_times <= number_of_fails + + m.call(*args) + end + end + + let(:timed_out_error) do + Errno::ETIMEDOUT.new('connect(2) for "api.twitch.tv" port 443') + end + + context 'when fails less than retries' do + let(:number_of_fails) { 3 } + + include_examples 'correct behavior' + end + + context 'when fails more than retries' do + let(:number_of_fails) { 7 } + + it do + expect { response }.to raise_error timed_out_error + end + end + end + + context 'with 5xx HTTP errors' do + before do + connection = client.instance_variable_get(:@connection) + + ## `connection.adapter` is a class + allow(connection.adapter).to receive(:build).and_wrap_original do |build_m, *build_args| + adapter = build_m.call(*build_args) + + requested_times = 0 + + # rubocop:disable Metrics/ParameterLists + allow(adapter).to receive(:save_response).and_wrap_original do | + save_response_m, env, status, body, headers, *save_response_args, &block + | + requested_times += 1 + + save_response_m.call( + env, + requested_times > number_of_fails ? status : error_status, + body, + headers, + *save_response_args, + &block + ) + end + # rubocop:enable Metrics/ParameterLists + + adapter + end + end + + let(:error_status) { 503 } + + context 'when fails less than retries' do + let(:number_of_fails) { 3 } + + include_examples 'correct behavior' + end + + context 'when fails more than retries' do + let(:number_of_fails) { 7 } + + it do + expect { response }.to raise_error Twitch::ServerError, "Server Error #{error_status}" + end + end + end + end + + shared_examples 'correct behavior for HTML response' do + context 'with HTML responses' do + let(:response_body) do + <<~HTML + + + Test + + +

Hello, world!

+ + + HTML + end + + before do + connection = client.instance_variable_get(:@connection) + + allow(connection.adapter).to receive(:build).and_wrap_original do |build_m, *build_args| + adapter = build_m.call(*build_args) + + # rubocop:disable Metrics/ParameterLists + allow(adapter).to receive(:save_response).and_wrap_original do | + save_response_m, env, status, _body, headers, *save_response_args, &block + | + save_response_m.call( + env, status, response_body, headers, *save_response_args + ) do |response_headers| + block.call response_headers + response_headers['content-type'] = 'text/html; charset=UTF-8' + end + end + # rubocop:enable Metrics/ParameterLists + + adapter + end + end + + describe 'response.body' do + subject { response.body } + + it { is_expected.to eq response_body } + end + end + end + + describe '#user' do + subject(:response) { client.user(user_id) } + + context 'with argument' do + let(:user_id) { '44322889' } + let(:name) { 'dallas' } + + shared_examples 'correct behavior' do + include_examples 'success' + + describe '#body' do + subject { response.body } + + it { is_expected.to include expected_user } + end + end + + include_examples 'correct behavior with retries' + + include_examples 'correct behavior for HTML response' + end + + context 'without argument' do + let(:user_id) { nil } + let(:name) { a_string_matching(/^\w+$/) } + + shared_examples 'correct behavior' do + include_examples 'success' + + describe '#body' do + subject { response.body } + + it { is_expected.to include expected_user } + end + end + + include_examples 'correct behavior with actual or outdated access_token' + end + end + + describe '#teams' do + subject(:response) { client.teams } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it do + expect(body).to match( + teams: a_collection_including( + a_hash_including(expected_team) + ) + ) + end + end + end + + describe '#team' do + subject(:response) { client.team(team) } + + let(:team) { 'eg' } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_team } + end + end + + describe '#channel' do + subject(:response) { client.channel(channel_id) } + + context 'with argument' do + let(:channel_id) { '44322889' } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_channel } + end + end + + context 'without argument' do + let(:channel_id) { nil } + + shared_examples 'correct behavior' do + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_channel } + end + end + + include_examples 'correct behavior with actual or outdated access_token' + end + end + + describe '#update_channel' do + subject(:response) do + client.update_channel(user_id, status: status, game: game) + end + + let(:status) { 'Changing API' } + let(:game) { 'Diablo III' } + + shared_examples 'correct behavior' do + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + let(:expected_body) do + expected_channel.merge( + game: game, + status: status + ) + end + + it { is_expected.to include expected_body } + end + end + + include_examples 'correct behavior with actual or outdated access_token' + end + + # describe '#run_commercial' do + # subject { super().run_commercial(channel) } + # + # it { is_expected.to eq 200 } + # end + + describe '#stream' do + subject(:response) { client.stream(channel_id) } + + let(:channel_id) { '44741426' } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to match stream: a_hash_including(expected_stream) } + end + end + + describe '#streams' do + subject(:response) { client.streams(options) } + + context 'without options' do + let(:options) { {} } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to match expected_body_with_streams } + end + end + + context 'with game' do + let(:game) { 'League of Legends' } + let(:options) { { game: game } } + + let(:expected_stream) { super().merge(game: game) } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to match expected_body_with_streams } + end + end + end + + describe '#featured_streams' do + subject(:response) { client.featured_streams(options) } + + let(:options) { { limit: limit }.compact } + + context 'without limit' do + let(:limit) { nil } + + include_examples 'success' + + describe 'count of items in response' do + subject { response.body[:featured].count } + + let(:response_descriptions) { super().push self.class.description } + + it { is_expected.to eq 25 } + end + end + + context 'with limit' do + let(:limit) { 33 } + + include_examples 'success' + + describe 'count of items in response' do + subject { response.body[:featured].count } + + let(:response_descriptions) { super().push self.class.description } + + it { is_expected.to eq limit } + end + end + end + + describe '#badges' do + subject(:response) { client.badges(channel_id) } + + let(:channel_id) { '44322889' } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + def link_to_file(ext) + a_string_matching(%r{^https?://[\w\-./]+\.#{ext}$}) + end + + let(:link_to_png) { link_to_file('png') } + let(:link_to_svg) { link_to_file('svg') } + + let(:typical_links) do + { + alpha: link_to_png, + image: link_to_png, + svg: link_to_svg + } + end + + let(:expected_body) do + { + admin: typical_links, + broadcaster: typical_links, + global_mod: typical_links, + mod: typical_links, + staff: typical_links, + turbo: typical_links + } + end + + it { is_expected.to include expected_body } + end + end + + ## > Caution: This endpoint returns a large amount of data. + ## https://dev.twitch.tv/docs/v5/reference/chat#get-all-chat-emoticons + + # describe '#emoticons' do + # subject(:response) { client.emoticons } + # + # include_examples 'success' + # + # describe '#body' do + # subject(:body) { response.body } + # + # let(:expected_emoticon) do + # { + # id: a_value > 0, + # regex: String, + # images: a_collection_including( + # a_hash_including( + # width: a_value > 0, + # height: a_value > 0, + # url: String, + # emoticon_set: a_value > 0 + # ) + # ) + # } + # end + # + # it do + # expect(body).to include( + # emoticons: a_collection_including( + # a_hash_including(expected_emoticon) + # ) + # ) + # end + # end + # end + + describe '#following' do + subject(:response) { client.following(channel_id, options) } + + let(:channel_id) { '44322889' } + + let(:expected_body) do + { + _total: a_value > 0, + follows: a_collection_including( + created_at: Time, + notifications: boolean, + user: a_hash_including(expected_user) + ) + } + end + + context 'without options' do + let(:options) { {} } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_body } + end + end + + context 'with options' do + let(:options) { { offset: 25, limit: 25 } } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_body } + end + end + end + + describe '#followed' do + subject(:response) { client.followed(user_id) } + + let(:user_id) { '44322889' } + + let(:expected_body) do + { + _total: a_value > 0, + follows: a_collection_including( + created_at: Time, + notifications: boolean, + channel: a_hash_including(expected_channel) + ) + } + end + + context 'without options' do + let(:options) { {} } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_body } + end + end + + context 'with options' do + let(:options) { { offset: 25, limit: 25 } } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include expected_body } + end + end + end + + describe '#follow_status' do + subject(:response) { client.follow_status(user_id, channel_id) } + + context 'when follows' do + let(:user_id) { '117474239' } + let(:channel_id) { '128644134' } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + let(:expected_body) do + { + created_at: Time, + notifications: boolean, + channel: a_hash_including( + expected_channel.merge(_id: a_value > 0) + ) + } + end + + it { is_expected.to match expected_body } + end + end + + context 'when does not follow' do + let(:user_id) { '44322889' } + let(:channel_id) { '129454141' } + + describe '#status' do + subject { response.status } + + it { is_expected.to eq 404 } + end + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to include status: 404, error: 'Not Found' } + end + end + end + + describe '#ingests' do + subject(:response) { client.ingests } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + let(:expected_ingest) do + { + _id: a_value > 0, + availability: Float, + default: boolean, + name: String, + url_template: String + } + end + + it do + expect(body).to match( + ingests: a_collection_including( + expected_ingest + ) + ) + end + end + end + + describe '#root' do + subject(:response) { client.root } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + let(:expected_body) do + { + token: { + authorization: { + created_at: Time, + scopes: scopes.sort, + updated_at: Time + }, + client_id: client_id, + expires_in: Integer, + user_id: user_id, + user_name: name, + valid: boolean + } + } + end + + it { is_expected.to match expected_body } + end + end + + describe '#followed_streams' do + subject(:response) { client.followed_streams } + + shared_examples 'correct behavior' do + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it { is_expected.to match expected_body_with_streams } + end + end + + include_examples 'correct behavior with actual or outdated access_token' + end + + describe '#followed_videos' do + subject(:response) { client.followed_videos } + + shared_examples 'correct behavior' do + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it do + expect(body).to match( + videos: a_collection_including( + a_hash_including(expected_video) + ) + ) + end + end + end + + include_examples 'correct behavior with actual or outdated access_token' + end + + describe '#top_games' do + subject(:response) { client.top_games } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + let(:expected_body) do + { + _total: a_value >= 0, + top: a_collection_including( + channels: a_value >= 0, + game: a_hash_including( + _id: a_value > 0, + locale: locale, + localized_name: String, + logo: expected_images, + name: String + ), + viewers: a_value >= 0 + ) + } + end + + it { is_expected.to match expected_body } + end + end + + describe '#top_videos' do + subject(:response) { client.top_videos } + + include_examples 'success' + + describe '#body' do + subject(:body) { response.body } + + it do + expect(body).to match( + vods: a_collection_including( + a_hash_including(expected_video) + ) + ) + end + end + end +end diff --git a/spec/twitch_spec.rb b/spec/twitch_spec.rb deleted file mode 100644 index 6b788fa..0000000 --- a/spec/twitch_spec.rb +++ /dev/null @@ -1,234 +0,0 @@ -require 'spec_helper' - -describe Twitch do - - before(:each) do - @client_id = "" - @secret_key = "" - @redirect_uri = "http://localhost:3000/auth" - @scope = ["user_read", "channel_read", "channel_editor", "channel_commercial", "channel_stream", "user_blocks_edit"] - @scope_str = "" - @scope.each{ |s| @scope_str += s + "+" } - @access_token = "" - end - - it 'should build accurate link' do - @t = Twitch.new({ - :client_id => @client_id, - :secret_key => @secret_key, - :redirect_uri => @redirect_uri, - :scope => ["user_read", "channel_read", "channel_editor", "channel_commercial", "channel_stream", "user_blocks_edit"] - }) - expect( @t.link ).to eq "https://api.twitch.tv/kraken/oauth2/authorize?response_type=code&client_id=#{@client_id}&redirect_uri=#{@redirect_uri}&scope=#{@scope_str}" - end - - it 'should get user (not authenticated)' do - @t = Twitch.new() - expect( @t.user("day9")[:response] ).to eq 200 - end - - it 'should get user (authenticated)' do - @t = Twitch.new({:access_token => @access_token}) - expect( @t.user("day9")[:response] ).to eq 200 unless @access_token.empty? - end - - it 'should get authenticated user' do - @t = Twitch.new({:access_token => @access_token}) - expect( @t.user()[:response] ).to eq 200 unless @access_token.empty? - end - - it 'should not get authenticated user when not authenticated' do - @t = Twitch.new() - expect( @t.user() ).to eq false - end - - it 'should get all teams' do - @t = Twitch.new() - expect( @t.teams()[:response] ).to eq 200 - end - - it 'should get single team' do - @t = Twitch.new() - expect( @t.team("eg")[:response] ).to eq 200 - end - - it 'should get single channel' do - @t = Twitch.new() - expect( @t.channel("day9tv")[:response] ).to eq 200 - end - - it 'should get channel panels' do - @t = Twitch.new() - expect( @t.channel_panels("esl_csgo")[:response] ).to eq 200 - end - - it 'should get your channel' do - @t = Twitch.new({:access_token => @access_token}) - expect( @t.channel()[:response] ).to eq 200 unless @access_token.empty? - end - - it 'should edit your channel' do - @t = Twitch.new({:access_token => @access_token}) - expect( @t.edit_channel("Changing API", "Diablo III")[:response] ).to eq 200 unless @access_token.empty? - end - - # it 'should run a comercial on your channel' do - # @t = Twitch.new({:access_token => @access_token}) - # expect( @t.runCommercial("dustinlakin")[:response] ).to eq 204 - # end - - it 'should get a single user stream' do - @t = Twitch.new() - expect( @t.stream("nasltv")[:response] ).to eq 200 - end - - it 'should get all streams' do - @t = Twitch.new() - expect( @t.streams()[:response] ).to eq 200 - end - - it 'should get League of Legends streams with +' do - @t = Twitch.new() - expect( @t.streams({:game => "League+of+Legends"})[:response] ).to eq 200 - end - - it 'should get League of Legends streams with spaces' do - @t = Twitch.new() - expect( @t.streams({:game => "League of Legends"})[:response] ).to eq 200 - end - - it 'should get featured streams' do - @t = Twitch.new() - res = @t.featured_streams() - - expect(res[:response] ).to eq 200 - expect(res[:body]["featured"].length ).to eq 25 - end - - it 'should get more featured streams' do - @t = Twitch.new() - res = @t.featured_streams({:limit => 100}) - - expect(res[:response] ).to eq 200 - expect(res[:body]["featured"].length).to be > 25 - end - - it 'should get chat links' do - @t = Twitch.new() - expect( @t.chat_links("day9tv")[:response] ).to eq 200 - end - - it 'should get chat badges' do - @t = Twitch.new() - expect( @t.badges("day9tv")[:response] ).to eq 200 - end - - it 'should get chat emoticons' do - @t = Twitch.new() - expect( @t.emoticons()[:response] ).to eq 200 - end - - it 'should get channel followers' do - @t = Twitch.new() - expect( @t.following("day9tv")[:response] ).to eq 200 - end - - it 'should get channel followers with page 2' do - @t = Twitch.new() - expect( @t.following("day9tv", offset: 25, limit: 25)[:response] ).to eq 200 - end - - it 'should get channels followed by user' do - @t = Twitch.new() - expect( @t.followed("day9")[:response] ).to eq 200 - end - - it 'should get channels followed by user with page 2' do - @t = Twitch.new() - expect( @t.followed("day9", offset: 25, limit: 25)[:response] ).to eq 200 - end - - it 'should get status of user following channel' do - @t = Twitch.new() - expect( @t.follow_status("day9", "day9tv")[:response] ).to eq 404 - end - - it 'should get ingests' do - @t = Twitch.new() - expect( @t.ingests[:response] ).to eq 200 - end - - it 'should get root' do - @t = Twitch.new() - expect( @t.root[:response] ).to eq 200 - end - - it 'should get your followed streams' do - @t = Twitch.new() - expect( @t.followed_streams() ).to eq false - end - - it 'should get your followed videos' do - @t = Twitch.new() - expect( @t.followed_videos() ).to eq false - end - - it 'should get top games' do - @t = Twitch.new() - expect( @t.top_games[:response] ).to eq 200 - end - - it 'should get top videos' do - @t = Twitch.new() - expect( @t.top_videos[:response] ).to eq 200 - end - - it 'should have a default adapter' do - t = Twitch.new - - expect( t.adapter ).to eq(Twitch::Adapters::HTTPartyAdapter) - end - - it 'should work with a different adapter (open-uri).' do - require 'open-uri' - - module Twitch - module Adapters - class OpenURIAdapter < BaseAdapter - def self.request(method, url, options={}) - if (method == :get) - ret = {} - - open(url) do |io| - ret[:body] = JSON.parse(io.read) - ret[:response] = io.status.first.to_i - end - - ret - end - end - end # class OpenURIAdapter - end # module Adapters - end # module Twitch - - t = Twitch.new adapter: Twitch::Adapters::OpenURIAdapter - - res = t.featured_streams - - expect( res[:response] ).to eq 200 - expect( res[:body]["featured"].length ).to eq 25 - end - - it "should fall-back to the default adapter when passed an invalid adapter" do - expect( Twitch.new( adapter: false ).adapter ).to eq( Twitch::Adapters::DEFAULT_ADAPTER ) - expect( Twitch.new( adapter: 100 ).adapter ).to eq( Twitch::Adapters::DEFAULT_ADAPTER ) - expect( Twitch.new( adapter: :bad_constant ).adapter ).to eq( Twitch::Adapters::DEFAULT_ADAPTER ) - - t = Twitch.new - t.adapter = nil - - expect( t.adapter ).to eq( Twitch::Adapters::DEFAULT_ADAPTER ) - end - -end - diff --git a/twitch.gemspec b/twitch.gemspec index 4a44f48..b610079 100644 --- a/twitch.gemspec +++ b/twitch.gemspec @@ -1,21 +1,31 @@ -$:.push File.expand_path("../lib", __FILE__) +# frozen_string_literal: true -require "twitch/version" +require_relative 'lib/twitch/version' Gem::Specification.new do |s| s.name = 'twitch' - s.version = Twitch::VERSION::STRING - s.date = Date.today.to_s - s.summary = "Twitch API" + s.version = Twitch::VERSION + s.summary = 'Twitch API' s.description = "Simplify Twitch's API for Ruby" - s.authors = ["Dustin Lakin"] + s.authors = ['Dustin Lakin'] s.email = 'dustin.lakin@gmail.com' - s.homepage = "https://github.com/dustinlakin/twitch-rb" + s.homepage = 'https://github.com/dustinlakin/twitch-rb' - s.files = Dir["lib/**/*"] - s.require_paths = ["lib"] - - s.add_dependency('httparty') - s.add_dependency('json') - s.add_development_dependency('rspec') + s.files = Dir['lib/**/*'] + s.require_paths = ['lib'] + + s.required_ruby_version = '~> 2.4' + + s.add_runtime_dependency 'faraday', '~> 1.0' + s.add_runtime_dependency 'faraday_middleware', '~> 1.0' + s.add_runtime_dependency 'retriable', '~> 3.0' + s.add_runtime_dependency 'twitch_oauth2', '~> 0.2.0' + + s.add_development_dependency 'pry-byebug', '~> 3.9' + s.add_development_dependency 'rspec', '~> 3.9' + s.add_development_dependency 'rubocop', '~> 0.89.0' + s.add_development_dependency 'rubocop-performance', '~> 1.5' + s.add_development_dependency 'rubocop-rspec', '~> 1.38' + s.add_development_dependency 'simplecov', '~> 0.18.0' + s.add_development_dependency 'vcr', '~> 6.0' end